Android Parcelable:读写

Android Parcelable: reading and writing

我想创建一个自定义实体 class 可打包..我有一些字段:一个字符串[]和另一个自定义实体对象(可打包)..我想知道如何阅读并写下这些对象和列表..

public class CustomEntity implements Parcelable {
    private int number;
    private String[] urls;
    private AnotherEntity object;

    public CustomEntity(Parcel in) {
        number = in.readInt();
        // how should I read urls?
        // how should I read object?
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeInt(number);
        // how should I write urls?
        // how should I write object?
    }

}

https://github.com/mcharmas/android-parcelable-intellij-plugin使用这个插件! 你是另一个实体必须实施 Parcelable 到!

我绝对认为您不应该自己处理样板文件。 有像 Parceler 这样的库,在你的 POJO 上只有一个注释和像 Parcel.wrapParcel.unwrap 这样的一行,你可以进行即时序列化。

对于字符串[],您可以使用 API

parcel.writeStringArray(url)

对于 AnotherEntity,您需要再次使用 Parcelable 对其进行扩展

parcel.writeParcelable();