0

我找到了一些简单的例子来说明如何使用包含原始类型的对象来做到这一点。我正在使用一个包含一组对象作为其成员和几个枚举成员变量的类。我将如何存储每个对象?我想我必须让两者都实现 Parcelable。是否有任何例子或其他处理过这个问题的人?

如何通过捆绑发送对象

4

2 回答 2

1

Parcel 界面为您的对象数组提供了不同的可能性

writeParcelableArray(T[] value, int parcelableFlags)
writeStringArray(String[] val)
writeStringList(List<String> val)

readParcelableArray(ClassLoader loader)
readStringList(List<String> list)
readStringArray(String[] val)

对于枚举,您可以保存名称并稍后使用

readString()
writeString(String val)

或获取枚举值并使用

readInt()
writeInt(Int val)

小代码示例

public class Tag implements Parcelable {

private long id;
private String title;

// ... getter & setters & constructor ...

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel out, int flags) {
    out.writeLong(id);
    out.writeString(title);
}

public static final transient Parcelable.Creator<Tag> CREATOR = new Parcelable.Creator<Tag>() {
    public Tag createFromParcel(Parcel in) {
        return new Tag(in);
    }

    public Tag[] newArray(int size) {
        return new Tag[size];
    }
};

protected Tag(Parcel in) {
    readFromParcel(in);
}

protected final void readFromParcel(Parcel in) {
    id = in.readLong();
    title = in.readString();
}
}
于 2013-04-22T20:01:46.017 回答
1

我希望 JSONObject 能帮助你。您可以使用 put 方法将其他对象放入一个 json 对象中......您可以通过将其写入任何 .txt 或 .json 文件来发送该对象,您只需解析该文件并获取您拥有的所有对象写入文件

于 2013-04-22T19:36:27.693 回答