Как запросить ведра с разрешением контента с подсчетом (эффективно)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как запросить ведра с разрешением контента с подсчетом (эффективно)

Сообщение Anonymous »

Я пытаюсь запрашивать все ведра во внешнем URI с их счету от ContentReSolver .
Я попробовал два подхода, и оба имеют большие недостатки. ContentReSolver.query_ARG_SORT_COLUMNS и принести пучки. /> [*] Что, по моему мнению, неэффективно из-за запроса в цикле. ....
....

val queryBundle = Bundle().apply {
// SORTING
putStringArray(
ContentResolver.QUERY_ARG_SORT_COLUMNS,
...

// Group results by Bucket ID
putStringArray(
ContentResolver.QUERY_ARG_GROUP_COLUMNS,
arrayOf(MediaStore.Files.FileColumns.BUCKET_ID)
)

val cursor = context.contentResolver.query(externalUri, projection, queryBundle, null)

while (cursor.moveToNext()) {

val bucketId = cursor.getString(bucketIdIndex)
val bucketName = cursor.getString(bucketNameIndex)
// Query in looping :(
val countCursor = context.contentResolver.query(
externalUri,
projection,
"${MediaStore.Files.FileColumns.BUCKET_ID}=${bucketId}",
null,
null,
)

val bucketCount = countCursor?.count
....
....
}
...

< /code>
подход 2 < /h2>
  • Запрос всех носителей ContentReSolver и идентифицировать каждый < /li>
    Разделение BucketId и найдите счет. Файлы в ContentResolver не масштабируются для большого количества файлов
Есть ли эффективный способ достижения этого с помощью ContentResolver?

Подробнее здесь: https://stackoverflow.com/questions/795 ... fficiently
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»