如何排序,按降序排列的文件名与manageQuery
问题描述:
我建立一个机器人库,我想通过文件名如何排序,按降序排列的文件名与manageQuery
降序排列来显示图像,但我不确定要放什么东西在最后一个字段我的managedQuery:
String[] projection = {MediaStore.Images.Media._ID};
// Create the cursor pointing to the SDCard
cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, // Which columns to return
MediaStore.Images.Media.DATA + " like ? ",
new String[] {"%LC/images%"},
MediaStore.Images.Media._ID + "dsc");// order here ?? help
答
不完全确定,因为我不确定您使用的是哪种数据库。
但它看起来像你想这行:
MediaStore.Images.Media._ID +“DSC”
告诉查询通过_ID在降序排序。
第一个问题很简单。您需要“_ID”和“dsc”之间的空格。它目前正在联合在一起,我不认为“_IDdsc”真的是你想要的。因此,将其更改为
MediaStore.Images.Media._ID +“DSC”
既然你想通过文件名进行排序,你只需要使用列名,而不是_ID ......除非_ID是文件名。
我还会提到...我认为大多数数据库使用“desc”而不是“dsc”......但这正是我所看到的,也许不是这里的情况。或者如果你真的不想要反向排序,就把它关掉。
答
final String orderBy = MediaStore.Images.Media.DATE_ADDED;
cursor = managedQuery(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
columns, null,
null, orderBy + " DESC LIMIT 5");
“DESC” - 从大到小的顺序 “限制5” - 第一个五年的记录,如果你希望所有然后从查询丢弃。
请检查这个问题:http://stackoverflow.com/questions/22705332/show-latest-on-top-in-a-list – Sun 2014-03-29 08:36:18