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