android 服务器异步回调,android – 如何从异步任务返回结果

参见英文答案 >

How to get the result of OnPostExecute() to main activity because AsyncTask is a separate class?                                    16个

我一直在使用异步任务来访问Web服务器并使用结果更新控件.这有缺点,即它使异步方法特定于控制并使我再次使用返回的字符串.

如何从异步调用onPostExecute返回结果字符串?我怎么称呼它?我似乎无法让我的代码能够做到这一点.线程应该没有问题,因为我有一个冻结UI的对话框,直到完成工作.

我的典型asyncTask代码如下

class GetDataFromServer extends AsyncTask

{

* */

// Progress Dialog

private ProgressDialog qDialog;

private Context context;

private String dialogString;

private ArrayList newLoginResult;

// JSON parser class

String url_newGame ="http://xxxxxx.php";

public myAsyncMethos(String dialogMessage, Context con)

{

this.qDialog = new ProgressDialog(con);

this.dialogString = dialogMessage;

this.context = con;

}

/**

* Before starting background thread Show Progress Dialog

* */

@Override

protected void onPreExecute()

{

super.onPreExecute();

qDialog = new ProgressDialog(this.context);

qDialog.setMessage(this.dialogString);

qDialog.setIndeterminate(false);

qDialog.setCancelable(false);

qDialog.show();

}

@Override

protected JSONObject doInBackground(String... args)

{

//MAKE SERVER CALL and cast to JSONOBject

return jsonNewUser;

}

public void onPostExecute(JSONObject jsonString)

{

// dismiss the dialog after getting response

qDialog.dismiss();

//I WANT TO RETURN A STRING HERE BUT KEEP GETTING SYNTAX ERRORS BEFORE RUNTIME

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值