Главная » Статьи для тега "поставщика"

Определение того, как часто следует уведомлять наблюдатели содержимого в Android приложении

Добавлено Дата: 28 August, 2013 категория: Разработка для Android

Как видно из листинга, описывающего операции управления данными в поставщике содержимого, уведомление не происходит в системе управления содержимым Android «просто так». В частности, вставка информации в таблицу SQLite не вызывает автоматической установки триггера базы данных, который инициировал бы обновления с подачи поставщика содержимого. От разработчика поставщика содержимого зависит, будет ли реализована схема, определяющая подходящее время для отправки уведомлений и решающая, какой URI посылать при изменении данных поставщика содержимого. Как правило, поставщики содержимого в Android немедленно после события отправляют уведомления всем URI, которые изменились в ходе конкретной операции с данными.

Читать »

ПОНЯТИЕ О ПОСТАВЩИКАХ СОДЕРЖИМОГО в Android приложении

Добавлено Дата: 27 August, 2013 категория: Разработка для Android

 

Поставщики содержимого заключают в себе такой функционал управления данными, что другие части приложения, например вид и контроллер, могут не заниматься долговременным хранением данных приложения. Сформулируем эту мысль иначе: поставщик содержимого обеспечивает долговременное хранение данных, так как вид и контроллер не стоит нагружать этими задачами. Специализированные программные уровни, не пытающиеся выполнять задачи, решаемые на других уровнях, – характерная черта качественного кода. Ошибки и излишняя сложность возникают там, где отдельные уровни ПО пытаются решать задачи, находящиеся вне их компетенции. То есть пользовательский интерфейс должен состоять только из хорошо скомпонованных компонентов пользовательского интерфейса, идеально подходящих для сбора событий от конечного пользователя. Хорошо написанный контроллер приложения будет содержать только логику предметной области, то есть логику мобильного приложения. И применительно к теме этой главы упростить код удается тогда, когда оба типа кода могут передать задачу долговременного хранения данных третьей логической стороне: поставщикам содержимого. Вспоминая раздел «SQL и модель построения архитектуры вокруг базы данных в приложениях Android», можно сказать, что поставщики содержимого хорошо подходят для реализации такой модели данных, центром которой не является документ.

Читать »

МОДЕЛЬ MVC В ANDROID И НАБЛЮДЕНИЕ ЗА СОДЕРЖИМЫМ в Android приложении

Добавлено Дата: 25 August, 2013 категория: Разработка для Android

Очень важно обрисовать общую картину того, как паттерн MVC работает в Android с поставщиками содержимого.

Чтобы оценить всю мощь фреймворка, использующего поставщики содержимого, необходимо знать о том, как события обновления курсора вызывают динамические обновления пользовательского интерфейса в Android. Нам кажется, что, затронув эту тему, мы сможем акцентировать внимание на часто упускаемых из виду путях обмена информацией, присутствующих в традиционном паттерне программирования «Модель-вид-контроллер». В целом, работа этого паттерна строится так: вид (view) принимает события пользовательского ввода и доносит эту информацию контроллеру (controller). Контроллер вносит изменения в модель (model), а модель посылает события обновления виду, а также любому другому наблюдателю, который регистрируется как заинтересованный в работе модели. Вид отображает содержимое модели – обычно это происходит без прямого привлечения логики приложения – и в идеальном случае просто итерирует данные, относящиеся к модели.

Читать »

ИСПОЛЬЗОВАНИЕ ПОСТАВЩИКОВ СОДЕРЖИМОГО в Android приложении

Добавлено Дата: 24 August, 2013 категория: Разработка для Android

 

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

Читать »

Метод delete в Android приложении

Добавлено Дата: 20 August, 2013 категория: Разработка для Android

Метод del ete похож на update, но он удаляет строки, на которые ссылается заданный URI. Подобно update, метод delete возвращает количество строк, затронутых операцией удаления:

Читать »

insert и ResponseHandlers в Android приложении

Добавлено Дата: 6 August, 2013 категория: Разработка для Android

 

Теперь рассмотрим этап 5 более подробно. Наш поставщик Finch-видео реализует іnsert во многом так же, как и простой поставщик видео. Как мы уже видели в нашем приложении, вставка видео происходит как побочный эффект метода query. Стоит еще раз подчеркнуть, что наш метод іnsert делится на две части. Мы хотим, чтобы клиенты поставщика содержимого вызывали первую форму, а обработчики ответов (объекты ResponseHandlеr) – вторую. Обе эти формы показаны в следующем коде. Первая форма делегирует задачу второй. Мы разделяем insert потому, что обработчик ответов входит в состав поставщика содержимого и не должен соединяться сам с собой через преобразователь содержимого:

Читать »

НАПИСАНИЕ И ИНТЕГРАЦИЯ ПОСТАВЩИКА СОДЕРЖИМОГО

