假设我有一个Android代码块,大致如下:
但我想要的是这个:
当然,问题是FILE_PATH实际上不是我可以使用的列,据我所知,没有这样的列存在。
所以我在想:
String[] proj = {MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media._ID};
int[] to = new int[] { R.id.artist_name };
Cursor musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, null, MediaStore.Audio.Media.ARTIST);
ListView musiclist = (ListView) findViewById(R.id.mylist);
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.songitem, musiccursor, proj, to);
musiclist.setAdapter(mAdapter);
但我想要的是这个:
String selection = MediaStore.Audio.Media.FILE_PATH + " ilike '%audio%books%'";
String[] proj = {MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media._ID};
int[] to = new int[] { R.id.artist_name };
Cursor musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, selection, null, MediaStore.Audio.Media.ARTIST);
ListView musiclist = (ListView) findViewById(R.id.mylist);
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.songitem, musiccursor, proj, to);
musiclist.setAdapter(mAdapter);
当然,问题是FILE_PATH实际上不是我可以使用的列,据我所知,没有这样的列存在。
所以我在想:
- 有没有一种方法只查询某个目录中的音乐?如果有,应该如何操作?
- 如果不行,是否应该制作一个过滤器,通过目录筛选ListAdapter?如果是,那么如何操作?