前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

PagingDataのテストデータを作成する

内容

Jetpack ComposeでPagingライブラリのレスポンスであるFlowを使ったComposableを Preview、テストしたい。どうすればよいか。

対応

Version 3.0.0-alpha04 から PagingData.from(List<T>) が使えるようになったのでこれを使う。

// 本の一覧があるとする
val books: List<Book> = listOf(Book(title="クラインの壺"), Book(title="利己的な遺伝子"))

// PagingData化
val booksData: PagingData<Book> = PagingData.from(books)

// Flow<PagingData>化
val booksFlow: Flow<PagingData<Book>> = flowOf(booksData)

// LazyPagingItems化
val pagingItem: LazyPagingItems<Book> = booksFlow.collectAsLazyPagingItems()

感想

ちゃんとComposableのプレビューが表示されることは確認済み。 これでComposableのPreviewやテストで任意のテストデータ(リスト)から作成できるようになった。 これはかなり便利。

参考

stackoverflow.com