加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在AsyncTask上将doInBackground()方法中的JSONObject返回到o

发布时间:2020-12-16 19:49:25 所属栏目:百科 来源:网络整理
导读:在Android应用程序中,我想从doInBackground()方法返回JSONObject到onPostExecute()方法. 这是代码: private class AddAsyncTask extends AsyncTaskString,Void,String { JSONObject jsonObjRecv; String result; @Override protected JSONObject doInBackgr
在Android应用程序中,我想从doInBackground()方法返回JSONObject到onPostExecute()方法.
这是代码:
private class AddAsyncTask extends AsyncTask<String,Void,String>
     {
         JSONObject jsonObjRecv;
         String result;

    @Override
    protected JSONObject doInBackground(JSONObject... params) {
        AssetObj assetObj = new AssetObj();
        assetObj.setAssetName(txtname.getText().toString());
        assetObj.setMobileNo(txtmobile.getText().toString());
        assetObj.setOwnerId(myApp.getOwnerId());
        assetObj.setStartTime(startTime.getText().toString());
        assetObj.setEndTime(endTime.getText().toString());
        assetObj.setInterval(interval.getText().toString());
        JSONObject jsonObjRecv = SyncService.AddNewAssetRequest(assetObj);
        return jsonObjRecv;
     }
     protected void onPostExecute(JSONObject obj){
                    if(obj != null)
                    {
                        //do something
                    }

我试过这段代码我得到了错误.是否可以从doInBackground()方法返回JSONObject到onPostExecute()方法?

编辑:

这可以帮到你,

private class AddAsyncTask extends AsyncTask<String,JSONOnject>
 {
     JSONObject jsonObjRecv;
     String result;

@Override
protected JSONObject doInBackground(String... params) {
    AssetObj assetObj = new AssetObj();
    assetObj.setAssetName(txtname.getText().toString());
    assetObj.setMobileNo(txtmobile.getText().toString());
    assetObj.setOwnerId(myApp.getOwnerId());
    assetObj.setStartTime(startTime.getText().toString());
    assetObj.setEndTime(endTime.getText().toString());
    assetObj.setInterval(interval.getText().toString());
    JSONObject jsonObjRecv = SyncService.AddNewAssetRequest(assetObj);
 }
 protected void onPostExecute(JSONObject obj){
            if(obj != null)
            {
                //do something
            }

这是明确的,

private class AddAsyncTask extends AsyncTask<What type of input you need to pass to doInBackground(),What type of return value you need to return to onPostExcute()>

可能你不需要在方法声明中更改返回值和参数.

只需创建以下行

private class AddAsyncTask extends AsyncTask<String,JSONOnject>

将根据您提到的参数和返回类型自动创建方法

private class AddAsyncTask extends AsyncTask<String,JSONOnject>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读