带有JsonObject的Android Parcelable

时间:2016-05-08 11:04:27

标签: android serialization parcelable

为了初始化我的新片段,我需要将一个对象作为可分配的对象发送。 这些是它包含的字段:

private String sessionId;
private String status;
private JSONObject typeAttributes;
private JSONObject kindAttributes;

问题是JSONObject不可分区。如果我只是在writeToParcel方法中使用writeValue方法,我会得到不可接受的类错误。 而且,JSONObject甚至不是Serializable。

此外,typeAttributes和kindAttributes是动态的,因此每次我的应用程序启动时,它们都会有不同的字段和不同的值。

如果有人知道如何解决,请帮助。

2 个答案:

答案 0 :(得分:7)

我会使用JSONObject' toString()方法返回String,您可以轻松保存到地块。

然后从parceled String创建对象,只需使用JSONObject的{​​{1}} constructor,然后自动填充这些对象&# 39;适合你的领域。

答案 1 :(得分:1)

我会采用这种方法。

1-创建一个实现可序列化的Pojo类

2-构建该类的对象

3-以可串行的方式发送对象



public class POJO implements Serializable{
    private String sessionId;
    private String status;
   // private JSONObject typeAttributes;
    // SUPPOSE THIS JSONObject CONTAINS TWO FIELDS AS NAME AND AGE SO I USE TWO MORE FILDS
    String name;
    String age;

    //....... WRITE GETTERS AND SETTERS

}




如果您需要有关构建此POJO对象内部活动的进一步说明,请将其发送为可序列化