最后執(zhí)行該查詢。WHERE 子句中有一個(gè)“?”,它將被下一個(gè)參數(shù)中的值所替換。如果存在多個(gè)“?”,那么在傳入的數(shù)組中必須有多個(gè)值。這里使用ORDER BY子句指定返回的數(shù)據(jù)將以添加的日期升序排列。
cursor=managedQuery(Media.EXTERNAL_CONTENT_URI, columns,
Media.DATE_ADDED + " > ?",whereValues, Media.DATE_ADDED + " ASC");
當(dāng)然,如果希望返回所有記錄,那么可以對后面的3個(gè)參數(shù)傳入null值。
Cursor cursor = managedQuery(Media.EXTERNAL_CONTENT_URI, columns, null,
null, null);
返回的游標(biāo)會告訴我們當(dāng)前選擇的每個(gè)列的索引。
displayColumnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.
Media.DATA);
為了從游標(biāo)中選擇字段,需要使用此索引。首先通過調(diào)用moveToFirst方法,確保游標(biāo)是有效的并包含一些結(jié)果。如果游標(biāo)不包含任何結(jié)果,那么該方法將返回false。我們使用Cursor類中的幾種方法之一來選擇實(shí)際的數(shù)據(jù)。選擇的方法取決于數(shù)據(jù)的類型,例如getString用于字符串,getInt用于整數(shù)等。
if (cursor.moveToFirst()) {
String displayName = cursor.getString(displayColumnIndex);
}