0

ユーザーがサーバーからいくつかの画像ファイルをダウンロードできるAndroidアプリケーションを作成しています。画像ファイルはAndroidモバイルに保存されます。

ここで、ユーザーがインストール後にアプリケーションをすばやく起動できるように、いくつかの画像ファイルを apk ファイル内に配置したいと考えています。それらをディレクトリに配置できることがわかりましassetsたが、ディレクトリは読み取り専用です。ユーザーが他の画像ファイルをダウンロードするときは、それらを別のディレクトリに保存する必要があります。

したがって、画像ファイルを保存するディレクトリは 2 つになりますが、それらは同じタイプです。

この場合の良い解決策はありますか?

4

1 に答える 1

1

Android でデータを配置できるさまざまな場所のリストについては、http://developer.android.com/guide/topics/data/data-storage.html#filesInternalをご覧ください。

必要に応じて、ダウンロードしたイメージ ファイルを 3 つの場所のいずれかに配置する必要があります。

画像がユーザーによって表示されることを意図している場合 (ダウンロードした写真など)、それらを外部ストレージに置きます。それらがユーザー インターフェイス要素またはその他の重要な (ユーザー向けではない) 画像であることを意図している場合は、それらを内部ストレージに配置します。すばやくアクセスできるようにキャッシュされ、必要に応じてダウンロードされる場合 (たとえば、Web サイトで見つかったような一時的な画像)、それらを内部キャッシュ ディレクトリ ( Context.getCacheDir()) に配置します。

アセットがあまりない場合は、プログラムを最初に実行するときにそれらをターゲットの場所にコピーできます (たとえば、特定のファイルの存在を確認し、セットアップが完了したらそのファイルを作成します)。次に、1 か所だけをチェックする必要があります (キャッシュ ディレクトリを除きます。キャッシュ ディレクトリの場合、ファイルが永久に残り続けるとは限りません)。

大量のアセット ファイルがある場合は、2 段階のルックアップを使用します。最初にダウンロードしたイメージ ディレクトリを調べて (たとえば、組み込みのアセットをオーバーライドできるように)、次にアセット ディレクトリを調べます。これは、必要に応じて複数の保管場所を利用できるほど柔軟でもあります。

于 2012-09-16T06:14:07.323 に答える