Android中的Parcelable序列化对象

今天查阅资料,简单了解了一下Parcelable接口,它是android提供的序列化对象的接口,比java中的
Serializable高效些。通过这个接口序列化对象主要有两步:
1.实现public void writeToParcel(Parcel dest, int flags) {}方法;
2.实例化CREATOR

public static final Parcelable.Creator<ParcelableImpl> CREATOR = new Parcelable.Creator<ParcelableImpl>() { @Override public ParcelableImpl createFromParcel(Parcel source) { return new ParcelableImpl(source); } @Override public ParcelableImpl[] newArray(int size) { return new ParcelableImpl[size]; } };

详细说明参照如下代码:

import android.os.Parcel; import android.os.Parcelable; public class ParcelableImpl implements Parcelable { private int num; ParcelableImpl(Parcel in) { num = in.readInt(); } @Override public int describeContents() { return 0; } //将ParcelableImpl对象序列化为一个Parcel对象 @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(num); } // CREATOR 必须大写,而且必须是“CREATOR” public static final Parcelable.Creator<ParcelableImpl> CREATOR = new Parcelable.Creator<ParcelableImpl>() { //将Parcel对象发序列化为ParcelableImpl @Override public ParcelableImpl createFromParcel(Parcel source) { return new ParcelableImpl(source); } @Override public ParcelableImpl[] newArray(int size) { return new ParcelableImpl[size]; } }; }

时间: 2024-09-24 05:13:50

Android中的Parcelable序列化对象的相关文章

Android中Serializable和Parcelable序列化对象详解_Android

本文详细对Android中Serializable和Parcelable序列化对象进行学习,具体内容如下 学习内容: 1.序列化的目的 2.Android中序列化的两种方式 3.Parcelable与Serializable的性能比较 4.Android中如何使用Parcelable进行序列化操作 5.Parcelable的工作原理 6.相关实例  1.序列化的目的  1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中   2).通过序列化操作将对象数据在网络上进行传输(由于网络传

Android中Serializable和Parcelable序列化对象详解

本文详细对Android中Serializable和Parcelable序列化对象进行学习,具体内容如下 学习内容: 1.序列化的目的 2.Android中序列化的两种方式 3.Parcelable与Serializable的性能比较 4.Android中如何使用Parcelable进行序列化操作 5.Parcelable的工作原理 6.相关实例 1.序列化的目的 1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中 2).通过序列化操作将对象数据在网络上进行传输(由于网络传输是以字

解析Android中的Serializable序列化_Android

1.为何要序列化? -- 把内存中的java对象能够在磁盘上持久保存 -- 通过网络传输对象 -- 通过RMI(Remote Method Invocation 远程过程调用)传输. 通过序列化可以把对象转化为与平台无关的二进制流,在重新使用前进行反序列化,重新转化为java对象. (远程过程调用针对分布式Java应用,对开发人员屏蔽不同JVM和网络连接等细节,是的分布在不同JVM上的对象似乎存在于一个统一的JVM中,能够方便的通讯) 2.如何让Java对象可以被序列化? 在java里只需让目标

解析Android中的Serializable序列化

1.为何要序列化? -- 把内存中的java对象能够在磁盘上持久保存 -- 通过网络传输对象 -- 通过RMI(Remote Method Invocation 远程过程调用)传输. 通过序列化可以把对象转化为与平台无关的二进制流,在重新使用前进行反序列化,重新转化为java对象. (远程过程调用针对分布式Java应用,对开发人员屏蔽不同JVM和网络连接等细节,是的分布在不同JVM上的对象似乎存在于一个统一的JVM中,能够方便的通讯) 2.如何让Java对象可以被序列化? 在java里只需让目标

Serializable与Parcelable传递对象详解(activity间传递对象方式)

先了解什么是序列化? 序列化是什么:  序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.  序列化分为两大部分:序列化和反序列化.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输.反序列化就是打开字节流并重构对象.对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据.恢复数据要求有恢复数据的对象实例  序列化的什么特点:  如果某个类能够被序列化,其子类也可以被序列化.声明为static和transient类型的成员数据不能被序列

gson-android 中的 Gson 序列化

问题描述 android 中的 Gson 序列化 在数据库中有一些数据,我想把数据放在序列化的 JSON 格式中.使用 GSON 序列化如何实现? 我不想用获取数据然后把数据放进格式中的方法. 还有什么方法能实现呢?

Android中Intent传递对象的两种方法Serializable,Parcelable

Android中的传递有两个方法,一个是Serializable,另一个是Parcelable. Serializable是J2SE本身就支持的.而Parcelable是Android所特有的. 二者的使用场景和区别: 1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable. 2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC. 3)Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelab

Android中Intent使用Serializable和Parcelable传递对象

Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个Android工程命名为ObjectTranDemo(类比较

Android中Intent传递对象的两种方法(Serializable,Parcelable)

Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个Android工程命名为ObjectTranDemo(类比较