Android SQLite-如何将order by添加到此从图像存储桶搜索的查询中

Android SQLite-如何将order by添加到此从图像存储桶搜索的查询中,android,sqlite,Android,Sqlite,目前,我在MediaStore中有一个查询从我的存储桶中检索图像,它是按升序进行的(最早的帖子首先出现)。如何修改查询,使其首先显示最新的图像 String[] PROJECTION_BUCKET = { MediaStore.Images.ImageColumns.BUCKET_ID, MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME, MediaStore.Images

目前,我在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());
    }

您必须使用方法的最后一个参数,即
排序器

因此,不要将
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"
);