2011-11-08 8 views
2

私はローダーとは何かを理解しようとしています。誰もそれを使って例を共有することはできますか?私は、アクティビティやフラグメントで複数のローダーをいつ使用できるかわかりません。実装する複数のローダーのインスタンスを1つ特定することはできません。アクティビティまたはフラグメントで複数のローダーを使用する場合

+0

詳細については、 'LoaderManager'に(http://www.androiddesignpatterns.com/2012/07/understanding-loadermanager.html)[** **ブログ記事をこのチェックアウト...うまくいけば、それは便利です。 ) –

答えて

5

ローダーは、一般的にリストを取り込むために使用されますが、全体のホストに使用できます。基本的に、別のスレッドで行うことは、ローダーで行うことができます。ネットワークを複数回呼び出す必要があり、結果を取得するときに別の処理を行う必要がある場合は、複数のローダーを使用することになります。また、ローダーを1つ使用してカーソルでリストを作成し、別のローダーを使用してネットワーク呼び出しを行うこともできます。

+0

これは、1つのアクティビティを使ってすべてのダウンロードファイルを一覧表示すると、複数のローダーを使用できます。1つのローダーがアイテムのリストに使用され、他のローダーはファイルのダウンロードに使用されますか? –

+0

確かに、あなたがしたい場合。それらは両方とも「読み込み中」の操作です。ファイルのダウンロードに関しては、代わりにIntentServiceを使用して、ユーザーがアクティビティを終了しても、ファイルが完了するまでダウンロードされます。 –

0

アクティビティで複数のローダーを使用できるか、または というフラグメントがいつ使用可能かわかりません。 に実装する複数のローダーのインスタンスを1つ特定することはできません。ここで

あなたが行きます!

はあなたがニュースアプリを作っているとしましょう。

ニュースを表示するランチャーActivityには、ListView/RecyclerViewがあります。あなたのlistItemのそれぞれには、サムネイルを表示する1 ImageViewを持っている2 TextViews - ニュース記事のタイトル&のための1つのニュース記事カテゴリの他(例:政治、スポーツ、テクノロジー)。

ニュースを入手するには、APIを使用してリモートサーバー(ウェブサイト)からデータを取得する必要があります。また、データを取得すると、そのWebサイトはJSONの形式でデータを返します。

あなたはそのJSONをパース、JSONを取得し、そのWebサイトに接続する必要がある(すなわち、抽出ニュース記事のタイトル、ニュース記事のカテゴリ、thumbnail_URL)。抽出したthumbnail_URLからサムネイルをダウンロードし、データをListView/RecyclerViewにバインドする必要があります。

この場合、JSONの解析にはLoaderを使用できます。抽出されたthumbnail_URLからサムネイルをダウンロードするには別のLoaderを使用してください。

関連する問題