Android分页库-地图室数据源.Factory<;*,数据库模型>;到DataSource.Factory<;*,PresenterModel>;
我在我的应用程序中使用了两种型号:Android分页库-地图室数据源.Factory<;*,数据库模型>;到DataSource.Factory<;*,PresenterModel>;,android,android-room,android-jetpack,android-paging,android-paging-library,Android,Android Room,Android Jetpack,Android Paging,Android Paging Library,我在我的应用程序中使用了两种型号: 数据库 演示者(UI) Android分页为我提供了一个DataSource.Factory @Dao 接口项目DAO{ @查询(“从项目中选择*) fun getAllProjects():DataSource.Factory ... } 当我想使用LivePagedListBuilder(dataSourceFactory,config)创建LiveData时,我需要映射: DataSource.Factory-|------>DataSource.Fa
DataSource.Factory
@Dao
接口项目DAO{
@查询(“从项目中选择*)
fun getAllProjects():DataSource.Factory
...
}
当我想使用LivePagedListBuilder(dataSourceFactory,config)
创建LiveData
时,我需要映射:
DataSource.Factory
-|------>DataSource.Factory
有没有办法做到这一点。我也愿意在这里使用RxKotlin(RxJava)实现任何方法。以下是我如何实现的 数据源
fun getDataSource(): DataSource.Factory<Int, DBModel> {
return database.dao.getAllData()
}
现在我有了一个绑定适配器,在这里我将数据从db模型转换为域模型
@BindingAdapter("setData")
fun setImageScanned(recyclerView: RecyclerView, data: List<DBModel>?) {
val adapter = recyclerView.adapter as MyAdapter
adapter.submitList(it.asDomainModel())
}
}
@BindingAdapter(“setData”)
fun setImageScanned(recyclerView:recyclerView,数据:列表?){
val adapter=recyclerView.adapter作为MyAdapter
adapter.submitList(it.asDomainModel())
}
}
因此,您在片段处观察数据,以便可以将数据转换为observer内部的presenter。
asDomainModel是一个进行转换的扩展函数如何将数据绑定到回收视图?你在使用绑定适配器吗?@Abdul我在观察它的
片段的中使用我的观察者的submitList
函数。我想知道有没有办法将数据库映射到UI模型。谢谢,我真的很感激。如果没有更好的答案,我会给你打分,那太好了。
val scannedCompleteList=App.getRepository().getDataSource().toLiveData(
Config(
pageSize = 60,
enablePlaceholders = true,
maxSize = 200
)
)
@BindingAdapter("setData")
fun setImageScanned(recyclerView: RecyclerView, data: List<DBModel>?) {
val adapter = recyclerView.adapter as MyAdapter
adapter.submitList(it.asDomainModel())
}
}