Я пишу здесь, потому что это мое последнее решение для понимания этого типа программирования. Проблема в том, что я застрял в том, что использовать для обработки соединения с сервером и входа в систему. Должен ли я использовать async-задачу, обработчик или поток? Я не нашел конкретного ответа о том, какой из них использовать, только обнаружил, что асинхронная задача используется для загрузки изображений или других загружаемых материалов.Лучший способ сделать экран входа в систему
До сих пор я использовал поток для подключения к серверу. Проблема, с которой я столкнулась, заключалась в том, когда я поймаю исключение (поместите неверное имя пользователя/пароль) и попробуйте снова войти в систему. (Мне нужно было «закрыть» последний поток и снова запустить его)
После этого я начал использовать асинхронную задачу, но я действительно не понимаю, как это должно работать, и я застрял на тосте неправильного имени пользователя/пароля ,
private class connectStorage extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
api = DefaultClientFactory.create(host, getUser, getPassword);
if (api.getAuthToken().trim().length() > 3) {
//TO DO LAYOUT CHANGE;
}
} catch (StorageApiException e) {
e.printStackTrace();
Log.i("TEST", "" + e.getMessage());
}
return null;
}
Кроме того, я 100% уверен, что вызов раздуть в методе doInBackground
не будет работать тоже (там я хотел изменить свою деятельность).
Я запускаю задачу async при нажатии кнопки.