在Android中,ContentResolver是一個用于與其他應用程序共享數據的接口
ContentResolver contentResolver = getContentResolver();
確定要查詢的URI。URI通常指向一個內容提供者,它是一個包含您要查詢的數據的應用程序。例如,要查詢聯系人數據,可以使用ContactsContract.Contacts.CONTENT_URI。
確定要查詢的列。這是一個字符串數組,表示您想從內容提供者中檢索的列名稱。例如,要查詢聯系人的姓名和電話號碼,可以使用以下列:
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子句的參數
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查詢數據。請注意,查詢不同的內容提供者可能需要不同的URI、列和查詢條件。始終參考相應的文檔以了解如何正確地查詢特定的內容提供者。