現在、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)
}
}
コンテキストが欠落しているかどうかはわかりませんが、私が達成したかったのは、データのプログレッシブ ロードでした。ヘルプ/説明は非常に高く評価されます。