我无法在 SQLite 和 SharedPreferences 之间做出选择。
我可以用
JSON.parse(SharedPreferences.getString("data","qweqwe");
和
s.putString(key,JSON.stringify(JSONObject));
或者创建一个新的大类来将我的(文本)数据存储在 SQLite 中。 (PS:JSON.*是我自己的类)
什么会更快、更好?
我知道 SharedPreferences 用于“键值”数据,SQLite - 用于大量结构化数据。但在我的例子中,将 JSON 格式的数据存储在 SP 中并通过 key 访问会更容易。主要问题 - 它会变慢还是变快?优缺点?
最佳答案
一方面,这是一个稍微主观的问题(不是最适合 stackoverflow 的问题)。另一方面,从字面上理解你的问题标题,客观答案是“不,这不是坏”。
然而,推理有点主观,因为它“取决于”情况。
SharedPreferences
类实际上是存储在应用程序私有(private)(内部)存储中的文件的包装器/帮助器 - 据我了解,它是一个 XML 文件。基于这个事实,再问问自己……“将 JSON 格式的字符串保存在 XML 文件中是否不好”?
正如您在问题的评论中提到的那样,使用 SQLite 数据库将意味着编写额外的代码,而 SharedPreferences
的优点是任何扩展的 Android 类都可以通过名称访问给定的首选项文件Context
包括Application
、Activity
和Service
。
关于android - SharedPreferences里存 "JSON.stringify"数据不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820013/