Browse » Home » Resource, Tips » Blog article: 获取本地Music资源列表

这个例子包含了取得本地资源的方法,并且具有一定的代表性。其中包含了两个部分:
1)通过managedQuery()获取Cursor资源。
2)通过一个循环将Cursor中的资源添加到一个空的List中。

定义映射到DB的Columns标签:

String[] projection = {
    MediaStore.Audio.Media._ID,
    MediaStore.Audio.Media.ARTIST,
    MediaStore.Audio.Media.TITLE,
    MediaStore.Audio.Media.DATA,
    MediaStore.Audio.Media.DISPLAY_NAME,
    MediaStore.Audio.Media.DURATION
};

定义查询资源DB的Filter:

String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";

源代码:

String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";  

String[] projection = {
    MediaStore.Audio.Media._ID,
    MediaStore.Audio.Media.ARTIST,
    MediaStore.Audio.Media.TITLE,
    MediaStore.Audio.Media.DATA,
    MediaStore.Audio.Media.DISPLAY_NAME,
    MediaStore.Audio.Media.DURATION
};  

cursor = this.managedQuery(
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
    projection,
    selection,
    null,
    null);  

private List songs = new ArrayList();
while(cursor.moveToNext()){
    songs.add(cursor.getString(0) + "||" + cursor.getString(1) + "||" +   cursor.getString(2) + "||" +   cursor.getString(3) + "||" +  cursor.getString(4) + "||" +  cursor.getString(5));
}

参考原文:androidsnippets.org

Tags: , ,

Posted in Resource, Tips |

Related Posts



Leave a Reply

You must be logged in to post a comment.