我想创建一个自定义实体类Parcelable ..我有一些字段:String []和另一个自定义实体对象(可以分配)..我想知道如何读取和写入这些对象和列表..
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?
}
}
答案 0 :(得分:1)
https://github.com/mcharmas/android-parcelable-intellij-plugin使用此插件! 你的AnotherEntity也必须实现Parcelable!
答案 1 :(得分:1)
我绝对认为你不应该自己处理样板。
有类似Parceler的库,其中POJO上只有一个注释,而Parcel.wrap
或Parcel.unwrap
这样的一行可以进行即时序列化。
答案 2 :(得分:1)
对于String [],您可以使用API
parcel.writeStringArray(url)
对于AnotherEntity,您需要再次使用Parcelable扩展它
parcel.writeParcelable();