2012-03-18 4 views
0

私はこれをしたいと思います。私のアプリにはたくさんの画面があり、それぞれの画面の上部にはimageViewがロゴとして表示されます。だから私は20の画面があり、それは私のアプリを多くのMbにする私のドロウアブルのイメージ(20 * 3)を意味します。この画像は静的で決して変更されないので、私はこれをやりたいと思っています:この画面が初めて起動されたときだけ、ウェブから取得します(私はそれを行う方法を知っています、私はこれを尋ねていません)。ユーザーのデバイスに保存し、そのパスをソースとして使用します。 (毎回待っているユーザーにとって迷惑になるから)それは可能ですか?私はSDからデータを取得しているので、私のアプリは遅くなります(初めてではなく、残りの部分)。最初にリコールされた後にデバイスにデータを格納します。

+0

60種類の画像がありますか?または、60の場所に1つの静止画像しか表示されませんか? – zapl

+0

ロゴ20個、各スクリーンごとに1個。 –

+0

ヘッダーやロゴを含むレイアウトを作成し、それを表示する必要がある各レイアウトでを使用しないでください(任意の数の画面で1つのイメージ)。httpダウンロードではオフラインユーザーに対処する必要があり、データ使用量は – moujib

答えて

1

はい、これはかなり簡単に実行できます。 SDカードにデータを保存する必要はありません。内部ストレージにイメージを保存することができます。

基本的には、キャッシュディレクトリを設定します。イメージが必要なときは、キャッシュディレクトリを確認し、そこにファイルがない場合は、httpでダウンロードしてファイルをキャッシュディレクトリに保存します。

リソースの取得方法が変更されます(たとえば、R.drawable.imagenameを使用できなくなります)が、プログラム可能にドロアブルを読み込むだけで済みます。

+0

アンドロイドにキャッシュを設定する方法のサンプルコードはありますか? –

+0

キャッシュでは、ファイルシステム上のファイルを意味します。私はAndroidのリファレンスドキュメント(http://developer.android.com/guide/topics/data/data-storage.html)のデータストレージセクションにあるものよりも複雑なものは想定していません。 –

関連する問題