Android getContentResolver() Использование «IN» в ИНЕКЕ с большим количеством предметовAndroid getContentResolver() Использование «IN» с ИНЕКЕ с большим количеством предметов
Я полностью и Она Реализован этот успех запроса дает необходимые данные
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String projection[] = {MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.COMPOSER,
MediaStore.Audio.Media.DURATION,
// android.provider.MediaStore.Audio.Albums.ALBUM_ART,
MediaStore.Audio.Media.ALBUM_ID,
MediaStore.Audio.Media._ID,};
String selection1 = MediaStore.Audio.Media.IS_MUSIC + " = 1" + " AND "
+ MediaStore.Audio.Media._ID + " IN(";
for (int i = 0; i < SongsList.size(); i++) {// songslist is an array of IDs
selection1 += "?, ";
}
selection1 = selection1.substring(0, selection1.length() - 2) + ")";
String[] selectionArgs = new String[SongsList.size()];
selectionArgs = SongsList.toArray(selectionArgs);
Cursor cursor = this.getContentResolver().query(uri, projection, selection1,
selectionArgs, null);
Однако, когда количество предметов большой запрос не выполняется,
есть ли альтернатива для получения большого количества элементов с getContentResolver() без использования «IN» в ИНЕКЕ
Почему не использовать 'AsyncTask' для выполнения запроса в рабочей Thread? –
может предоставить пример с asynctask – 1234567