Извлечение всех изображений галереи и отображение в приложении android - PullRequest
2 голосов
/ 13 апреля 2020

Я извлекаю все изображения из галереи и показываю их в моем приложении android.

Инициализировано в onCreate: supportLoaderManager.initLoader (IMAGE_LOADER_ID, null, this)

1st Проблема:

В описанной выше инициализации supportLoaderManager устарел. Так что же является альтернативой?

Во-вторых, я использую приведенный ниже код для извлечения изображений:

override fun onCreateLoader(id: Int, args: Bundle?): Loader<Cursor> {

    val uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
    val projection =
        arrayOf(MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
    val selection: String? = null     //Selection criteria
    val selectionArgs = arrayOf<String>()  //Selection criteria
    val sortOrder: String? = MediaStore.Images.Media.DEFAULT_SORT_ORDER

    return CursorLoader(
        applicationContext,
        uri,
        projection,
        selection,
        selectionArgs,
        sortOrder
    )
}

Здесь изображения располагаются в случайном порядке. Так может ли кто-нибудь помочь мне в сортировке изображений?

1 Ответ

0 голосов
/ 13 апреля 2020

Немного поработав, я заменил:

val sortOrder: String? = MediaStore.Images.Media.DEFAULT_SORT_ORDER

на:

val sortOrder: String? = MediaStore.Images.Media.DATE_MODIFIED

И все заработало нормально. Кроме того, чтобы добавить элементы в обратном порядке, я добавил элементы в позиции 0, например:

while (it.moveToNext()) {
    listOfAllImages.add(0, it.getString(columnIndexData))

    binding.RVGalleryImages.layoutManager =
        LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)

    binding.RVGalleryImages.adapter =
        this.let { CreateFeedGalleryAdapter(it, listOfAllImages) }
}

Единственная проблема, с которой я сталкиваюсь, заключается в том, что этот код устарел, и мне нужен новый метод для достижения этой цели. задача.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...