android - 关于在Android中保存和加载对象的问题
问题描述
最近我开始涉足 Android 开发。我做了很多基础教程并制作了几个小应用程序,但我不明白的一件事是保存和加载对象的做法。我了解外部和内部存储、共享首选项和数据库之间的区别;我只是在实施它们时感到困惑。
在我之前的一个项目中,我使用 Gson 将我的自定义对象转换为 json,并在创建对象后立即将其保存到内部存储中。然后,每次用户打开应用程序时,我都会拉出所有对象(它们都是同一个类)并将它们放入一个数组中,以便我的应用程序可以使用它们。这对我来说似乎不正确,我想知道是否有人可以告诉我这是否是一种好习惯,或者向我解释为什么它不是以及替代方案是什么。
我目前正在开发一个笔记应用程序。我有一个笔记对象,它有一个标题、正文和创建日期。我正在考虑做与上述相同的事情。当用户创建便笺时,它将转换为 json 并在内部保存。如果用户关闭应用程序并重新打开它,它将加载 json,将它们转换回对象,并将它们放入一个数组中,以便我可以显示它们并允许用户查看和编辑它们。
这是一个好习惯吗?有没有更好的方法来处理这个?
谢谢!
解决方案
您应该将数据保存到设备上的 SQLite 数据库而不是 JSON。查看 Room Persistence Library 以更顺畅地在 SQLite 中保存对象。
Youtube 上的 Google Android 开发者视频。
您可以按照链接的示例、示例和Google Codelab快速学习。这很容易。
或者,您可以采用不那么推荐的方式直接使用 SQLite - 阅读此处。
推荐阅读
- javascript - 将电子邮件数组连接到 html 文件
- java - 如何从首选项中获取储值
- c# - 手机启动时运行 android Worker 不起作用
- python - 将变量传递给 WTForms 类
- tomcat - web-app 无法与使用 windows odbc 数据源管理员配置的 64 位数据库建立任何连接
- blender - 如何将 USDC 转换为 OBJ
- python - Django - 使用旧字段的值迁移新字段
- rust - 如何在 rust 中找到本地时区偏移量
- python - 我想使用来自网站的 python 解析来自多个 json+id 标签的数据
- html - 将新表行添加到现有表但在第一行之前