Android:greenDao与Parcelable使用总结

本文对比了greenDao和Parcelable两种Android数据存储方案。greenDao是一个轻量级的ORM框架,简化了Java对象与SQLite数据库之间的映射过程。而Parcelable则主要用于Android内部的数据传输,通过对Object数据进行序列化和反序列化来实现存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
		}
	};
}


转载于:https://my.oschina.net/u/1858156/blog/311938

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值