Android中的两种序列化方式
2017-11-12 14:23
671 查看
1.Serializable,官方文档给出这种说明
类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。
实现这种序列化比较简单,直接实现Serializable接口就行,看代码
让JavaBean直接实现Serializable的接口就行
2.Parcelable序列化,实现Parcelable序列化较为麻烦
2.1首先需要实现:writeToParcel和readFromPacel方法
2.2接着需要在:该类中添加一个名为CREATOR的static final属性
改属性需要实现:android.os.Parcelable.Creator接口
2.3再接着需要从写接口中的两个方法:
createFromParcel(Parcel source)方法:实现从source创建出JavaBean实例的功能
,这种序列化使用AS非常简单,
类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。
实现这种序列化比较简单,直接实现Serializable接口就行,看代码
/** * */ package com.fangzhiyeu.dev; import java.io.Serializable; import javax.lang.model.element.Parameterizable; /** * @author fang * */ public class Demo1 implements Serializable{ String name; int size; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } }
让JavaBean直接实现Serializable的接口就行
2.Parcelable序列化,实现Parcelable序列化较为麻烦
2.1首先需要实现:writeToParcel和readFromPacel方法
2.2接着需要在:该类中添加一个名为CREATOR的static final属性
改属性需要实现:android.os.Parcelable.Creator接口
2.3再接着需要从写接口中的两个方法:
createFromParcel(Parcel source)方法:实现从source创建出JavaBean实例的功能
,这种序列化使用AS非常简单,
package com.example.myapplication; import android.os.Parcel; import android.os.Parcelable; /** * Created by fang on 2017/11/12. */ public class Demo implements Parcelable { String name; int Size; protected Demo(Parcel in) { name= in.readString(); Size=in.readInt(); } public static final Creator<Demo> CREATOR = new Creator<Demo>() { @Override public Demo createFromParcel(Parcel in) { return new Demo(in); } @Override public Demo[] newArray(int size) { return new Demo[size]; } }; @Override public int describeContents() { return 0;//默认返回O } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(Size); dest.writeString(name); } }
相关文章推荐
- Android 进阶6:两种序列化方式 Serializable 和 Parcelable
- Android进程通信之一:两种序列化方式
- Android中两种序列化方式
- Android中两种序列化方式的比较Serializable和Parcelable
- Android进程通信之一:两种序列化方式
- Android进程通信之一:两种序列化方式
- 第十三篇:Android 序列化的两种方式
- Android中两种序列化方式的比较Serializable和Parcelable
- android两种序列化方式
- Android序列化的两种方式
- Android序列化的两种方式
- Android中两种序列化方式的比较Serializable和Parcelable
- 【Android UI设计与开发】第14期:顶部标题栏(五)两种方式实现仿微信标题栏弹窗效果
- android 返回键退出两种表现方式
- (二)android下拉刷新的两种方式之设置topMargin
- Android中界面实现全屏显示的两种方式
- 【Android】创建Popwindow弹出菜单的两种方式
- Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
- Android 监听wifi广播的两种方式
- Android------Button 添加声音效果(两种方式)