我已经创建了一个应用程序,我已经扩展了一个Activity并使用Asynctask从Web服务成功获得了响应,现在我想在除主活动之外的另一个类中执行收到的响应的Json解析。
怎么办?如何在单独的类中使用接收到的主活动的响应,因为在下一个类中,我只想使用从主类中获得的响应进行解析。
任何人都可以给我一个答案!
谢谢, 大卫
答案 0 :(得分:1)
您可以通过传递给构造函数或传递任何函数参数来将值发送到另一个类。
或者如果要将值传递给Asynctask类
public class abc extends Activity {
new AsynctaskClassName.execute(response);
}
Asynctask将是
public class AsynctaskClassNameextends AsyncTask <String, String, String> {
protected Z doInBackground(String... res){
...
response = res[0]
...
}
或者将值传递给另一个意图,最好通过
Intent.putExtra("response", response);
并通过
阅读 Bundle extras = getIntent().getExtras();
String response = extras.getString("response");
答案 1 :(得分:0)
您可以简单地创建一个新类
public class Parser
{
public static String rawJSON;
....
}
现在,在您的AsyncTask中,只需将JSON响应存储在Parser.rawJSON中,就像这样
protected Z doInBackground(X...x){
...
Parser.rawJSON=responseFromServer(URL);
...
}
&安培;你完成了!