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 是动态的,因此每次我的应用程序启动时,它们都有不同的字段和不同的值。
有知道怎么解决的请帮忙
我会使用 JSONObject
的 toString() 方法来 return 一个 String
,您可以轻松将其保存到包裹中。
然后从 parceled String
创建对象,只需使用带有 String
的 JSONObject
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 对象,然后将其作为可序列化对象发送至
,请告诉我
为了初始化我的新片段,我需要发送一个对象作为可打包对象。 这些是它包含的字段:
private String sessionId;
private String status;
private JSONObject typeAttributes;
private JSONObject kindAttributes;
问题是 JSONObject 不可分割。如果我只是在 writeToParcel 方法中使用 writeValue 方法,我会收到不可接受的 class 错误。 此外,JSONObject 甚至不是可序列化的。
此外,typeAttributes 和 kindAttributes 是动态的,因此每次我的应用程序启动时,它们都有不同的字段和不同的值。
有知道怎么解决的请帮忙
我会使用 JSONObject
的 toString() 方法来 return 一个 String
,您可以轻松将其保存到包裹中。
然后从 parceled String
创建对象,只需使用带有 String
的 JSONObject
constructor,它会自动填充这些对象的字段给你。
我会采用这种方法。
1- 创建一个实现可序列化
的 Pojo class2- 构建那个 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 对象,然后将其作为可序列化对象发送至
,请告诉我