我正在考虑两种方法
数据描述:
我想在此处缓存的数据是来自电子商务网站的20个产品的列表。它们不是复杂的对象,并且没有嵌套,因为这里使用了jsonapi.org规范。
通过Retrofit,我已经可以获得20个产品POJO,其中Product是Java模型类,属性少于10个。
哪种方法更好,为什么?
我不考虑SQLite数据库,因为我觉得它更贵,只适用于
答案 0 :(得分:1)
这实际上取决于两个主要因素: 1.用例 2.特定系统的舒适度。
你可以使用任何你认为合适的人。如果你真的需要像数据结构这样的数据库和一些复杂的查询机制,SQLite就可以了。你可以用一些ORM系统包装SQLite,如GreenDAO或ORMLite,如果它可以帮助你。还有Realm,更多面向对象的方法(有它的问题)。
您也可以选择SharedPreferences(我个人不喜欢这种方法),或者只是将带有parcelable或Java Serialization的POJO序列化为文件。这实际上取决于你想要实现的目标,因为任何方法都有其优点和缺点。
对于面向SQL的数据库,有一个很大的SQL用户群良好,但你需要映射不那么好。
Realm,可能是移动设备数据库中的下一件大事(好),但它还不成熟,你必须在检索时使用具体的类(错误),我可能想要一个抽象/接口/基类。
Parcelable - 您必须编写大量代码(错误),但速度相当快(良好)
Java序列化 - 易于重构任何可序列化的类,无序列化代码,良好适用于中小型数据。 不太好,因为它使用了反射。