2011-07-14 13 views
0

私はuriを介して個々のファイルのmediastoreに問い合わせる方法を見つけようとしています。私は、私のアプリで追加情報を提供したいと思っているウリのリストを持っています。URIを使用したMediaStoreの照会

のような: 内容://メディア/外部/オーディオ/メディア/ 10

または

ファイル:///sdcard/media/audio/sample.mp3

はここですコード私は周りに取り組んでいます。私は何がすべきかわからない?

 String[] cols = new String[] { 
       MediaStore.Audio.Media._ID, 
       MediaStore.Audio.Media.DATA, 
       MediaStore.Audio.Media.TITLE 
     }; 


     String where = MediaStore.Audio.Media._ID + "=" + id; 

     String[] proj = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Video.Media.SIZE, MediaStore.Audio.Media.ALBUM }; 

     Cursor musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, cols, null); 

ありがとうございます。

答えて

3

申し訳ありませんが、私はこれを考え出しました。

http://developer.android.com/guide/topics/providers/content-providers.html

そして、ここでそれが行わ取得するコードがあります:ここで私が後だった情報へのリンクです

Uri uri = Uri.parse("content://media/external/audio/media/10"); 
Cursor musiccursor = managedQuery(uri, null, null, null, null); 

if (musiccursor.moveToFirst()) { 
    String title; 
    int titleColumn = musiccursor.getColumnIndex(MediaStore.Audio.Media.TITLE); 
    title = musiccursor.getString(titleColumn); 
} 
1

1列のすべてを取得する必要はありません。試してみよう:

Uri uri = Uri.parse("content://media/external/audio/media/10"); 
String[] columns = new String[] {MediaStore.Audio.Media.TITLE}; 
Cursor musiccursor = managedQuery(uri, columns, null, null, null); 

if (musiccursor.moveToFirst()) { 
    String title = musiccursor.getString(0); 
} 
関連する問題