我有一個MainActivity類,我從中調用JsonObj類的一個實例。 JsonObj擴展了AsynchTask。它的下面粘貼:Android AsynchTask數據返回到活動
public class JsonObj extends AsyncTask<String, Void, JSONObject>{
int tid;
String term;
@Override
protected JSONObject doInBackground(String... url) {
// TODO Auto-generated method stub
DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
HttpPost httppost = new HttpPost(url[0]);
JSONObject jsonObject = null;
// Depends on your web service
httppost.setHeader("Content-type", "application/json");
InputStream inputStream = null;
String result = null;
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
inputStream = entity.getContent();
// json is UTF-8 by default
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null){
sb.append(line + "\n");
}
result = sb.toString();
// Log.e("JSON-Test [RESULT]: ", result);
jsonObject = new JSONObject(result);
} catch (Exception e) {
Log.e("JSON-Test [exception]: ", e.toString());
}
finally {
try{if(inputStream != null)inputStream.close();}catch(Exception squish){}
}
return jsonObject;
}
@Override
protected void onPostExecute(JSONObject result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
}
}
我想實現是的AsyncTask類,我可以將獲取並從我的服務器返回JSON的任何活動調用。
我的問題是我的AsyncTask類成功獲取我的JSON,但我努力地將它傳遞迴我的Activity。
我知道OnPostExecute函數返回完成我的AsyncTask的數據,但我所有嘗試訪問我的Activity類中的數據都不起作用。
我正在使用new JsonObj().execute("http://myserver/json");
來調用我的JsonObj類。
如何調用OnpostExecute直接訪問數據我的AsynchTask從我的服務器獲取或什麼是更好的解決方案這個問題?