問題タブ [android-paging]
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 データベースを使用してページング ライブラリを使用して簡単なメモ機能を作成しましLiveData
たが、実際には何もページ付けされていません。おそらく、ページネーションが行われていることを確認するために正しくデバッグしていません。アドバイスをいただければ幸いです。
私のDAOで:
次に、を からにNotesRepository
変換して、データ レイヤーの実装の詳細とアプリの残りの部分を分離します (私はクリーン アーキテクチャのファンです)。したがって、結果は次のとおりです。NoteEntity
Note
DataSource.Factory<Int, Note>
私のViewModel
場所PAGE_SIZE
は20です:
私Note
は単純です:
次に、メモを に表示していますRecyclerView
。
私のViewHolder
内容:
私のAdapter
内容:
そして私のFragment
内容:
RecyclerView のデータが正常に読み込まれ、各アイテムがバインドされるとデバッグ ログが表示されます。私の理解ではPagedListAdapter
、ユーザーがスクロールするときにリクエストの新しいページを使用PagedList
し、バックグラウンド スレッドで違いを計算して新しい s を処理します。
私のデータ ソースには 100 個のアイテムが含まれているため、ページ サイズが 20 の場合、平均的なサイズの電話でテストすると、データに対して 5 回の呼び出しが行われると予想されます。
これをデバッグして正しい呼び出し数を確認するにはどうすればよいですか? また、上記の実装では、これらのいずれか (PositionalDataSource、ItemKeyedDataSource、または PageKeyedDataSource) がデフォルトで使用されていますか?