2012-12-26 42 views
0

我必須通過我與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?

回答

0

您可以使用JSON字符串作爲JSONObject的序列表示。

@Override 
public void writeToParcel(Parcel dest, int flags) { 
    dest.writeString(info.toString()); 
} 

從包裹中讀取時解析它。

info = new JSONObject(parcel.readString()); 
0

您是否找到解決方案?

我還沒有找到更好的方法,但閱讀文檔,我相信你不能這樣做(打開校正!)。我結束了在我的Parcelable實現中使用字符串(和其他允許的基元類型)。並將其留給客戶端在String和JSONObject之間進行轉換。所以客戶必須這樣做:

new JSONObject(parcelable.getStringContent())