android学习笔记 Parcelable接口
来源:互联网 发布:东北大学网络教育 证书 编辑:程序博客网 时间:2024/06/05 19:33
当我们需要通过Intent,Binder传输数据的时候就会用到Parcelable接口。Parcelable接口是Android中的序列化方式,适合于Android平台上,它的缺点是使用起来稍微有点麻烦,但它的效率高,这是Android推荐的序列化方式。Parcelable主要用于内存序列化上,通过Parcelable将对象序列化到存储设备中或者将对象序列化后通过网络传输也都是可以的,但是这个过程会稍显复杂。
接下来通过一个简单的Book类,来看看Parcelable的实现过程。
/** * * 实现了Parcelable的类 * @author DunnLin * */public class Book implements Parcelable {public int bookId;public String bookName;public boolean isSale;/** * 内容描述功能(几乎所有情况下返回但是0,仅当当前对象中存在文件描述时,返回1) */@Overridepublic int describeContents() {return 0;}/** * 将当前对象写入序列化结构中,flags标识有两种值:0或者1,为1时,当前对象需要作为返回值返回 * 为0时,不能立即释放资源,几乎所有情况都为0 */@Overridepublic void writeToParcel(Parcel out, int flags) {out.writeInt(bookId);out.writeString(bookName);out.writeInt(isSale ? 1 : 0);}/** * 反序列化 */public static final Parcelable.Creator<Book> CREACTOR = new Parcelable.Creator<Book>(){/** * 从序列化后的对象中创建原始对象 */@Overridepublic Book createFromParcel(Parcel source) {return new Book(source);}/** * 创建指定长度的原始对象数组 */@Overridepublic Book[] newArray(int size) {return new Book[size];}};/** * 从序列化后的对象中创建原始对象 * @param in */private Book(Parcel in){bookId = in.readInt();bookName = in.readString();isSale = in.readInt() == 1;}}
0 0
- android学习笔记 Parcelable接口
- 学习Android中的Parcelable接口
- android学习笔记3 - 序列化接口Parcelable、Serializable的使用与区别
- Android学习笔记(十一):Parcelable
- Android序列号接口Parcelable
- Android 实现Parcelable接口
- Android Parcelable接口
- android parcelable 接口原理
- android的parcelable接口
- Android--Parcelable接口用法
- Android中的Parcelable接口
- android中的Parcelable接口
- Android Parcelable接口
- Android中的Parcelable接口
- Android-Parcelable接口用法
- Android中Parcelable接口
- Android的Parcelable接口
- 【Android】Parcelable接口的使用
- solr入门(基础程序)
- UI界面-UILabel
- Maximum Subsequence Sum
- 项目优化-Http网络请求的封装
- Java的类和对象
- android学习笔记 Parcelable接口
- HDU 1003 Max Sum DP .
- CUDA学习--内存处理之寄存器(2)
- Python模块psutil的简介
- Redis带来好处的同时还要使用它吗
- NoSQL简介
- android studio编译android项目时出错
- bash部分特性详解
- PAT(A) - 1086. Tree Traversals Again (25)