Parcelable序列化接口示例

原创 2016年05月30日 14:00:45

package com.daima.bean;



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


public class UserInfo implements Parcelable {
private String userCode;
private String userName;
private String token;
private boolean canLogin;
private String errInfo;
private String userId;


public UserInfo() {


}


public UserInfo(Parcel in) {
readFromParcel(in);
}


private void readFromParcel(Parcel in) {
// TODO Auto-generated method stub
userCode = in.readString();
userName = in.readString();
token = in.readString();
canLogin = (in.readInt() == 0) ? true : false;
errInfo = in.readString();
userId = in.readString();
}


@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}


@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(userCode);
dest.writeString(userName);
dest.writeString(token);
dest.writeInt(canLogin ? 0 : 1);
dest.writeString(errInfo);
dest.writeString(userId);
}


public static final Parcelable.Creator<UserInfo> CREATOR = new Parcelable.Creator<UserInfo>() {
public UserInfo createFromParcel(Parcel in) {
return new UserInfo(in);
}


public UserInfo[] newArray(int size) {
return new UserInfo[size];
}
};


public String getUserId() {
return userId;
}


public void setUserId(String userId) {
this.userId = userId;
}


public String getErrInfo() {
return errInfo;
}


public void setErrInfo(String errInfo) {
this.errInfo = errInfo;
}


public String getUserCode() {
return userCode;
}


public void setUserCode(String userCode) {
this.userCode = userCode;
}


public String getUserName() {
return userName;
}


public void setUserName(String userName) {
this.userName = userName;
}


public String getToken() {
return token;
}


public void setToken(String token) {
this.token = token;
}


public boolean isCanLogin() {
return canLogin;
}


public void setCanLogin(boolean canLogin) {
this.canLogin = canLogin;
}


}


需要注意的是:

private void readFromParcel(Parcel in) {
// TODO Auto-generated method stub
userCode = in.readString();
userName = in.readString();
token = in.readString();
canLogin = (in.readInt() == 0) ? true : false;
errInfo = in.readString();
userId = in.readString();
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(userCode);
dest.writeString(userName);
dest.writeString(token);
dest.writeInt(canLogin ? 0 : 1);
dest.writeString(errInfo);
dest.writeString(userId);
}

这俩块读写字段的顺序要一致。


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

bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。 下面是一个简单的在Activity之间传递对象的例子。 parcel实现参数...
  • DLUTBruceZhang
  • DLUTBruceZhang
  • 2013年05月08日 14:53
  • 3817

自动化快速实现Parcelable接口序列化

一、前言 相信数据序列化大家都多多少少有接触到,比如自定义了一个实体类,需要在activity之间传输该类对象,就需要将数据序列化。android中实现方式有两种,第一、实现Serializab...
  • lanwilliam
  • lanwilliam
  • 2015年07月20日 14:50
  • 465

Android Studio酷炫插件(一)——自动化快速实现Parcelable接口序列化

相信数据序列化大家都多多少少有接触到,比如自定义了一个实体类,需要在activity之间传输该类对象,就需要将数据序列化。android中实现方式有两种,第一、实现Serializable接口,这种比...
  • chequer_lkp
  • chequer_lkp
  • 2014年11月07日 23:21
  • 19063

使用Parcelable序列化数据

使用Parcelable序列化数据,1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。2)Serializable在序列化的时候会产生大量的...
  • tao_zi7890
  • tao_zi7890
  • 2017年05月26日 17:47
  • 319

实体bean实现序列化parcelable接口的常见问题

在intent中传递对象或者集合的时候,相应的对象要实现序列化。 public class Person implements Parcelable{              // 成员变...
  • lr4321
  • lr4321
  • 2015年10月21日 19:35
  • 505

Android中继承Parcelable序列化对象需要注意的问题,记录!

今天写android项目的时候需要从一个Activity向另一个Activity传递一个ArrayList,通过Intent的话不能直接传,所以选择了将T序列化,我选择了继承Parcelable的方法...
  • u010929231
  • u010929231
  • 2015年08月21日 10:53
  • 1942

Android使用Parcelable序列化复杂数据结构

前言说到序列化我们都不陌生,最简单的就是让我们的实体类来实现java io包下的Serializable接口即可,但是android单独又写了自己的序列化方案,即Parcelable,它比Serial...
  • aiynmimi
  • aiynmimi
  • 2017年03月23日 16:15
  • 1206

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

http://my.oschina.net/zhoulc/blog/172163 parcel定义介绍:     android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用...
  • jaycee110905
  • jaycee110905
  • 2014年03月19日 10:52
  • 12342

Javabean实现可序列化接口

在Android中有时候需要利用bundle传递一些信息比如javabean或者是list bundle可以传递的数据类型 (1)基本数据类型(2)序列化的javabean对象(3)ArrayLi...
  • qq_28963915
  • qq_28963915
  • 2015年12月29日 13:50
  • 1701

Android中使用Serializable和Parcelable实现序列化详解(含实例)

Android中实现序列化有两种方式,一种是使用Serializable另一种就是Parcelable了。 Serializable本身就是JavaSE支持的,Parcelable是Android特...
  • L664675249
  • L664675249
  • 2015年10月25日 14:12
  • 6614
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Parcelable序列化接口示例
举报原因:
原因补充:

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