最后执行该查询。WHERE 子句中有一个“?”,它将被下一个参数中的值所替换。如果存在多个“?”,那么在传入的数组中必须有多个值。这里使用ORDER BY子句指定返回的数据将以添加的日期升序排列。
cursor=managedQuery(Media.EXTERNAL_CONTENT_URI, columns,
Media.DATE_ADDED + " > ?",whereValues, Media.DATE_ADDED + " ASC");
当然,如果希望返回所有记录,那么可以对后面的3个参数传入null值。
Cursor cursor = managedQuery(Media.EXTERNAL_CONTENT_URI, columns, null,
null, null);
返回的游标会告诉我们当前选择的每个列的索引。
displayColumnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.
Media.DATA);
为了从游标中选择字段,需要使用此索引。首先通过调用moveToFirst方法,确保游标是有效的并包含一些结果。如果游标不包含任何结果,那么该方法将返回false。我们使用Cursor类中的几种方法之一来选择实际的数据。选择的方法取决于数据的类型,例如getString用于字符串,getInt用于整数等。
if (cursor.moveToFirst()) {
String displayName = cursor.getString(displayColumnIndex);
}