在Android中,ContentResolver是一個(gè)用于與其他應(yīng)用程序共享數(shù)據(jù)的接口
ContentResolver contentResolver = getContentResolver();
確定要查詢的URI。URI通常指向一個(gè)內(nèi)容提供者,它是一個(gè)包含您要查詢的數(shù)據(jù)的應(yīng)用程序。例如,要查詢聯(lián)系人數(shù)據(jù),可以使用ContactsContract.Contacts.CONTENT_URI。
確定要查詢的列。這是一個(gè)字符串?dāng)?shù)組,表示您想從內(nèi)容提供者中檢索的列名稱。例如,要查詢聯(lián)系人的姓名和電話號(hào)碼,可以使用以下列:
String[] projection = new String[]{
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " LIKE ?";
String[] selectionArgs = new String[]{"%Smith%"};
String sortOrder = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC";
Cursor cursor = contentResolver.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, // URI
projection, // 要查詢的列
selection, // WHERE子句
selectionArgs, // WHERE子句的參數(shù)
sortOrder // ORDER BY子句
);
if (cursor != null) {
while (cursor.moveToNext()) {
String displayName = cursor.getString(
cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = cursor.getString(
cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.d("Contact", displayName + ": " + phoneNumber);
}
cursor.close();
}
這就是如何使用Android的ContentResolver查詢數(shù)據(jù)。請(qǐng)注意,查詢不同的內(nèi)容提供者可能需要不同的URI、列和查詢條件。始終參考相應(yīng)的文檔以了解如何正確地查詢特定的內(nèi)容提供者。