Parcelable序列化接口示例

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);
}

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值