Android:greenDao与Parcelable使用总结

greenDao与Parcelable均可以实现对Object数据的存储。java

1.     greenDao数据库

     greenDAO是一个能够帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,经过使用一 个简单的面向对象API,开发者能够对Java对象进行存储、更新、删除和查询。ide

2.     Parcelablethis

      Parcelable是Android中用于对Object数据进行序列化和反序列化的接口。spa

注意:greendao自动生成的info能够继承Parcelable接口,实现序列化和反序列数据存储。.net

  • 例:code

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;
		}
	};
}
相关文章
相关标签/搜索