Reputation: 897
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
Reputation: 793
Cursor cur = getContentResolver().query(images, PROJECTION_BUCKET, MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " like ? ",
new String[] {"%Download%"} , null);
Upvotes: 1