目前,我正在尝试实现 android jetpack 提供的分页库。但是我在从 DAO 获取数据时遇到了一些麻烦。实际上,当我获取数据时,PagedList
表中所有行的大小!
这是我的 DAO:
@Dao
interface TableDao {
@Query("SELECT * FROM table")// I tried also with ORDER BY field DESC, as I saw in some examples.
fun getData(): DataSource.Factory<Int, MyEntity>
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertAll(songs: List<SongEntity>)
}
我试图满足这个测试:
@Test
fun pageSize() {
val data = EntityFactory.makeList(50)
database.getTableDao().apply {
insertAll(data)
val pageSize = 5
RxPagedListBuilder(getData(), pageSize)
.buildObservable()
.map { it.size }
.test()
.assertValue(pageSize)
}
}
我不知道我是否遗漏了一些上下文,但我想要实现的是数据的渐进式加载。任何帮助/解释将不胜感激。