問題タブ [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.

0 投票する
0 に答える
274 参照

android - AsyncListUtil とデータ ページング ライブラリの違いは?

Android では、新しいページング ライブラリが導入されていますData Paging。以前は、AsyncListUtil非同期データ読み込みを処理するために RecyclerView と連携するクラスがありました。

Data pagingまた、RecyclerView でも動作し、アーキテクチャ コンポーネント関連のものに加えて、AsyncListUtil と同じタスクを実行します。

アーキテクチャ関連のものを除いてAsyncListUtil、実際の違いは何ですか。Data paging library

0 投票する
4 に答える
6193 参照

android - ページング ライブラリ - ページとサイズを取得する API を使用したネットワーク + db の境界コールバック

短い質問:

BoundaryCallbackページ+サイズを使用して新しいページとクラスをロードするAPIを使用して、アーキテクチャコンポーネントからページングライブラリでデータベース+ネットワークを処理する正しい方法は何ですか?

調査と説明

現在、アーキテクチャ コンポーネントのページング ライブラリで使用されるクラスBoundaryCallbackは、リスト内の要素のインスタンスをパラメータとして受け取りますが、この要素がどこにあるかという実際のコンテキストはありません。と で発生しonItemAtFrontLoadedますonItemAtEndLoaded

私の Api は、次のデータのチャンクをロードするために、ページとページのサイズを受け取ることになっています。ページ リスト ビルダーの一部として追加された境界コールバックは、プリフェッチ距離とページ サイズに基づいて、データの次のページをロードするタイミングを通知することになっています。

onItemAtFrontLoadedApi はページ番号とページのサイズを提供する必要があるため、とで提供されているリストから要素の 1 つを受け取るだけでは、それを Api に送信する方法がわかりませんonItemAtEndLoadedこのリンクの Google の例を確認すると、最後の要素の名前を使用して次の要素を取得しますが、ページ + サイズの Api には適合しません。

を使用するネットワークのみの別の例もありますがPagedKeyedDatasource、それをデータベースと BoundaryCallback と組み合わせる方法についてのサンプルや手がかりはありません。

編集:これまでに見つけた解決策は、最後に読み込まれたページを共有設定に保存することだけですが、それは汚いトリックのように聞こえます。

公式の意見については、 https://github.com/googlesamples/android-architecture-components/issues/252#issuecomment-392119468を参照して ください。