Чтение данных с использованием URI

Чтение данных с использованием URI

Теперь вы знаете, что для извлечения данных из поставщика контента нужно использовать URI, предоставляемые этим поставщиком. Поскольку URI, определенные поставщиком контента, уникальны для этого поставщика, важно, чтобы они были документированы и доступны программисту для просмотра и использования. Поставщики, поставляемые с Android, для этих целей определяют константы, представляющие строки URI.

Рассмотрим три URI, определенные во вспомогательных классах Android SDK:

MediaStore.Images.Media.INTERNAL_CONTENT_URI

MediaStore.Images.Media.EXTERNAL_CONTENT_URI

ContactsContract.Contacts.CONTENT URI

Эквивалентные строки URI имеют такой вид:

content://media/internal/images

content://media/external/images

content://com.android.contacts/contacts/

Имея перечисленные URI, можно написать следующий код для извлечения одной строки из поставщика контактов:

Uri peopleBaseUri = ContactsContract.Contacts.CONTENT URI;

Uri myPersonUri = Uri.withAppendedPath(peopleBaseUri, "23");

// Запрос этой записи.

// managedQuery — метод класса Activity

Cursor cur = managedQuery(myPersonUri, null, null, null);

Обратите внимание на способ предварительного определения константы Contacts Contract.Contacts.CONTENT_URI в классе Contacts. Переменная названа peopleBaseUri для указания на то, что если намерение заключается в исследовании людей, то следует использовать URI контента контактов. Разумеется, вы могли бы назначить этой переменной имя contactsBaseUri, если концептуально рассматриваете людей как контакты.

На заметку! Более детальное описание поставщика контента для контактов ищите в главе 30. Также обратите внимание, что Contacts API и ассоциированные с ним константы могут меняться с каждым новым выпуском API-интерфейса. Примеры в этой главе тестировались с использованием Android 2.2 (API 8) и последующих версий.

В этом примере берется корневой URI, к нему добавляется идентификатор определенного человека, а затем производится вызов метода managedQuery.

В запросе с помощью такого URI можно указать порядок сортировки, выбираемые столбцы и конструкцию where. В данном примере все эти дополнительные параметры установлены в null.

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Добавить комментарий