有关在Android中保存和加载对象的问题

时间:2019-03-20 13:23:35

标签: android gson

最近我一直在从事Android开发。我已经做了很多基础教程,并制作了一些小型应用程序,但是我不了解的一件事就是保存和加载对象的做法。我了解外部和内部存储,共享首选项和数据库之间的区别;我只是在实施它们时感到困惑。

在我以前的项目之一中,我使用Gson将自定义对象转换为json,并在创建对象后立即将其保存到内部存储中。然后,每次用户打开应用程序时,我都会拉出所有对象(它们都是相同的类)并将它们放入数组中,以便我的应用程序可以使用它们。这对我来说似乎不合适,我想知道是否有人可以告诉我这是否是一种好习惯,或者向我解释为什么不这样做以及有什么替代方法。

我目前正在开发一个笔记应用程序。我有一个注释对象,该对象具有创建的标题,正文和日期。我正在考虑做与上述相同的事情。当用户创建笔记时,它将转换为json并在内部保存。如果用户关闭并重新打开应用程序,它将加载json,将它们转换回对象,然后将它们放入数组中,以便我可以显示它们并允许用户查看和编辑它们。

这是一个好习惯吗?有没有更好的方法来解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:2)

您应该将数据而不是JSON保存到设备上的SQLite数据库中。查看Room Persistence Library,以更流畅的方式将对象保存在SQLite中。

Room Persistence Library Documentation

Google Android Developer Video on Youtube.

您可以按照链接的示例,示例和Google Codelab进行快速学习。很简单。

或者,您可以直接使用不推荐使用的SQLite方法-阅读here

答案 1 :(得分:1)

这是不必要的,为什么不简单地使用SQLite数据库。为什么要将它们另存为JSON?