SQLite - Как добавить заказ к этому запросу, который ищет из корзины изображений - PullRequest
0 голосов
/ 30 января 2020

В настоящее время у меня есть запрос на получение изображений из моего ведра в MediaStore, и он находится в порядке возрастания (самые старые сообщения появляются первыми). Как изменить мой запрос, чтобы он сначала отображал новейшие изображения?

String[] PROJECTION_BUCKET = {
            MediaStore.Images.ImageColumns.BUCKET_ID,
            MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
            MediaStore.Images.ImageColumns.DATE_TAKEN,
            MediaStore.Images.ImageColumns.DATA};

    Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

    //Not sure how to modify query here
    Cursor cur = getContentResolver().query(images, PROJECTION_BUCKET, 
    MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " like ? ",
 new String[] {"%Download%"} , null);

    Log.i("ListingImages"," query count=" + cur.getCount());

    if (cur.moveToFirst()) {
        String bucket;
        String date;
        String data;
        int bucketColumn = cur.getColumnIndex(
                MediaStore.Images.Media.BUCKET_DISPLAY_NAME);

        int dateColumn = cur.getColumnIndex(
                MediaStore.Images.Media.DATE_TAKEN);
        int dataColumn = cur.getColumnIndex(
                MediaStore.Images.Media.DATA);

        do {

            bucket = cur.getString(bucketColumn);
            date = cur.getString(dateColumn);
            data = cur.getString(dataColumn);

            Log.i("ListingImages", " bucket=" + bucket
                    + "  date_taken=" + date
                    + "  _data=" + data);
        } while (cur.moveToNext());
    }

1 Ответ

1 голос
/ 30 января 2020

Вам придется использовать последний аргумент метода query(), который является sortOrder. Поэтому вместо null передайте столбец с последующим DESC для сортировки по убыванию:

Cursor cur = getContentResolver().query(
    images, 
    PROJECTION_BUCKET, 
    MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " like ? ",
    new String[] {"%Download%"}, 
    MediaStore.Images.Media.DATE_TAKEN + " DESC"
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...