在Android中存储对象

13

我想知道在我的应用程序中,存储自定义Java对象的最佳选择是什么。我已经阅读了有关序列化的内容,但它似乎非常缓慢。

最佳选项是什么?


你尝试过 Parcel 吗? - Mudassir
“custom Java object” 可以是任何数据复杂度和大小的对象。请详细说明。 - olivierg
2个回答

16

如果您不存储大量数据,可以使用Gson将Java对象转换为Json字符串并将字符串存储在应用程序首选项中。Gson具有toJson(obj)方法和反之亦然。

从应用程序首选项中获取数据并转换为对象:

String json = appSharedPrefs.getString("someName","");    
return gson.fromJson(json, YourModel.class);

将对象中的数据传递到应用程序首选项中:

String json = gson.toJson(obj);

然后是 prefsEditor.putString("someName", json).apply()


1
请问您能否提供一个参考链接或者代码示例?谢谢。 - Kingsolmn
1
好的,也许我需要更经常地睡觉,但我在使用这个Android项目时遇到了问题。我需要手动包含Gson的JAR文件吗(如果需要,我在哪里可以找到它?)还是我在导入时缺少了什么(使用Eclipse,无法解析com.google包)-谢谢。@Bill - Kingsolmn
已经有点晚了,但也许你可以看看这个:你应该使用Maven或Gradle,它们是非常好的选择,而不是下载jar文件,然后添加到你的项目中。Maven和Gradle会自动完成这个过程。 - Antonio
在回答这个问题的时候,@Antonio maven for Android 真的很糟糕,而 Gradle 不是一个选择。然而,正如你所指出的,今天有许多更好的方法来处理将 JAR 或 AAR 添加到您的项目中 ;) - Bill Mote
1
@feeder1803 标记此为已验证。它可用。此答案需要被验证。 - Prasad
显示剩余3条评论


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接