Android 可使用 JsonObject 进行打包

Android Parcelable with JsonObject

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

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

问题是 JSONObject 不可分割。如果我只是在 writeToParcel 方法中使用 writeValue 方法,我会收到不可接受的 class 错误。 此外,JSONObject 甚至不是可序列化的。

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

有知道怎么解决的请帮忙

我会使用 JSONObjecttoString() 方法来 return 一个 String,您可以轻松将其保存到包裹中。

然后从 parceled String 创建对象,只需使用带有 StringJSONObject constructor,它会自动填充这些对象的字段给你。

我会采用这种方法。

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

的 Pojo class

2- 构建那个 class

的对象

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

}

如果您需要进一步解释如何在 activity 中构建此 POJO 对象,然后将其作为可序列化对象发送至

,请告诉我