Добавлено Дата: 2 August, 2013 категория: Разработка для Android

 

Теперь, когда мы рассмотрели общую структуру простого приложения, составляющего список видеофайлов, и обеспечили для клиентов способ доступа к нашему поставщику содержимого, изучим, как приложение реализует и использует SimpleFinchVideoContentProvider.

Читать »

ОПРЕДЕЛЕНИЕ ОБЩЕДОСТУПНОГО API ПОСТАВЩИКА СОДЕРЖИМОГО в Android приложении

Добавлено Дата: 1 August, 2013 категория: Разработка для Android

 

Мы уже говорили о том, как клиенты используют поставщики содержимого, здесь мы подробнее расскажем будущим авторам поставщиков содержимого о том, как полностью реализовать общедоступный интерфейс (API) такого поставщика. Чтобы клиенты могли использовать поставщик содержимого, необходимо создать общедоступный класс API, содержащий набор костант. Клиенты смогут применять эти константы для доступа к полям столбцов объектов Cursor, возвращаемых посредством метода запроса вашего поставщика. Кроме того, в этом классе будет определяться URI источника вашего поставщика содержимого, фактически – основа всей используемой в поставщике системы обмена информацией по URI. Наш класс FinchVideo. SimpleVideos предоставляет АРІ для класса SimpleFinchVideo.

Читать »

Метод insert в Android приложении

Добавлено Дата: 29 July, 2013 категория: Разработка для Android

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

Читать »

Метод query в Android приложении

Добавлено Дата: 26 July, 2013 категория: Разработка для Android

После сопоставления входящего URI с контентом метод query нашего поставщика содержимого выполняет соответствующую выборку из базы данных, доступной для чтения. Эта задача делегируется SQLi teDatabase. query, после чего результаты возвращаются в виде объекта Cursor (курсора базы данных). Курсор содержит все строки базы данных, подходящие под описание аргументом (URI). После того как мы сделаем запрос, действующий в Android механизм поставки содержимого автоматически будет поддерживать использование экземпляров курсора с многочисленными экземплярами процессов. Таким образом, метод query нашего поставщика содержимого может просто возвращать курсор как обычное возвращаемое значение, предоставляя его клиентам, которые могут работать с другим процессом.

Читать »

ПОЛНЫЙ КОД ПОСТАВЩИКА СОДЕРЖИМОГО: ПОСТАВЩИК SIMPLEFINCHVIDEOCONTENTPROVIDER в Android приложении

Добавлено Дата: 25 July, 2013 категория: Разработка для Android

 

Теперь, когда мы поговрорили о важных задачах, связанных с написанием поставщика содержимого с применением паттерна «Модель-вид-контроллер» в Android (то есть о системе обмена информацией, используемой поставщиками содержимого в Android), рассмотрим, как написать собственный поставщик содержимого. Класс SimpleFinchVideoContentProvider наследуется ContentProvider так:

Читать »

Использование поставщика содержимого – ANDROID ПРИЛОЖЕНИЯ

Добавлено Дата: 20 July, 2013 категория: Разработка для Android

 

Поскольку поставщики содержимого очень важны в Android, мы сделаем здесь краткое введение в проблему и покажем, как написать клиент, использующий поставщик содержимого. В данном примере применяется один из важнейших поставщиков содержимого – база данных Contacts (Контакты). Этот пример должен помочь вам более основательно понять, как поставщик содержимого вписывается в ваше приложение. Класс ContentProvider предоставляет центральный АРІ для поставщиков содержимого, от которого можно производить подтипы для управления конкретными типами данных. Активности обращаются к экземплярам конкретного поставщика содержимого, используя класс ContentResolver и связанные с ним URL следующим образом:

Читать »

Реализация метода OnCreate в Android приложении

Добавлено Дата: 18 July, 2013 категория: Разработка для Android

При инициализации простого поставщика видео Finch хранилище данных SQLite организуется следующим образом:

Читать »

Реализация поставщика содержимого в Android приложении

Добавлено Дата: 17 July, 2013 категория: Разработка для Android

 

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

Создать API поставщика содержимого, общедоступный для использования клиентом. Для этого нужно сделать следующее:

Читать »

Объявление строк описания столбцов в Android приложении

Добавлено Дата: 4 July, 2013 категория: Разработка для Android

Столбцы поставщика содержимого SimpleFinchVideoProvider определяются в классе FinchVideo.SimpleVideos, рассматриваемом в этом разделе. Каждый поставщик содержимого должен определять столбец _id, в котором будет содержаться порядковый номер каждой строки. Значение каждого _id должно быть уникальным в рамках поставщика содержимого. Клиент будет прикреплять этот номер к URI записи типа vnd.android.cursor.item при попытке запросить отдельно взятую запись.

Читать »