Android查询MediaStore使用IN子句
我正在尝试为存储在“播放列表”中的项目提取所有曲目,我有一组Android查询MediaStore使用IN子句,android,media,Android,Media,我正在尝试为存储在“播放列表”中的项目提取所有曲目,我有一组android.provider.MediaStore.Audio.Media.\u ID值,我正在尝试使用in子句构建查询,下面的示例不起作用 String[] projection = { android.provider.MediaStore.Audio.Media.TITLE, android.provider.MediaStore.Audio.Media._ID, android
android.provider.MediaStore.Audio.Media.\u ID
值,我正在尝试使用in子句构建查询,下面的示例不起作用
String[] projection = { android.provider.MediaStore.Audio.Media.TITLE, android.provider.MediaStore.Audio.Media._ID,
android.provider.MediaStore.Audio.Media.ALBUM, android.provider.MediaStore.Audio.Media.ARTIST,
android.provider.MediaStore.Audio.Media.DURATION, android.provider.MediaStore.Audio.Media.DISPLAY_NAME,
android.provider.MediaStore.Audio.Media.ALBUM_ID, android.provider.MediaStore.Audio.Media.ARTIST_ID};
String whereString = android.provider.MediaStore.Audio.Media._ID + " IN (?)";
String[] selectionArgs = {"626,625"};
但是,如果我将selecionArgs
更改为
String[] selectionArgs = {"626"};
它确实有效
IN子句是否有效,或者我是否必须构建大量的
或语句(我显然不想这样做)如果其他人尝试这样做,IN语句需要匹配的“?”号,即,您不能有一个包含值列表的参数,因此这是有效的
String[] projection = { android.provider.MediaStore.Audio.Media.TITLE, android.provider.MediaStore.Audio.Media._ID,
android.provider.MediaStore.Audio.Media.ALBUM, android.provider.MediaStore.Audio.Media.ARTIST,
android.provider.MediaStore.Audio.Media.DURATION, android.provider.MediaStore.Audio.Media.DISPLAY_NAME,
android.provider.MediaStore.Audio.Media.ALBUM_ID, android.provider.MediaStore.Audio.Media.ARTIST_ID};
String whereString = android.provider.MediaStore.Audio.Media._ID + " IN (?,?)";
String[] selectionArgs = {"626","625"};