1

画像、動画、その他のリソースを多用するアプリを開発しています。このすべての情報を保存するための適切な場所はどこでしょうか?プログラムでrawフォルダーを処理するのがおそらく最も簡単であることがわかりますが、これに対する正しいポリシーは何ですか?

4

2 に答える 2

4
  • アセットは、すでに圧縮されているアイテムにとっては本当に悪い場所です。アプリをビルドすると、アセットは圧縮されようとし、パフォーマンスに影響を与えます。減圧でも。
  • Res / rawは、事前に画像を持っている場合、特にアプリの起動後に画像をダウンロードしたくない場合は、ユーザーに待機させるのに適した方法です。
  • SDカードはあなたに最大のスペースを与えるはずです。ただし、リソースをネットからダウンロードする必要があります。アプリケーションと一緒にリソースを出荷して、SDカードに移動する方法は考えられません。インターネットからリソースをダウンロードするときは、次のサブフォルダーにリソースを保存してください。

    private File getResourceFilePath(String ralativePath, Context context) {
        if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
            return new File(context.getExternalFilesDir(null), ralativePath);
        } else {
            return new File(context.getFilesDir(), ralativePath);
        }
    }
    

そうしないと、ユーザーのデバイスのギャラリーなどでリソースが利用可能になるリスクがあります。

于 2013-01-06T15:36:28.163 に答える
0

resまたはrawフォルダーに保存すると、apkファイルに含まれるため、Playストアへのコンパイルとアップロードが長くなり、Playストアからのユーザーのダウンロードと更新にかかる時間が長くなることに注意してください。

メディアがかなり静的で数メガバイトを超える場合は、サイドでダウンロードされ、ユーザーが選択できる別のフォルダーに保存されるzipファイルにします。そうすれば、アプリケーションの更新とは別にメディアを更新できます。

zipファイルのルートをたどる場合は、GooglePlayが提供するAPK拡張ファイルのサポートを確認する必要があります。http://developer.android.com/google/play/expansion-files.html

拡張機能を使用する場合でも、他のストア(Amazon、Nookなど)では、アプリでzipファイルのダウンロードをサポートする必要があることに注意してください。

-ジェームズ

于 2013-01-06T15:34:14.387 に答える