Android Preferences DataStore与现有会议室实施

问题描述

我是Android开发的新手,即将为我的应用实现简单的“偏好设置”。似乎SharedPreferences是一个死胡同,并且有很多弊端,所以我正在研究DataStore(非Proto)与Room。 由于我已经在我的应用程序中大量使用了Room和LiveData(是的,我知道Flow是新的热点),所以使用DataStore也有什么好处吗?我了解建议将Room用于大型或大型应用复杂的数据,因为我已经阅读了以下内容,但我希望经验更丰富的开发人员可以进一步帮助我解决这个问题:

SQLAlchemy at Architecture of Open Source Application

https://android-developers.googleblog.com/2020/09/prefer-storing-data-with-jetpack.html

https://proandroiddev.com/lets-explore-jetpack-datastore-in-android-621f3564b57

谢谢。

解决方法

official blog post you linked的一节专门介绍了Room与DataStore:

如果需要部分更新,参照完整性或对大型/复杂数据集的支持,则应考虑使用Room而不是DataStore。 DataStore非常适合小型,简单的数据集,并且不支持部分更新或参照完整性。

用户首选项几乎总是属于“小型,简单数据集”,可以轻松地表达为键/值对(如果要使用Proto DataStore,则更复杂),而无需表架构的开销,SQL查询,自定义解析或关系数据库的“关系”部分。