当用户登录我正在开发的应用程序时,后端会发回有关该用户的信息。我想保留信息,以便在没有网络访问时可以用于其他活动。
我知道Android的两个主要持久性选项是SharedPrefereces和SQLite,我正在尝试确定哪个更适合我的用例。有三个要求:
这是我尝试在这些维度上比较SharedPreferences和SQLite。 (请注意,StackOverflow上还有其他问题需要比较SharedPreferences和SQLite - "Pros and Cons of SQLite and Shared Preferences","Saving data on Android : File Storage vs SQLite Database vs Shared Preferences" - 但答案并未涉及所有三个维度。)
SharedPreferences
SQLite的
如果我的评估是正确的,看起来似乎是SharedPreferences竞争条件意味着我必须使用SQLite来满足要求,即使这样做涉及更多。但我的评估是否正确?
答案 0 :(得分:0)
你说:
少量原始数据类型或简单引用类型
然后绝对是SharedPreferences。如果您可以映像以拥有许多类似的行数据,这些行都是唯一行,那么请使用SQLite。您有三个要求,但它们都不需要存储大量相似但仍然独特的数据。
另一方面:
也可能需要存储派生类型的数组或对象。
我建议将这些数据存储在私有文本文件中,并且每次启动应用程序都会尝试解码数据(如果存在)。