传递实体类对象的两种方法_Serializable和Parcelable

Serializable是由JAVA封装的传递方法,Parcelable则是android创建的。

两者相比较Serializable简单,但是消耗较大,Parcelable则相对麻烦,但是消耗小

 

Serializable使用方法 :

1.implement Serializable

public class Data implements Serializable

2.传递值

intent.putExtra("user", new Data("name", 2));

3.获取数据

Intent intent = getIntent();
Data data = (Data) intent.getSerializableExtra("user");

 

 

Parcelable使用方法:

1.implement Parcelable ----重写方法并添加两个方法

//重写两个方法
  @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(getName());
        dest.writeInt(getAge());
    }

//加入两个方法
    public static final Creator<Data> CREATOR = new Creator<Data>() {
        @Override
        public Data createFromParcel(Parcel source) {
            return new Data(source.readString(), source.readInt());
        }

        @Override
        public Data[] newArray(int size) {
            return new Data[size];
        }
    };

2.与上面相同

3.获取数据

 Data data = intent.getParcelableExtra("user");

 

两个方法比较的话 ,parcelable是挺麻烦的。各有好处。

转载于:https://www.cnblogs.com/lyxin/p/5776633.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值