0

SDカードからオーディオファイルを取得しようとしています。私が使用しているコードは次のとおりです。

//the URI where I want the query to be performed
Uri externalAudio = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

String projection[] = new String[] {"android.provider.MediaStore.Audio.Media.TITLE"};
Cursor curExternalAudio = cr.query(externalAudio, projection, null, null, null);
//code to display result

エラーは最後の行にありますが、射影配列が原因です。logcat に表示されるエラーは次のとおりです。

E/AndroidRuntime(1994): Caused by: android.database.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: SELECT android.provider.MediaStore.Audio.Media.TITLE FROM audio

このコードの何が問題なのか誰か教えてもらえますか??

4

1 に答える 1

2

android.provider.MediaStore.Audio.Media.TITLE現在、有効な列名ではない射影配列の列名として渡しています。android.provider.MediaStore.Audio.Media.TITLEContentProvider の文字列列名でもある値を渡す必要があります。射影配列を次のように変更します。

String projection[] = new String[] {android.provider.MediaStore.Audio.Media.TITLE};
Cursor curExternalAudio = cr.query(externalAudio, projection, null, null, null);

ノート:-

android.provider.MediaStore.Audio.Media.TITLEの文字列値は「タイトル」です

于 2013-03-28T07:26:14.337 に答える