2


さらに使用するためにインターネットからサウンドをダウンロードする Android アプリを作成する必要があります。
これらのサウンドはどこに保存すればよいですか? Sqlite はオプションですか? これらのファイルを読み込んで再生する最良の方法は何ですか?
前もって感謝します。

4

3 に答える 3

4

SD カードが存在する場合は、ファイルを SD カードに入れることをお勧めします。ただし、SD カードへのパスをハードコーディングしないでください。次のようなことをしたいと思うでしょう:

try {
        //Create handle to SD card drectory
        exportDirectory = new File(Environment.getExternalStorageDirectory() + "/MyDir");

        //Verify export path exists.  Create otherwise.
        if (exportDirectory.exists() == false) {
            if (exportDirectory.mkdirs() == false) {

                //Directory structure could not be created.
                //Message the user here
                return false;
            }
        }

        //Create handle to SD card file.
        exportFile = new File(exportDirectory.getAbsolutePath() + "/whatever.mp3");

        //Do whatever here

} catch(Exception e) {
        //Exception.  Message user and bail
        return false;
}

そこから、必要なデータをファイルに転送するのは簡単なことです。大量の追加情報を保存する予定がない限り、SQLite データベースはこのアプリにとって過剰なものになる可能性があります。また、ファイルを BLOB としてデータベースに直接保存しない限り、アプリケーションの実行中にユーザーがファイル システムをいじらないという保証もありません。ただし、MP3 などの場合、データベースを使用する代わりに、ID3 タグを介してトラック/アーティスト タイプ情報をファイルに直接保存できます。

ファイルの再生については、オーディオ API に関する Android ドキュメントを参照してください。素晴らしい情報が山ほどありますが、ここで繰り返すことはできません。

于 2010-10-20T21:07:39.390 に答える
2

それらを保存するのに最適な場所は、SDカードの個々のファイルとして、自分のフォルダーの下にあると思います。File("/sdcard/com.example.myapp/sound12345.mp3");


編集:私のものよりもはるかに完全なphobos51594の回答をご覧ください。

于 2010-10-20T12:56:02.073 に答える
1

ファイル システムに直接保存することをお勧めします。なぜデータベースに保存したいのですか?一緒に保存する必要がある追加情報はありますか? (タイトル、説明など)?そうでない場合は、ファイルシステムに直接書き込みます。

基本的に、アプリのデータ フォルダーに保存できます (共有設定と sqlite db も保存されます)。ただし、個人的には、/data パーティションで使用可能なメモリが減少するため、これはお勧めできません (Android フォンでは既に小さすぎます)。ほとんどの電話では、データの空き容量が 50 MB 未満です (つまり、一部を SD カードに移動できないアプリ)。

データ パーティションの空き容量を減らしすぎないように、可能な限り SD カードにこのような罰金を常に確保する必要があります。Froyo の A2SD 機能を使用しても、インストールされたアプリのすべてのデータが SD カードに移動されるわけではありません。*.dex ファイル (多くの場合、アプリの合計サイズの 10 ~ 50% の範囲) は、まだ /data パーティションに残っています。このアプリが使用する設定と sqlite データベースも同様です。したがって、A2SD を使用しても、ユーザーがインストールするアプリが増えるほど、スペースは少なくなります。

于 2010-10-20T12:57:59.607 に答える