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

Я немного новичок в использовании SQLite, и мне нужна помощь по запросу. Прямо сейчас мой запрос возвращает мне все изображения из моего ведра в 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;

    Cursor cur = getContentResolver().query(
            images, PROJECTION_BUCKET, null, null, 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());
    }

(пока у меня есть только две папки), и он возвращает мне все изображения из этих двух групп

2020-01-16 02:57:06.118 6112-6112/e.com.tester3 I/ListingImages:  bucket=Download  date_taken=1578503579000  _data=/storage/emulated/0/Download/original.jpg
2020-01-16 02:57:06.118 6112-6112/e.com.tester3 I/ListingImages:  bucket=Download  date_taken=1578503610000  _data=/storage/emulated/0/Download/open-uri20150422-20810-f3qxzs_4923c203.jpeg
2020-01-16 02:57:06.118 6112-6112/e.com.tester3 I/ListingImages:  bucket=lol  date_taken=1579041447000  _data=/storage/emulated/0/Pictures/lol/268x0w.jpg
2020-01-16 02:57:06.118 6112-6112/e.com.tester3 I/ListingImages:  bucket=Download  date_taken=1578542294000  _data=/storage/emulated/0/Download/6bba2b493d254768eef8134fc858214a.jpg
2020-01-16 02:57:06.118 6112-6112/e.com.tester3 I/ListingImages:  bucket=Download  date_taken=1578542313000  _data=/storage/emulated/0/Download/7344c6eb343fb4c6ad415a579c35fd83.gif

Я пытаюсь получить изображения только из названия группы Download Как бы я это сделал?

1 Ответ

1 голос
/ 16 января 2020
Cursor cur = getContentResolver().query(images, PROJECTION_BUCKET, MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " like ? ",
 new String[] {"%Download%"} , null);
...