Android媒体库使用分组查询

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值