【问题标题】:How to use distinct query in Android ContentResolver for displaying image folder如何在 Android ContentResolver 中使用不同的查询来显示图像文件夹
【发布时间】:2015-05-25 06:18:34
【问题描述】:

我需要一个不同的查询来显示专辑明智的图像和视频,例如 Android 中的画廊。我在下面附上了我的源代码。我的问题是我得到重复的文件夹名称显示。如何在此代码中使用不同的查询?

String[] PROJECTION_BUCKET = {"DISTINCT "+ ImageColumns.BUCKET_ID,
                ImageColumns.BUCKET_DISPLAY_NAME, ImageColumns.DATE_TAKEN,
                ImageColumns.DATA }; 
Cursor cur = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, PROJECTION_BUCKET,
                MediaStore.Images.Media.DATA + " like ? ",new String[] {"%" + "MidasOnline/Images_UserID_95"+fname+"" + "%"}, null);` 

【问题讨论】:

    标签: android image android-contentprovider


    【解决方案1】:

    您需要在选择中添加 GROUPBY 才能使 DISTINCT 起作用

    ImageColumns.BUCKET_ID+" IS NOT NULL) GROUP BY ("+ImageColumns.BUCKET_ID
    

    more info at this link.

    【讨论】:

      【解决方案2】:

      试试看:

      String[] projection= { "DISTINCT _id", "DISTINCT address"};
      
      Cursor address =  getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC");
      

      【讨论】:

      • 不,这不起作用!导致 contentresolver 异常!
      • 这会导致内容解析器出现异常。
      【解决方案3】:

      看看this answer

      val uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
      val projection = arrayOf(
          "DISTINCT " + MediaStore.Images.Media.BUCKET_ID,
          MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
          MediaStore.Images.Media.BUCKET_ID,
          MediaStore.MediaColumns.DATA
      )
      val groupBySelection = " 1) GROUP BY (${MediaStore.Images.Media.BUCKET_ID}"
      contentResolver.query(
          uri,
          projection,
          null,
          groupBySelection,
          null,
          null
      )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-26
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多