問題タブ [android-paging-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android-room - ページング 3 ページャー内の部屋からページング ソースを取得しようとすると、「メイン スレッドでデータベースにアクセスできません」というエラーが表示される
E/ROOM: 無効化トラッカーを実行できません。データベースは閉じていますか?java.lang.IllegalStateException: UI が長時間ロックされる可能性があるため、メイン スレッドでデータベースにアクセスできません。androidx.room.RoomDatabase.assertNotMainThread(RoomDatabase.java:385) で androidx.room.RoomDatabase.query(RoomDatabase.java:441) で androidx.room.RoomDatabase.query(RoomDatabase.java:429) で androidx.room. InvalidationTracker$1.checkUpdatedTable(InvalidationTracker.java:461) で androidx.room.InvalidationTracker$1.run(InvalidationTracker.java:431) で androidx.room.InvalidationTracker.refreshVersionsSync(InvalidationTracker.java:513) で androidx.room.paging.LimitOffsetDataSource .isInvalid(LimitOffsetDataSource.java:101) at androidx.paging.LegacyPagingSource.(LegacyPagingSource.kt:50) at androidx.paging.DataSource$Factory$asPagingSourceFactory$1.
このエラーを解決するにはどうすればよいですか?
android - Paging 3 ライブラリを使用してページ リストと一緒にメタデータを渡す方法
Android Paging 3 ベータ ライブラリを使用して、リサイクラー ビューでページ分割されたリストを読み込み、MVVM アーキテクチャを使用しています。
ページに関する一般的な情報などの追加のメタ データをビューに渡す必要がありますが、PagingSource.LoadResult.Pageはアイテムのリストのみをビューに返すように設計されています。
ここに私が考えたいくつかのオプションがあります:
- ライブデータを使用してメタデータを個別に渡す
- データベースまたはメモリ内キャッシュから直接メタデータを読み取る
最善のアプローチは何ですか?他のより良い提案はありますか?