手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >很详细的android序列化过程Parcelable
很详细的android序列化过程Parcelable
摘要:直接上代码:注释都写的很清楚了。publicclassEntryimplementsParcelable{publicintuserID;p...

直接上代码:注释都写的很清楚了。

public class Entry implements Parcelable{ public int userID; public String username; public boolean isMale; public Book book;//序列化对象可以嵌套序列化对象,前提是2个类的对象都被序列号过 //几乎所有情况下都返回0,可以不管 @Override public int describeContents() { return 0; } //序列化对象,将对象写到序列号数据结构中 //flags:大多数情况为0 @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(userID); out.writeString(username); out.writeInt(isMale ? 1:0); out.writeParcelable(book, 0); // out.writeList(list);也可以序列号list和Map,前提是list和Map里面的数据都是可序列号的 // out.writeMap(Map); } public Entry(int userID,String username,boolean isMale) { this.userID = userID; this.username = username; this.isMale = isMale; } //反序列化 public static final Parcelable.Creator<Entry> CREATOR = new Creator<Entry>() { //创建指定长度的原始对象数组 @Override public Entry[] newArray(int size) { // TODO Auto-generated method stub return new Entry[size]; } //从序列号过后的对象中创建原始对象 @Override public Entry createFromParcel(Parcel source) { // TODO Auto-generated method stub return new Entry(source); } }; //从序列号后的对象中创建原始对象 private Entry(Parcel in){ userID = in.readInt(); username = in.readString(); isMale = in.readInt() == 1; in.readParcelable(Thread.currentThread().getContextClassLoader()); } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

【很详细的android序列化过程Parcelable】相关文章:

android 放大镜ShapeDrawable妙用分享

android程序启动画面-Splash

Android 初识 Helloworld 详解

Android:多线程之进程与线程

Android主流屏幕分辨率介绍

Android 获取进程内存使用情况方法

android自动化测试中实现长按并拖动

Android开发之XML文件解析的使用

Android屏幕亮度调节

Android的文本和输入之创建输入法教程

精品推荐
分类导航