У меня есть функция, которая выполняется для аутентификации доступа пользователя при каждом запуске приложения. При каждом запуске идентификатор пользователя & отправляется на сервер для аутентификации, а при их аутентификации пользователь может использовать приложение.Заставить приложение ждать ответа http-ответа
Проблема I can not делает HTTP-вызовы по основному потоку. И над отдельной нитью я не могу остановиться, чтобы дождаться ответа.
Как я могу заставить приложение дождаться ответа на аутентификацию?
if (usrObj.authenticateUser()) {
Intent controllerActivity = new Intent("android.intent.action.Main");
startActivity(controllerActivity);
} else {
…
}
//User.java
public boolean authenticateUser() {
Thread thr_authenticateUser = new Thread(new Runnable() {
@Override
public void run() {
//Make HTTP authentication request and wait for the reply.
}
});
thr_authenticateUser.start();
return authenticationStatus;
}
' AsyncTask' с 'ProgressDialog' создаст Magic ..! – user370305
с использованием ProgressBar - рекомендуемый подход для указания прогресса, а затем скрытие его при завершении запроса.Также это может немного превысить верхний уровень, но подумайте о том, чтобы использовать Robospice или специализированную библиотеку для выполнения сетевых запросов, чтобы впоследствии сэкономить вам неприятности на https://github.com/stephanenicolas/robospice/wiki –