android parceble序列化问题

parceble是安卓中的实体类序列化要实现的接口,效率要高于seriable接口,下面看看怎么实现把;
1 实现

public class User implements Parcelable{

    private String name;

    private Integer age;

    public static final Creator<User> CREATOR = new Creator<User>() {
        @Override
        public User createFromParcel(Parcel in) {
            User user = new User();
            user.setName(in.readString());
            user.setAge(in.readInt());
            return user;
        }

        @Override
        public User[] newArray(int size) {
            return new User[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(name);
        dest.writeInt(age);
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

主要是createFromParcel和writeToParcel方法,里面的书写顺序要和上面字段的定义顺序保持一致的;

2 发送数据

     Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                Bundle bundle = new Bundle();
                User user = new User();
                user.setName("曲洋");
                user.setAge(28);
                bundle.putParcelable("user", user);
                intent.putExtras(bundle);
                startActivity(intent);

是的,我们是利用bundle传递数据的;

3 接收数据

 Bundle bundle = getIntent().getExtras();
        User user = bundle.getParcelable("user");
        Assert.notNull(user,"");//利用自己封装的断言判断不恩能够为空
        ToastUtil.showShort(user.getName() + "=" + user.getAge(), getApplicationContext());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值