在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, Void, 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(), Void, What type of return value you need to return to onPostExcute()>
可能您不需要在方法声明中更改返回值和参数。
只需创建以下行
private class AddAsyncTask extends AsyncTask<String, Void, JSONOnject>
方法将根据您在中提到的参数和返回类型自动创建
private class AddAsyncTask extends AsyncTask<String, Void, JSONOnject>
问题内容: 我有一个Asynctask,它检索两个int值,并且我想将它们传递给onPostExecute以在视图上显示它们。 这是我的代码: 先感谢您。 问题答案: 您可以定义一个Wrapper类,其中包含两个整数: 并用它代替:
问题内容: 我试图通过以下方式获取JSON对象: 以下是处理所有HTTP请求的一般方法 处理JSON结果的方法如下: 我想问一下如何以异步方式取回JSONObject(第一个代码段)。 所有请求均使用Volley库处理。 非常感谢您的任何建议。 问题答案: 供您评论 我认为异步是由Volley自动提供的。所以我需要知道如何将JSON数据放入第一个片段中 IMO,而不是您的第一个片段,您可以尝试以下
我正试图在android工作室中建立一个非常基本的天气应用程序。我正在使用AsyncClass返回多个字符串。 正如您在代码中看到的,我使用了一个名为“wrapper”的类,用于存储字符串,这样我就可以返回一个类对象,并在AsyncTask的onPostExecute方法中使用它。我面临的问题是,当我测试应用程序时,所有返回的字符串都是未定义的(包装类的默认值)。这意味着没有在doInBackgr
我正在尝试在我的应用程序中获取地震数据,结果我的应用停止工作。我的代码中没有错误。甚至我也添加了互联网权限。但当获取数据时,我认为会发生这种错误。我已调试过,但找不到问题。 日志猫: 2021-03-27 15:23:32.118 9533-9560/com . example . quakereportapp E/eglCodecCommon:glUtilsParamSize:unknow pa
问题内容: 我正在尝试找出创建AsyncTask的正确方法,以从Internet检索一些数据,然后将这些数据打包并捆绑到Intent中,然后将其传递给新的活动(列表显示)。因此,在第一个活动中,我只有一个EditText和Button。在发生OnClick的情况下,应调用任务,并在完成任务后将数据捆绑到Intent中并传递给下一个Activity。问题是当我从onPostExecute获取结果并将
问题内容: 我想使用AsyncTask从服务器获取Ftp文件夹列表,并将文件夹名称ArrayList返回到主类并更新微调适配器。 在主班我有带适配器的微调器 在AsyncTask中: 那么我应该如何用主类中的ArrayList替换AsyncTask中的arraylist并动态更新Spinner Updater? 问题答案: 您已经将ArrayList 设为 static ,也将其设为public。