zoukankan      html  css  js  c++  java
  • 传递实体类对象的两种方法_Serializable和Parcelable

    Serializable是由JAVA封装的传递方法,Parcelable则是android创建的。

    两者相比较Serializable简单,但是消耗较大,Parcelable则相对麻烦,但是消耗小

    Serializable使用方法 :

    1.implement Serializable

    public class Data implements Serializable

    2.传递值

    intent.putExtra("user", new Data("name", 2));

    3.获取数据

    Intent intent = getIntent();
    Data data = (Data) intent.getSerializableExtra("user");
    

    Parcelable使用方法:

    1.implement Parcelable ----重写方法并添加两个方法

    //重写两个方法
      @Override
        public int describeContents() {
            return 0;
        }
    
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(getName());
            dest.writeInt(getAge());
        }
    
    //加入两个方法
        public static final Creator<Data> CREATOR = new Creator<Data>() {
            @Override
            public Data createFromParcel(Parcel source) {
                return new Data(source.readString(), source.readInt());
            }
    
            @Override
            public Data[] newArray(int size) {
                return new Data[size];
            }
        };

    2.与上面相同

    3.获取数据

     Data data = intent.getParcelableExtra("user");

    两个方法比较的话 ,parcelable是挺麻烦的。各有好处。

  • 相关阅读:
    minimsg升级扩展
    一起学习Avalonia(十三)
    @Import注解源码
    Python入门随记(3)
    NET WebApi 后端重定向指定链接
    Net Nlog 持久化到数据库
    NetCore Xunit单元测试依赖注入
    VS 调试时,提示无法启动iis服务器
    NET 反射,对可空类型动态赋值
    MSSQL 查询表结构
  • 原文地址:https://www.cnblogs.com/lyxin/p/5776633.html
Copyright © 2011-2022 走看看