WHOATEMYNOODLES
WHOATEMYNOODLES

Reputation: 897

SQLite query only retrieving images from a certain bucket

I'm a bit new to using SQLite and I need help on a query. Right now my query is returning to me all images from my bucket in MediaStore. How do I retrieve all images from only certain bucket name?

  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());
    }

(So far I only have two folders) and it's returning to me all the images from those two buckets

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

I'm trying to only get the images from the bucket name of Download How would I do so?

Upvotes: 0

Views: 79

Answers (1)

Hooman
Hooman

Reputation: 793

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

Upvotes: 1

Related Questions