android 序列化对象 Parcelable

原创 2015年07月08日 19:24:31


1、概述

平时的序列化对象大家一般都直接用java的Serializable 的形式,简单方便写的快

android 也有出自己的一套Parcelable 写起来比较复杂,但是有些地方又必须要用到,比如aidl传递对象的时候

在此小结下



2、Parcelable 操作,其实也简单,就2步

1、写入序列化 重写public WsUserInfoAM(Parcel src) {

2、读出序列化 实现该对象中的两个构造对象,和构造对象组的方法

public static final Parcelable.Creator<TT> CREATOR = new Creator<TT>() {

3、描述方法可以忽略public int describeContents() {

4、写入时的顺序和读出的顺序要一致


3、example

package com.wstv.pay.aidl;

import android.os.Parcel;
import android.os.Parcelable;

public class Info implements Parcelable{
	private String uid;
	private String tokrnId;
	private String ext;
	
	

	public String getExt() {
		return ext;
	}

	public void setExt(String ext) {
		this.ext = ext;
	}

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public String getTokrnId() {
		return tokrnId;
	}

	public void setTokrnId(String tokrnId) {
		this.tokrnId = tokrnId;
	}
	
	public Info(){
		
	}
	

	public Info(Parcel src) {
		// TODO Auto-generated constructor stub
		uid = src.readString();
		tokrnId = src.readString();
	}
	
	//0就可以
	@Override
	public int describeContents() {
		// TODO Auto-generated method stub
		return 0;
	}

	//写入序列化
	@Override
	public void writeToParcel(Parcel dest, int flags) {
		// TODO Auto-generated method stub
		dest.writeString(uid);
		dest.writeString(tokrnId);
		
	}
	
	//读出序列化
	public static final Parcelable.Creator CREATOR = new Creator() {

		
		@Override
		public Info createFromParcel(Parcel source) {
			// TODO Auto-generated method stub
			return new Info(source);
		}

		@Override
		public Info[] newArray(int size) {
			// TODO Auto-generated method stub
			return new Info[size];
		}
	};



	@Override
	public String toString() {
		return "WsUserInfo [uid=" + uid + ", tokrnId=" + tokrnId + ", ext=" + ext + "]";
	}

	
}

Android实现Parcelable对象序列化的实例

bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。 下面是一个简单的在Activity之间传递对象的例子。 parcel实现参数...

Android—序列化对象—Parcelable

Java中,序列化对象一般都会使用 Serializable 去序列化对象,然后通过对对象的持久化操作。 在Android中,也有Android特有的序列化的东西,那就是Parcelable,它也可以...

Android 实现Parcelable接口序列化对象

         关于对象序列化的方法,在Android中常用到的一般有两种,一种是可以通过实现Serializable接口,这也是java语言中常用的序列化方法,别外一种就是实现Parcela...

Android 使用Parcelable序列化对象

Android序列化对象主要有两种方法,实现Serializable接口、或者实现Parcelable接口。实现Serializable接口是Java SE本身就支持的,而Parcelable是And...

Android对象序列化:Serializable和Parcelable

Android通过Intent传递对象,或者将对象持久化到文件和进行网络传输时,对象需要实现序列化接口Serializable或者Parcelable。...
  • liu_312
  • liu_312
  • 2017年07月07日 13:22
  • 117

Android中使用Parcelable实现对象的序列化

在Android开发中,Parcelable是一个接口,只要实现这个接口,一个类的对象就可以实现序列化并可通过Intent和Binder传递。序列化的目的是传递数据用。 下面给出一个实体类的序列化实例...

Android-Parcelable理解与使用(对象序列化)

http://my.oschina.net/zhoulc/blog/172163 parcel定义介绍:     android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用...

Android 中对象实现序列化之Parcelable接口

1.实现Parcelable就是为了进行序列化,那么,为什么要序列化? 1)永久性保存对象,保存对象的字节序列到本地文件中; 2)通过序列化对象在网络中传递对象; 3)通...

【Android 】序列化对象接口Parcelable使用方法

什么是Parcelable ?      Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实...

Android 序列化对象接口Parcelable使用方法

什么是Parcelable ?      Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实...
  • zpf8861
  • zpf8861
  • 2014年12月11日 09:29
  • 1713
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 序列化对象 Parcelable
举报原因:
原因补充:

(最多只允许输入30个字)