Android媒体库使用分组查询

在Android中使用ContentResolver查询媒体库时是没有Group by参数的,但是可以追加在where参数中。

例如查询按文件夹查询图片,并且查询每个文件夹下面的图片数量

final String selection = "1=1) group by ([bucket_id]"; final String[] projection = new String[]{     "count([_id])",     "bucket_display_name"}; Cursor c = getContentResolver().query(     MediaStore.Images.Media.EXTERNAL_CONTENT_URI,     projection,     selection, null, null); while (c.moveToNext() ) {     Log.e("haha", c.getString(2) + ":"+c.getInt(0)); } c.close();

主要是注意系统会为where语句添加一对小括号,即where ( … ) , 跟上面的”)(“拼接成两对小括号 ,最后拼接成的Sql语句为:

SELECT count([_id]), bucket_id, bucket_display_name FROM images WHERE (1=1) group by ([bucket_id])

更多相关文章

  1. android 内容提供者查询单个使用URI匹配器
  2. android mediaStore
  3. Android(安卓)3.1 r1 中文API文档 (120) ―― SearchView
  4. Android(安卓)SearchView 搜索框
  5. android mediaStore
  6. Android中音乐文件的信息详解【安卓源码解析二】
  7. 文件浏览器
  8. ktolin在Android中布局界面拼接
  9. android小程序 查询电话号码信息

随机推荐

  1. 详解Android电源管理API
  2. Android Broadcast广播机制初识
  3. android全平台编译ffmpeg支持命令行实践
  4. SVN服务器迁移
  5. 【Android】Handler机制源码解析
  6. Android开发手记一 NDK编程实例
  7. android启动时间
  8. android耗时任务_handler
  9. Android(安卓)面试题
  10. Android(安卓)判断应用程序获取通知栏权