Android中Parcelable的使用

来源:互联网 发布:医疗器械注册软件研究 编辑:程序博客网 时间:2024/05/20 18:47

      最近做一个需要service和activity进程通信的应用,在传递对象时需要将对象序列化,这里选择的是Android自带的Parcelable类,还有一个序列化的类是jdk的Serializable,相比较而言后者较为简单只需要实现接口就行,但是Parcelable的效率更高,只不过不能在将数据存储在磁盘中时使用,因为不能保证数据的准确性。

   用Parcelable序列化需要一系列步骤

   1.继承Parcelable接口并实现两个方法describeContents(),writeToParcel()。.

   2.实现带参数的构造方法,参数为Parcel类的对象。

   2.定义一个静态方法creator并实现两个局部内部类。

   代码如下:

public class Book implements Parcelable {private String name;private float price;public Book(Parcel source) {name=source.readString();price=source.readFloat();}public String getName() {return name;}public void setName(String name) {this.name = name;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}@Overridepublic int describeContents() {return 0;}/** * 调用writeString方法时需要按照顺序来写 */@Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeString(name);dest.writeFloat(price);}public static final Parcelable.Creator<Book> CREATOR = new Creator<Book>() {@Overridepublic Book[] newArray(int size) {// TODO Auto-generated method stubreturn new Book[size];}@Overridepublic Book createFromParcel(Parcel source) {// TODO Auto-generated method stubreturn new Book(source);}};}


0 0
原创粉丝点击