我必須通過我與IPC的對象,這樣的類關於Android AIDL對象
public class ForIpc {
JsonObject info = new JSONObject();
public void add(String key, String value) {
info.put(key,value);
}
}
ForIpc可以implents Parcelable,但如何處理的JSONObject?
我必須通過我與IPC的對象,這樣的類關於Android AIDL對象
public class ForIpc {
JsonObject info = new JSONObject();
public void add(String key, String value) {
info.put(key,value);
}
}
ForIpc可以implents Parcelable,但如何處理的JSONObject?
您可以使用JSON字符串作爲JSONObject
的序列表示。
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(info.toString());
}
從包裹中讀取時解析它。
info = new JSONObject(parcel.readString());
您是否找到解決方案?
我還沒有找到更好的方法,但閱讀文檔,我相信你不能這樣做(打開校正!)。我結束了在我的Parcelable實現中使用字符串(和其他允許的基元類型)。並將其留給客戶端在String和JSONObject之間進行轉換。所以客戶必須這樣做:
new JSONObject(parcelable.getStringContent())