这个例子包含了取得本地资源的方法,并且具有一定的代表性。其中包含了两个部分:
1)通过managedQuery()获取Cursor资源。
2)通过一个循环将Cursor中的资源添加到一个空的List中。
定义映射到DB的Columns标签:
1 String[] projection = {
2 MediaStore.Audio.Media._ID,
3 MediaStore.Audio.Media.ARTIST,
4 MediaStore.Audio.Media.TITLE,
5 MediaStore.Audio.Media.DATA,
6 MediaStore.Audio.Media.DISPLAY_NAME,
7 MediaStore.Audio.Media.DURATION
8 };
定义查询资源DB的Filter:
1 String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
源代码:
01 String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
02
03 String[] projection = {
04 MediaStore.Audio.Media._ID,
05 MediaStore.Audio.Media.ARTIST,
06 MediaStore.Audio.Media.TITLE,
07 MediaStore.Audio.Media.DATA,
08 MediaStore.Audio.Media.DISPLAY_NAME,
09 MediaStore.Audio.Media.DURATION
10 };
11
12 cursor = this.managedQuery(
13 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
14 projection,
15 selection,
16 null,
17 null);
18
19 private List<STRING> songs = new ArrayList<STRING>();
20 while(cursor.moveToNext()){
21 songs.add(cursor.getString(0) + "||" + cursor.getString(1) + "||" + cursor.getString(2) + "||" + cursor.getString(3) + "||" + cursor.getString(4) + "||" + cursor.getString(5));
22 }
1)通过managedQuery()获取Cursor资源。
2)通过一个循环将Cursor中的资源添加到一个空的List中。
定义映射到DB的Columns标签:
1 String[] projection = {
2 MediaStore.Audio.Media._ID,
3 MediaStore.Audio.Media.ARTIST,
4 MediaStore.Audio.Media.TITLE,
5 MediaStore.Audio.Media.DATA,
6 MediaStore.Audio.Media.DISPLAY_NAME,
7 MediaStore.Audio.Media.DURATION
8 };
定义查询资源DB的Filter:
1 String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
源代码:
01 String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
02
03 String[] projection = {
04 MediaStore.Audio.Media._ID,
05 MediaStore.Audio.Media.ARTIST,
06 MediaStore.Audio.Media.TITLE,
07 MediaStore.Audio.Media.DATA,
08 MediaStore.Audio.Media.DISPLAY_NAME,
09 MediaStore.Audio.Media.DURATION
10 };
11
12 cursor = this.managedQuery(
13 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
14 projection,
15 selection,
16 null,
17 null);
18
19 private List<STRING> songs = new ArrayList<STRING>();
20 while(cursor.moveToNext()){
21 songs.add(cursor.getString(0) + "||" + cursor.getString(1) + "||" + cursor.getString(2) + "||" + cursor.getString(3) + "||" + cursor.getString(4) + "||" + cursor.getString(5));
22 }