我發現了一些簡單的例子,說明如何用包含原始類型的對象來做到這一點。我正在處理一個包含一個對象數組作爲其成員之一和幾個枚舉成員變量的類。我將如何存儲每個對象?我想我必須讓兩者都實現Parcelable。有沒有例子或其他人處理這個問題?Android:如何通過綁定發送帶有成員對象的對象?
How to send objects through bundle
我發現了一些簡單的例子,說明如何用包含原始類型的對象來做到這一點。我正在處理一個包含一個對象數組作爲其成員之一和幾個枚舉成員變量的類。我將如何存儲每個對象?我想我必須讓兩者都實現Parcelable。有沒有例子或其他人處理這個問題?Android:如何通過綁定發送帶有成員對象的對象?
How to send objects through bundle
我希望的JSONObject將幫助你在這。你可以使用put方法將其他對象放入一個json對象中...並且可以通過將該對象寫入任何.txt或.json文件 來發送該對象,並且可以解析該文件並獲取所有那些對象已經寫在提交
的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();
}
}
爲什麼你會使用JSON以連載的數據?簡單地使用Parcelable就足夠了 – Benoit 2013-04-22 19:50:10
我對Parcelable沒有太多的想法,但作爲問題問他想要存儲每個對象多數民衆贊成爲什麼我建議jsonobject在哪裏,因爲他可以將所有成員對象存儲到一個對象,只需將該對象寫入文件和使用時他想要 – 2013-04-22 20:04:16
那麼他的問題可能寫得不好,但他的標題說他想通過捆綁包發送。當然JSON可以工作,但這不是Android的方式。 – Benoit 2013-04-22 20:08:37