在我的 android 应用程序中,我JSON
从 wed 服务器加载了一些数据 ()。我需要存储这些数据。
我要保存的所有数据 - 它是JSONObject
具有 30-50 个字段的 s 的固定数量(例如 5)。
这是保存每个JSONObject
的好主意Preference
吗?还是会更好用SQLite
?
注意:我为什么要问?
- 保存
Preference
- 实施需要 10 分钟。 - 使用
SQLite
- 实施需要一两天,并且需要编辑数据库,当我将添加新字段时。
您可以将 JSON 直接保存在 SQLite 数据库中。如果您解析数据然后保存在数据库中,那么您需要一些时间才能使一切正常工作。但是考虑将 JSON 直接保存在数据库中。它将仅在数据库链接和 json 响应中需要两个字段。
优点: - 节省大量时间 - 您可以在未来的应用程序中保存相同的解决方案,以便将 JSON 保存在数据库中。
缺点 - 您将无法查询数据 - 您必须每次都解析
我的实现选择是一个数据库表,它将对象存储为您可以然后转换为本机中间对象的东西。通过将本地数据存储为 JSON,您可能会在可预见的未来将自己锁定为在应用程序中保留 JSON 解析器,即使您的 Web 服务更改其格式也是如此。
例如,如果您的 Web 服务更改为 XML,您仍然必须将 JSON 解析器保留在应用程序中,以处理那些升级应用程序并必须进行数据迁移的用户。
我更喜欢这里的 sharedpreference ,因为数据的大小不是太大。如果数据量太大并且有很多字段,那么数据库将是首选。您可以将整个 json 字符串保存到首选项中,并在运行时解析后使用它。
我更喜欢数据库,如果您需要 2 天的时间来进行相当简单的数据库设置,您也许应该抓住任何机会练习一下。
但是,如果您确定您永远不会拥有(复杂器)查询的任何优势,那么将其保存到数据库中可能不会给您带来任何真正的优势。