Android 如何在AsyncTask中从JSON创建新数据类型并将其发送到另一个活动。安卓
我是Android开发的新手,这一定是个简单的问题,但我想不出来。 我的应用程序获取以下格式的json:Android 如何在AsyncTask中从JSON创建新数据类型并将其发送到另一个活动。安卓,android,json,android-asynctask,Android,Json,Android Asynctask,我是Android开发的新手,这一定是个简单的问题,但我想不出来。 我的应用程序获取以下格式的json: [ { “src”:1, “标题”:“黑眼豌豆——让我们开始吧”, “id”:1, “插槽”:[0,10], “prev”:[0,1,2,3] }, { “src”:2, “标题”:“卡莉·雷·杰普森——也许可以打电话给我”, “id”:2, “插槽”:[0,10], “prev”:[0,1,2,3] }, { “src”:3, “标题”:“克里斯·克罗斯-跳跃”, “id”:3, “插槽”
[
{
“src”:1,
“标题”:“黑眼豌豆——让我们开始吧”,
“id”:1,
“插槽”:[0,10],
“prev”:[0,1,2,3]
},
{
“src”:2,
“标题”:“卡莉·雷·杰普森——也许可以打电话给我”,
“id”:2,
“插槽”:[0,10],
“prev”:[0,1,2,3]
},
{
“src”:3,
“标题”:“克里斯·克罗斯-跳跃”,
“id”:3,
“插槽”:[0,10],
“prev”:[0,1,2,3]
},..//几个相同的
]
然后我解析它
for(int i = 0; i<json.length(); i++)
{
JSONObject jo = (JSONObject) json.get(i);
String src = jo.getString("src");
String title = jo.getString("title");
String id = jo.getString("id");
//What should do next?
}
for(inti=0;i实现可解析类并将带有对象的意图发送给另一个活动
public class JSONDATA implements Parcelable {
private String src;
private String title;
private String id;
// Collect from json array
public JSONDATA(JSONObject jo) {
try {
String src = jo.getString("src");
String title = jo.getString("title");
String id = jo.getString("id");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Parcelable.Creator<JSONDATA> getCreator() {
return CREATOR;
}
//read from Intent;
private JSONDATA(Parcel in) {
src = in.readString();
title = in.readString();
id = in.readString();
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(src);
dest.writeString(title);
dest.writeString(id);
}
public static final Parcelable.Creator<JSONDATA> CREATOR = new Parcelable.Creator<JSONDATA>() {
public JSONDATA createFromParcel(Parcel in) {
return new JSONDATA(in);
}
public JSONDATA[] newArray(int size) {
return null;
}
};
}
Intent intent = new Intent();
JSONObject jo = (JSONObject) json.get(i);
JSONDATA data = new JSONDATA(jo);
intent.putExtra("DATA", data);
sendBroadCastIntent(i,"YOUR_ACTIVITY");