【发布时间】:2021-09-16 13:11:46
【问题描述】:
我正在尝试实现here 中描述的 MVVM+Repository 模式,并且我想同时将本地文件和 Web 服务器数据缓存到 SQL DB 中。 (我的目标是 ViewModel
在当前状态下,当 ViewModel 请求存储库返回数据时,存储库从 SQL DB 返回缓存的数据,如果缓存无效,则从 RemoteDataSource(Retrofit) 刷新。 我目前正在使用 ContentResolver Cursor 收集本地文件列表并为本地文件创建了一个 DataSource,并且我成功地分别添加了本地和 Web 数据。 但是,我很困惑 ContentResolver 扫描器在这个架构中应该放在哪里。 我应该把这个类当作一个本地数据源吗?还是远程数据源?
Repository.kt
class Repository(
//Injected from Hilt
val localDataSource: LocalDataSource,
val remoteDataSource: RemoteDataSource,
val localFileDataSource: RemoteDataSource,
) { //caching code }
【问题讨论】: