0

エミュレーターのシミュレートされた SD カードに画像をアップロードしました。各画像を長押しして、ブラウザーからダウンロードしました。

DDMS パースペクティブでファイル エクスプローラーを見ると、それらがディレクトリsdcard/downloadにあることがわかります。

いくつかのオーディオ ファイルをダウンロードしてアプリで使用し、たとえばすべてのオーディオ ファイルのタイトルを一覧表示する場合、それらは同じディレクトリに保存されますか? (音声ファイルをコンピューターからエミュレーターに手動でプッシュしようとしています)。

これは正しくないようです。異なるタイプ (画像、オーディオ、ビデオ) のメディア ファイルは、異なるディレクトリに移動するべきではありませんか?

あと、ちょっと考えてみると、SDカードの物理ディレクトリとの関係はこんな感じでしょうか。

 Uri mMedia = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

ありがとう!

4

1 に答える 1

1

メディア コンテンツにアクセスする正しい方法は、デバイスのメディアコンテンツ プロバイダーを経由することです。

コンテンツ プロバイダを使用すると、データがディスク (つまり/sdcard/...) に格納されているか、SQLite データベースなどに格納されているかに関係なく、統一された方法でデータに簡単にアクセスできます。通常、コンテンツ プロバイダは、カスタムの Android 固有のcontent://URI スキームを使用してデータを公開します。

特定のコンテンツ URI ( などMediaStore.Images.Media.EXTERNAL_CONTENT_URI) に存在するコンテンツを照会するには、 クラスを使用しContentResolverます。このクラスの使用方法の例は、SDK サンプルとAndroid オープン ソース プロジェクト( gitweb ) のいたるところにあります。

また、MediaScannerConnectionメディア スキャンのトリガー (メディア コンテンツ プロバイダーに入力する) などの情報については、クラスを参照してください。

于 2010-05-28T06:40:17.093 に答える