Android-Serilziable和Parceable

Serilziable和Parceable

1.Serilziable 把需要传递的类实现Serilziable接口

2.Parceable 把需要传递的类实现Parceable接口

实现:
Serializable 的实现,只需要继承 implements Serializable

而Parcelable则需要实现writeToParcel、describeContents函数以及静态的CREATOR变量,实际上就是将如何打包和解包的工作自己来定义,而序列化的这些操作完全由底层实现。

public class MyParcelable implements Parcelable {
private int mData;

 public int describeContents() {
     return 0;
 }

 public void writeToParcel(Parcel out, int flags) {
     out.writeInt(mData);
 }

 public static final Parcelable.Creator<MyParcelable> CREATOR
         = new Parcelable.Creator<MyParcelable>() {
     public MyParcelable createFromParcel(Parcel in) {
         return new MyParcelable(in);
     }

     public MyParcelable[] newArray(int size) {
         return new MyParcelable[size];
     }
 };
  
 private MyParcelable(Parcel in) {
     mData = in.readInt();
 }

}

public class MyParcelable implements Parcelable {
private int mData;
private String mStr;

 public int describeContents() {  
     return 0;  
 }  

 // 写数据进行保存  
 public void writeToParcel(Parcel out, int flags) {  
     out.writeInt(mData);  
     out.writeString(mStr);  
 }  

 // 用来创建自定义的Parcelable的对象  
 public static final Parcelable.Creator<MyParcelable> CREATOR  
         = new Parcelable.Creator<MyParcelable>() {  
     public MyParcelable createFromParcel(Parcel in) {  
         return new MyParcelable(in);  
     }  

     public MyParcelable[] newArray(int size) {  
         return new MyParcelable[size];  
     }  
 };  
  
 // 读数据进行恢复  
 private MyParcelable(Parcel in) {  
     mData = in.readInt();  
     mStr = in.readString();  
 }  

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值