首先,我们要知道Android序列化的方法有两种,一个是实现Serializable,这是JavaSE中就支持的接口,后来google推出了专门针对Android的接口Parcelable(其性能相对Serializable将近快了10倍)然后我们要知道Android内部传递实例 ...
首先,我们要知道Android序列化的方法有两种,一个是实现Serializable,这是JavaSE中就支持的接口,后来google推出了专门针对Android的接口Parcelable(其性能相对Serializable将近快了10倍)
然后我们要知道Android内部传递实例的基本方法:一是Bundle.putSerializable(Key,Object),另一种是Bundle.putParcelable(Key,Object),它们分别要实现Serializable和Parcelable接口。需要注意的一点是Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在外界有变化的情况下。这种情况还是使用Serializable比较好。
我们先看Parcelable接口的定义:
1 public interface Parcelable 2 { 3 //内容描述接口,基本不用管 4 public int describeContents(); 5 //写入接口函数,打包 6 public void writeToParcel(Parcel dest, int flags); 7 //读取接口,目的是要从Parcel中构造一个实现了Parcelable的类的实例处理。因为实现类在这里还是不可知的,所以需要用到模板的方式,继承类名通过模板参数传入 8 //为了能够实现模板参数的传入,这里定义Creator嵌入接口,内含两个接口函数分别返回单个和多个继承类实例 9 public interface Creator<T> 10 {11 public T createFromParcel(Parcel source);12 public T[] newArray(int size);13 }14 public interface ClassLoaderCreator<T> extends Creator<T>15 {16 public T createFromParcel(Parcel source, ClassLoader loader);17 }18 }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Android Parcelable接口的使用/序列化数据
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。