我正在编写一个验证外部Web服务器上的登录凭据的应用程序 - 所以我有一个基本的问题:创建一个登录屏幕,当提交时会在后台向服务器发送HTTP请求而不会导致UI挂起 - 同时提供对用户的ProgressDialog.
我的问题在于,我想编写一个扩展AsyncTask的通用HTTP Request类,所以当我调用时,.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
}
}
Run Code Online (Sandbox Code Playgroud)
这是我能想到的,除了为我希望制作的每个HTTP Post/GET等请求创建一个类并扩展ASyncTask ...
这导致我的下一个问题,如果HTTP POST成功并返回一个身份验证令牌,我该如何访问此令牌?
因为新的httpOperations.execute(),不会从doInBackground返回字符串,而是返回值类型
对不起,如果这没有意义,我根本无法解决这个问题.如果需要,请索取详细说明.AsyncTask设计模式和想法受到了极大的欢迎.