私はあなたの助けが必要です私は過去2日間これに行き詰まっていました.別のアクティビティからこのAsyncTaskを呼び出して返された文字列を取得しようとしていますが、ネットとSOでいくつかの投稿を読んだ後、できません.やれ。誰かが私が何をする必要があるかを指摘したり、非常に生意気なコードを投稿して説明したりして、何が起こっているのかを知ることができます. 本当に助かりました!
例えば
String jsonString = //returned string from AsyncTask
public class processJSON extends AsyncTask<Object, Void, String>{
private Context context;
public processJSON (Context context){
this.context = context;
}
@Override
protected String doInBackground(Object... params) {
int location_id = (Integer) params[0];
String url = (String) params[1];
InputStream in = null;
String result = "";
JSONObject jArray = null;
String newURL = url + "?location_id=" + location_id;
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
HttpResponse response;
JSONObject json = new JSONObject();
try{
HttpPost post = new HttpPost(newURL);
//json.put("location_id", location_id);
StringEntity se = new StringEntity(json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
response = client.execute(post);
if (response != null) {
in = response.getEntity().getContent();
}
}catch (Exception e) {
Log.e("Send JSON", "ERROR: " + e);
e.printStackTrace();
}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
in.close();
result = sb.toString();
}catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
return result;
}
}