我正在使用 asyncTask 来完成对服务器的 http 请求。
在这种特定情况下,我使用它来进行身份验证并登录到服务器:
代码:
public class Http extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// Make http reguest and then get response
return result;
}
protected void onPostExecute(String result) {
System.out.println("Downloaded " + result + " bytes");
}
现在在我的主要活动中,我打电话
Http httpGet = new Http();
String result = httpGet.execute(baseUrl + "app_dev.php/client/login/" + tableNo);
但现在显然是由于异步它在实际得到响应之前从方法返回。然后我需要分析。我的活动没有必要继续运行。
我应该只运行一个while循环检查一个变量是否已设置。并在我的异步类中更改完成后的变量?
这样做的正确方法是什么?