Android Contact API для 2.0
Предоставление доступа
Перед тем, как приложение сможет запросить записи контактов, необходимо предоставить доступ через файл AndroidManifest.xml, хранящийся в корневом каталоге проекта. Добавьте следующие права на использование ниже инструкции для использования-sdk.
<uses-permission android:name="android.permission.READ_CONTACTS" />
Запрос к базе данных контактов Android
Получение контактных данных
Основная контактная информация хранится в таблице контактов с подробной информацией, хранящейся в отдельных таблицах для нормализации. В Android 2.0 для запроса базовых записей контактов URI для запроса хранится в ContactsContract.Contacts.CONTENT_URI.
пакет высший проход.ТестКонтакты;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
public class TestContacts extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(
cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
//Query phone here. Covered next
}
}
}
}
}
Это приложение запускается как любое другое приложение для Android. Сначала создайте ContentResolver
экземпляр в кр. Затем используйте экземпляр ContentResolver
для запроса базы данных и верните Cursor
со списком контактов. Запрос выполняется к URI, хранящемуся в ContactsContract.Contacts.CONTENT_URI
. Затем проверьте, содержит ли курсор записи и, если да, переберите их. Поле идентификатора записи хранится в переменной id. Это будет использоваться в качестве параметра where
позже. Также поле отображаемого имени хранится в имени строки.
Подробнее о Работа с контактами Android