-1

インターネットに保存されているAndroidデバイスで画像を表示する方法を見つけようとしていたところ、次のチュートリアルに出くわしました。

http://www.androidcookers.blogspot.com/2011/06/retrieve-image-from-internet.html http://www.edumobile.org/android/android-beginner-tutorials/downloading-an-image-from -the-server-and-displaying-it-on-screen /

これで、私のアプリは、インターネットからユーザーに表示する必要のある複数の画像が存在するアプリケーションのようなギャラリーのようなものになります。

上記の方法から、画像は最初に電話のどこかにダウンロードされてからアプリに表示されることがわかりました。

複数の画像を扱っているので、これらの画像はどこに保存されているのでしょうか?また、アプリを閉じた後、ダウンロードした画像を削除するなどのクリーンアップを行う必要がありますか?また、これらの画像をダウンロードするときにアプリケーションが消費できるスペースの量に制限はありますか?

ありがとうございました。

4

2 に答える 2

2

その状況で私が提案するのは、LazyLoaderを使用することです。非常に人気のあるライブラリがいくつかあります。1つはFedorの 遅延読み込みで、もう1つはUniversalImageLoaderです。

これで、私のアプリは、インターネットからユーザーに表示する必要のある複数の画像が存在するアプリケーションのようなギャラリーのようなものになります。

そのためには、を使用することをお勧めしGridViewます。完全に機能するソリューションについては、を使用して画像を表示する私の投稿を参照できますGridView(非常に長いため、回答へのリンクがあります):https ://stackoverflow.com/a/13265776/ 450534

注: にリンクされている例では、Facebook APIを使用して情報を取得していますが、正確なニーズに合わせて、コードの本質をいつでも抽出/推定できます。当然、特定の部分を適応させて独自のロジックに適合させる必要がありますが、開始するにはそれで十分です。

リンク先の回答では、FedorのLazyLoaderを使用しています。

複数の画像を扱っているので、これらの画像はどこに保存されているのでしょうか?また、アプリを閉じた後、ダウンロードした画像を削除するなどのクリーンアップを行う必要がありますか?また、これらの画像をダウンロードするときにアプリケーションが消費できるスペースの量に制限はありますか?

レイジーローダーまたはユニバーサルイメージローダーのいずれかを使用すると、それについて心配する必要はありません。アイデアは、ダウンロードされた画像をキャッシュすることです。Lazy Loaderは、すでにキャッシュされているイメージをチェックし、イメージを再度ダウンロードする代わりにそれらを使用します。パスを変更するだけで、選択したフォルダに保存できます。Lazy Loaderを使用するアプリケーションの1つで、[設定]パネルからキャッシュをクリアするオプションがあります。さらに、フォルダ自体は、ファイルエクスプローラを使用して手動で削除できます。

于 2013-02-11T05:23:56.977 に答える
0

それらは、保存するように指示した場所に保存されます。通常は、内部ストレージまたは外部ストレージのアプリのプライベートディレクトリに保存されます。画像を再度使用する場合は、次回ダウンロードする必要がないように保管してください。そうでない場合は、それらを削除する必要があります。内部ストレージにはスペース制限がありますが、正確な量はお使いの携帯電話のモデルによって決まります。外部ストレージは、SDカードのサイズによってのみ制限されます。

于 2013-02-11T05:02:19.247 に答える