我正在建立一个Android画廊,我想按文件名降序显示图像
但我不确定将什么放在我的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
答案 0 :(得分:3)
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” - 前五个记录,如果您希望所有记录都从查询中丢弃。
答案 1 :(得分:2)
不完全确定,因为我不确定您使用的是哪种数据库。
但看起来你想要这一行:
MediaStore.Images.Media._ID +“dsc”
告诉查询按_ID降序排序。
第一个问题很简单。您需要“_ID”和“dsc”之间的空格。它目前正在加入,我不认为“_IDdsc”真的是你想要的。所以把它改成
MediaStore.Images.Media._ID +“dsc”
由于您希望按文件名排序,因此您只需要使用该列名而不是_ID ...,除非_ID是文件名。
我还要提到......我认为大多数数据库使用“desc”代替“dsc”...但这正是我所看到的,也许不是这里的情况。或者如果你真的不想反向排序就把它取下来。