我有這個代碼,並在MyAsyncOpenUrl我得到一個傑森和解析它來讀取服務器消息。我將它存儲在公共變量名稱消息中。但我的問題是if語句在服務器消息到達之前正在運行。我如何等待任務,直到我收到消息? 由我讀了in this question它似乎我可以使用get方法,但我不知道如何使用它? :(如何等待異步任務完成其工作?
message = "";
MyAsyncOpenUrl task1 = new MyAsyncOpenUrl("http://test.com/op.php");
try {
task1.execute(myURL).get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
//task1.onPostExecute(null);
if (message.equals("fail"))
Toast.makeText(getBaseContext(), "Operation faild!", Toast.LENGTH_LONG).show();
參考http://stackoverflow.com/questions/9671546/asynctask-android-example – Nikhil