1.Gson 是解析 JSON 最简单的方法:
例如:
Gson gson = new Gson();
User user= gson.fromJson(jsonInString, User.class);
2.您有两种传递数据的方式:
1.FIRST当你想传递对象时,你可以使用 Parcelable
例如:
在对象
公共类用户实现 Parcelable {
@PrimaryKey
@SerializedName("id")
private int mId;
@SerializedName("phone")
private String mPhone;
@SerializedName("email")
private String mEmail;
public User() {
}
public User(String phone) {
mPhone = phone;
}
public void setPhone(String phone) {
this.mPhone = phone;
}
public void setEmail(String email) {
this.mEmail = email;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.mPhone);
dest.writeString(this.mEmail);
}
protected User(Parcel in) {
mPhone = in.readString();
mEmail = in.readString();
}
public static final Creator<User> CREATOR = new Creator<User>() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}
@Override
public User[] newArray(int size) {
return new User[size];
}
};
}
在第一个活动中:
Intent intent = new Intent(getActivity(), LoadActivity.class);
intent.putExtra(SELECTED_USER, mUser);
startActivity(intent);
在第二个活动中:
Bundle bundle=getIntent().getExtras();
User selectedUser=bundle.getParcelable(SELECTED_USER);
注意:SELECTED_USER 是一个常量字符串。
2.SECOND 当你想传递非对象时:
如果 E 类型是可序列化的,则可以以相同的方式传递 ArrayList。
在第一个活动中:
ArrayList<String> myList = new ArrayList<String>();
intent.putExtra("mylist", myList);
离子第二个活动:
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");