Я пишу приложение, которое проверяет учетные данные для входа на внешний веб-сервер, поэтому у меня есть основная проблема создания экрана входа, который при отправке отправит HTTP-запрос на сервер в фоновом режиме и не приведет к зависанию пользовательского интерфейса - обеспечивая пользователю ProgressDialog.
Моя проблема заключается в том, что я хочу написать общий класс HTTP-запроса, который расширяет AsyncTask, поэтому, когда я вызываю .execute()
, я передам параметры String, которые могут содержать что-то вроде "post", и когда вызывается doInBackground
это увидит строку "post", а затем переадресует эти параметры на соответствующий вызов в моем классе. Псевдокод будет что-то вроде
public class HTTPOperations extends AsyncTask<String, Void, String>
{
doInBackground(String... string1,additionalParams)
{
if string1.equals "post"
response = httpPost(additionalParams)
return response;
}
httpPost(params)
{
// do http post request
}
}
Это все, о чем я мог подумать, кроме создания класса для каждого запроса HTTP Post/GET и т.д. Я хочу создать и расширить ASyncTask...
Что приводит меня к моей следующей проблеме, если HTTP POST успешна и возвращает токен аутентификации, как мне получить доступ к этому токену?
Поскольку новый httpOperations.execute() не возвращает строку из doInBackground, но значение типа
Извините, если это не имеет смысла, я не могу понять это вообще. Если вам это нужно, спросите его. Проекты и идеи дизайна AsyncTask очень приветствуются.