greenDao与Parcelable都可以实现对Object数据的存储。
1. greenDao
greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一 个简单的面向对象API,开发者可以对Java对象进行存储、更新、删除和查询。
2. Parcelable
Parcelable是Android中用于对Object数据进行序列化和反序列化的接口。
注意:greendao自动生成的info可以继承Parcelable接口,实现序列化和反序列数据存储。
例:
public class ContractDeatilInfo implements Parcelable{
/** Not-null value. */
private String id;
private String name;
private String party_a;
private String party_b;
public ContractDeatilInfo() {
}
public ContractDeatilInfo(String id) {
this.id = id;
}
public ContractDeatilInfo(String id, String name, String party_a, String party_b, String sign_date, String value, String remarks) {
this.id = id;
this.name = name;
this.party_a = party_a;
this.party_b = party_b;
}
/** Not-null value. */
public String getId() {
return id;
}
/** Not-null value; ensure this value is available before it is saved to the database. */
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getParty_a() {
return party_a;
}
public void setParty_a(String party_a) {
this.party_a = party_a;
}
public String getParty_b() {
return party_b;
}
public void setParty_b(String party_b) {
this.party_b = party_b;
}
// 以上是greendao自动生成的info,以下是实现Parcelable接口的内容
@Override
public int describeContents() {
return 0;
}
//实现序列化,j
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(id);
dest.writeString(name);
dest.writeString(party_a);
dest.writeString(party_b);
}
//实现反序列化,从Parcel解析出来
public static final Parcelable.Creator<ContractDeatilInfo> CREATOR = new Creator<ContractDeatilInfo>() {
@Override
public ContractDeatilInfo[] newArray(int size) {
return new ContractDeatilInfo[size];
}
@Override
public ContractDeatilInfo createFromParcel(Parcel source) {
ContractDeatilInfo info = new ContractDeatilInfo();
info.id = source.readString();
info.name = source.readString();
info.party_a = source.readString();
info.party_b = source.readString();
return info;
}
};
}