首页 > 解决方案 > 关于在Android中保存和加载对象的问题

问题描述

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

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

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

这是一个好习惯吗?有没有更好的方法来处理这个?

谢谢!

标签: androidgson

解决方案


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

房间持久性库文档

Youtube 上的 Google Android 开发者视频。

您可以按照链接的示例、示例和Google Codelab快速学习。这很容易。

或者,您可以采用不那么推荐的方式直接使用 SQLite - 阅读此处


推荐阅读