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是挺麻烦的。各有好处。

  • 相关阅读:
    iOS去除导航栏和tabbar的横线
    各种坑
    iOS系统消息
    文件的读写
    MAC机中安装ruby环境--转载
    一句话处理服务器头像的尺寸
    开一个线程来处理 耗时的操作
    angular2中一种换肤实现方案
    一句话说明==和equals的区别
    下拉框样式在不同浏览器的简单兼容
  • 原文地址:https://www.cnblogs.com/lyxin/p/5776633.html
Copyright © 2011-2022 走看看