java - Android - 实现 Parcelable 的更简单/更快/更简单的方法?

标签 java android interface parcelable implements

每当我希望我的类实现 Parcelable 时,它​​总是归结为同一件事。我的代码总是这样:

public class MyClass implements Parcelable{

    private String stringA;
    private int intA;
    .
    .
    .

    //## Parcelable code - START ################################
    @Override
    public int describeContents() {
          return this.hashCode();
    }
    @Override
    public void writeToParcel(Parcel dest, int flags) {

     dest.writeString(stringA);
     dest.writeInt(intA);
     .
     .
     .
    }
    public static final Parcelable.Creator<MyClass> CREATOR = new Parcelable.Creator<MyClass>() {

    @Override
    public MyClass createFromParcel(Parcel in) {
            return new MyClass(in); 
    }

    @Override
    public MyClass[] newArray(int size) {
            return new MyClass[size];
    }
    };
    public MyClass(Parcel in){

        this.cancellationnote   = in.readString();
        this.intA = in.readInt();
        .
        .
        .
    }
    //## Parcelable code - END ################################
    }

但这非常重复、乏味且容易出错。有更简单的方法吗?

最佳答案

使用 Dallas Gutauckis 的“Parcelabler”是一种更简单的方法。它会自动为您的类生成代码:

http://www.parcelabler.com/

不过,它并没有使代码更短。

关于java - Android - 实现 Parcelable 的更简单/更快/更简单的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20366888/

相关文章:

java - 哪种 (Java) 代码、库或算法最适合提供位模式之间的相似性?

java - 仅转发用于 Excel 的 Streaming Java API

android - 当 Studio 找不到时,如何在 Mac 上找到 Android SDK?

android - 如何使用Firebase数据库和Firebase通知为聊天应用程序构建通知系统

android - 使用接口(interface)和方法 onAttach(Fragments)

arrays - 遥控接口(interface): Passing multidimensional arrays

java - 如何确定 Android Studio 布局中使用的宽度和高度以及重新创建此设计的可能方法?

java - 当我们允许使用Object类创建异构数组时,java中的数组如何能够是同构的?

java - FragmentTransaction 动画 - 在退出 fragment 上方显示进入 fragment

c# - 防止两个接口(interface)之间的转换