Главная » Статьи для тега "содержимого"

Настройка Spring MVC

Добавлено Дата: 22 July, 2014 категория: Spring

Основой Spring MVC является сервлет DispatcherServlet, который играет роль входного контроллера в Spring MVC. Как и любой дру- гой сервлет, DispatcherServlet должен быть настроен в файле web.xml веб-приложения. Поэтому первое, что необходимо сделать, – это по- местить следующий элемент <servlet> в файл web.xml:

Читать »

Договоренность о представлении ресурса Spring

Добавлено Дата: 29 May, 2014 категория: Spring

Как рассказывалось в главе 8, метод-обработчик контроллера обычно возвращает логическое имя представления. Даже если ме- тод не возвращает это имя непосредственно (например, если метод вообще ничего не возвращает), тогда логическое имя представле- ния определяется на основе адреса URL в запросе. Затем сервлет DispatcherServlet передает имя представления арбитру представле- ний, предлагая ему определить конкретное представление, которое должно использоваться для отображения результатов.

Читать »

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

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

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

Читать »

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

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

 

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

Читать »

СОХРАНЕННЫЙ МЕДИЙНЫЙ КОНТЕНТ в Android приложении

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

 

Даже когда медийная информация сохраняется в файле (как в случае записи), такой медийный файл не становится автоматически доступным другим приложениям. Чтобы файл стал доступным, его необходимо поместить в Medi aStore (хранилище для медийного контента). MediaStore – это поставщик содержимого, специально предназначенный для хранения и получения медийных данных (изображений, видео, аудио) на устройстве. Для сохранения ссылки на файл создайте объект ContentVal ues и вставьте его в подходящий поставщик содержимого Medi aStore. В следующем примере происходит вставка аудиофайла с соответствующими метаданными, например с заголовком и именем исполнителя:

Читать »

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

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

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

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

Читать »

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

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

 

Мы говорили о том, что при работе с пользовательскими интерфейсами, которым необходимо взаимодействовать с удаленными службами, возникают нетривиальные проблемы – например, необходимость не занимать поток пользовательского интерфейса решением долговременных задач. Кроме того, мы отмечали, что API поставщика содержимого в Android обладает симметрией, схожей с симметрией веб-служб типа REST (с передачей состояния представления). Операции с данными, совершаемые в поставщике содержимого, соответствуют операциям с данными в REST-службах, и ниже будет показано, как преобразовать уникальные идентификаторы ресурсов из поставщика содержимого в такую форму, которая позволяет запрашивать данные из сети. Советуем пользоваться преимуществами, свойственными для такой симметрии, при написании поставщиков содержимого. Поставщик содержимого должен создаваться как асинхронный буфер между доменными (уникальными) аспектами вашего приложения и сетевыми запросами, получающими данные. Обработкой этих данных занимается уже ваше приложение. Если писать приложение по такому принципу, оно значительно упростится и поможет избежать распространенных ошибок, связанных с разработкой пользовательских интерфейсов и работой в сети, типичных для программирования в Android и вообще на языке Java.

Читать »

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

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

 

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

Читать »

Структура простой версии кода в Android приложении

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

 

В этом разделе кратко охарактеризуем важные файлы, входящие в состав простого видеоприложения Finch.

AndroidManifest. xml. Мы создали описание для простого видеоприложения, использующего поставщик содержимого. В файле описания будет содержаться ссылка на активность SimpleFinchVideoActivity, а также на поставщик содержимого SimpleFinchVideoContentProvider.

Читать »

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

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

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

Читать »

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

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

 

Вместе с компонентом Activity приложения Android поставщики содержимого предоставляют детали, необходимые для построения архитектуры MVC («Модель-вид-контроллер»). Кроме поддержки REST-подобных операций, поставщики содержимого поддерживают паттерн «Наблюдатель» (observer), который, в свою очередь, поддерживает MVC. Класс ContentResolver предоставляет метод notifyChange, транслирующий информацию об изменениях, происходящих в базе данных, тем объектам Cursor, которые зарегистрировали наблюдатели содержимого (content observers) при помощи метода registerContentObserver.

Читать »

ПОШАГОВАЯ РАЗРАБОТКА ПОИСКОВОГО ПРИЛОЖЕНИЯ в Android приложении

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

 

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

Читать »

ДРУГИЕ КОМПОНЕНТЫ  – ANDROID ПРИЛОЖЕНИЯ

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

 

В создании приложений для Android участвуют еще три других компонента: сервисы (services), поставщики содержимого (content providers) и широковещательные приемники (broadcast receivers). Класс Service поддерживает фоновые функции. Класс ContentProvider обеспечивает множественным приложениям доступ к хранилищу данных, a Broadcast Recei ver позволяет нескольким участникам слушать намерения, которые транслируются приложениями в системе.

Читать »

СЕТЕВОЙ ВАРИАНТ «МОДЕЛЬ-ВИД-КОНТРОЛЛЕР» в Android приложении

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

 

Нам кажется, что удобно представить второй из описанных выше принципов как сетевой вариант паттерна «Модель-вид-контроллер», где сам поставщик содержимого получает данные из сети, а затем закачивает их в обычный паттерн MVC, действующий в Android. Мы рассмотрим поставщик содержимого как модель сетевого состояния – поставщик может выполнять запросы на получение данных с состоянием, имеющимся в локальной системе, либо получать данные из сети. При применении такого подхода код контроллера и вида не должен непосредственно создавать сетевые запросы для доступа к данным приложения и для управления ими. Вместо этого вид и контроллер вашего приложения должны использовать API ContentResolver для того, чтобы запрашивать данные через поставщик содержимого. И только поставщик содержимого должен в асинхронном режиме загружать сетевые ресурсы и сохранять результаты в локальном кэше данных. Кроме того, поставщик содержимого всегда должен быстро реагировать на запрос, с самого начала избегая этапа сетевой активации, которая может потребоваться для выполнения запроса с использованием какой-либо информации, уже находящейся в локальной базе данных. При выполнении запроса по такому принципу гарантируется, что поток пользовательского интерфейса будет заблокирован не дольше, чем это необходимо, и что пользовательский интерфейс должен отобразить те или иные данные как можно быстрее. Таким образом, увеличивается скорость реагирования приложения и пользователю становится гораздо приятнее работать с таким интерфейсом. Рассмотрим, в какой последовательности поставщик содержимого запрашивает данные.

Читать »

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

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

 

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

Читать »