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

在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>

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...