Главная » Разработка для Android » РАЗРАБОТКА ПРИЛОЖЕНИЙ ДЛЯ РАЗЛИЧНЫХ УСТРОЙСТВ – ЧАСТЬ 2

0

Вы можете сменить ориентацию экрана эмулятора, нажав комбинацию клавиш Ctrl+F11 и Ctrl+F12.

СТРАТЕГИИ ПОДДЕРЖКИ РАЗЛИЧНЫХ ОРИЕНТАЦИЙ ЭКРАНА

Самый лучший способ поддержать различные ориентации экрана — разработать достаточно простые макеты, которые будут прекрасно работать как в портретном, так и в альбомном режиме без внесения дополнительных изменений. Например, экран с настройками приложения «Been There, Done That!» прекрасно работает в обоих режимах, поскольку все параметры размещены друг над другом в элементе-контейнере LinearLayout, который, в свою очередь, находится в области с возможностью прокрутки, что позволяет масштабировать содержимое этого экрана до любых размеров. Тем не менее, для некоторых макетов, например, экрана-заставки или игрового экрана, может потребоваться дополнительная доработка для каждого режима.

Существует множество стратегий поддержки экранов различных размеров и режимов ориентации экранов. Вот несколько советов по разработке макетов, которые будут работать на экранах различных типов:

•            Не перегружайте экраны информацией. Они должны быть простыми.

•             Используйте элементы-представления с возможностями масштабирования, например элементы ScroliView и ListView.

•             Масштабируйте и увеличивайте экраны только в одном направлении (по вертикали или по горизонтали), но не в обоих направлениях.

•             Не вставляйте в код позиции элементов экрана. Вместо этого используйте относительные позиции и макеты с относительным позиционированием элементов, например элементы-контейнеры RelativeLayout.

•             Избегайте использования элементов-контейнеров AbsoluteLayout и других макетов с абсолютным позиционированием элементов.

•             Используйте растягиваемые изображения, например, изображения в формате Nine- Patch.

•             Минимизируйте размеры ресурсов, чтобы обеспечить их быструю загрузку при изменении ориентации экрана.

ВНИМАНИЕ! ___________________________________________________________

На веб-сайте, посвященном разработке на платформе Android, представлен ряд полез­ных рекомендаций по реализации поддержки различных экранов, которые доступны по адресу developer.android.com/guide/practices/screens_support.html.

Поддержка экранов с различными характеристиками

Устройства Android поставляются с экранами, которые отличаются между собой по широ­кому спектру характеристик, включая размеры экранов плотности размещения точек на экране, соотношения сторон экранов и разрешения. Кроме того, на различных устройствах используются различные настройки для отображения информации, включая темы и стили. Перед выпуском приложения вы должны проверить наше приложение на всех целевых платформах. С большой долей вероятности поведение и отображение вашего приложения на каждом устройстве будет немного отличаться. Характеристики экрана — важнейший фактор, который необходимо принимать во внимание при проектировании пользовательских интерфейсов.

ЗНАЕТЕ ЛИ ВЫ, ЧТО… __________________________________________________

Используя приложение Android SDK and AVO Manager, вы можете создавать специ­альные AVD-профили, чтобы имитировать на эмуляторе поведение экранов с особыми характеристиками.

Как видно на рис. 20.5, один и тот же макет выглядит по-разному на различных экранах. Слева показан типовой HVGA-экран со средней плотностью размещения точек, а справа показан экран устройства Motorola Droid, который представляет собой WVGA854-экран с высокой плотностью размещения точек.

Рис. 20.5. Макет может отображаться по-разному на разных устройствах

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

•             Устанавливайте только необходимые значения атрибутов (не нужно поддерживать необязательные настройки).

•             Все значения размеров должны храниться в файле ресурсов с размерами, а не в файлах макетов.

•             При указании размеров шрифтов используйте единицы измерения dp или sp вместо единиц измерения pt.

•             Для указания размеров в пикселах используйте единицы измерения dp вместо единиц измерения рх.

•             При необходимости добавьте адаптированные альтернативные ресурсы (но делать это нужно обдуманно).

После внесения перечисленных изменений в проект приложения «Всеп There, Done That!», как мы видим, приложение отображается правильно на широком спектре устройств, включая устройство Motorola Droid.

Поддержка возможностей различных мобильных телефонов

Как было показано в табл. 20.1, разработчики могут создавать файлы ресурсов, адаптированных к различным конфигурациям мобильных телефонов.

В случае с игрой определенные ресурсы могут быть адаптированы для мобильного телефона, у которого отсутствует аппаратная клавиатура или который имеет особый тип сенсорного экрана или многопозиционного джойстика. Графические файлы могут быть увеличены для очень производительных мобильных телефонов, имеющих экраны с высоким разрешением, а для типовых мобильных телефонов эти файлы могут быть уменьшены чтобы сэкономить дисковое пространство. В крайних случаях на одном устройстве может применяться двухмерная графика, а на другом – трехмерная.

Разработка приложений для различных версий инструментарий Android SDK

На момент создания этой книги в руках пользователя было несколько различных версий инструментария Android SDK: Android 1.1, Android 1.5, Android 1.6, Android 2.0, Android 2.0.1, Android 2.2 и Android 2.3. Этот список в скором времени пополнится новыми версиями (с кодовыми именами Froyo и Gingerbread). Время от времени компания Google публикует информацию об использовании различных версий инструментария Android SDK на мобильных телефонах:

•             4,7 % пользователей используют инструментарий Android SDK 1.5.

•             7,9% пользователей используют инструментарий Android SDK 1.6.

•             35,2% пользователей используют инструментарий Android SDK 2.1.

•             51,8% пользователей используют инструментарий Android SDK 2.2.

•             0,4% пользователей используют инструментарий Android SDK 2.3.

Эти данные были собраны и опубликованы на веб-сайте, посвященном разработке на платформе Android, в течении двух недель до 4 января 2011 года. Вы можете увидеть обновленную      статистику   на                  этом         сайте           по        адресу

developer.android.com/resources/dashboard/platform-versions.html. Один крайне интересный показатель некоторые версии инструментария SDK фактически не используются на подавляющем большинстве мобильных устройств, поскольку быстро заменяются новыми (например, версия 2.1 повсеместно вытеснила 2.0). Эта информация просто бесценна для сокращения затрат на тестирование приложения, поскольку вы можете протестировать приложение только на тех платформах, которые актуальны на сегодняшний день. Определенные модели телефонов, особенно старые модели, могут не поддерживать загрузку обновлений системы. Как видно из представленных выше данных, если вы хотите угодить максимально возможному количеству пользователей, вам может потребоваться разработать приложение для нескольких различных версий инструментария SDK. Подробная информация также может оказать неоценимую помощь, позволив при тестировании сосредоточить внимание только на подходящих платформах. Поиск новой информации, слежение за новостями на рынке и проведение опросов среди целевой аудитории вашего приложения – все это, безусловно, поможет вам определить целевую платформу для вашего приложения.

ВЫБОР ЦЕЛЕВОЙ ПЛАТФОРМЫ ДЛЯ ПРИЛОЖЕНИЯ

Чтобы приложение было интересно большинству пользователей, перед тем как приступить к разработке любого Android-приложения, вы должны подумать о вашей целевой платформе. Будет ли ваше приложение поддерживать более старые и более и известные мобильные устройства или только новые устройства? Проведите исследование рынка, чтобы определить, какие версии инструментария SDK использует долевая аудитория вашего приложения.

ВНИМАНИЕ! ___________________________________________________________

Обратная совместимость версий инструментария SDK на платформе Android не гаран­тируется. Разработчики сталкивались с ситуациями, когда классы в самой последней версии инструментария SDK менялись или вовсе исключались из инструментария. Например, некоторые приложения, разработанные с использованием инструментария Android SDK 1.5, прекращали свое функционирование после выхода операционной системы Android 1.6, а затем снова начинали функционировать в операционной сис­теме Android 2.0. Этот факт может сильно разочаровать разработчиков и пользовате­лей.

ОПРЕДЕЛЕНИЕ ЦЕЛЕВОГО ИНСТРУМЕНТАРИЯ SDK ДЛЯ ПРОЕКТА

Вы можете указать, какая версия инструментария SDK поддерживаете» вашим приложе­нием, скомпилировав приложение с использованием соответствующей версии инструментария SDK, которая определяется в настройках проекта, а также в файле манифеста Android. Вы также можете использовать определенные ресурсы приложения, которые предназначены для конкретных версий инструментария SDK, применив соответствующие квалификаторы при именовании каталогов с ресурсами, перечисленные в табл. 20.1.

ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЙ ДЛЯ ОБЕСПЕЧЕНИЯ ОБРАТНОЙ СОВМЕСТИМОСТИ

Чтобы ваше приложение могло поддерживать максимально возможное количество мобильных телефонов, вы должны разрабатывать приложение с учетом поддержки нескольких версий инструментария SDK. Однако, если вы укажете требуемые версии инструментария SDK в файле манифеста Android, это сузит диапазон версий инструментария SDK. на которых может быть установлено ваше приложение.

Литература: Дэрси JI., Android за 24 часа. Программирование приложений под операционную систему Google/ ДэрсиЛ., КондерШ. — М.: Рид Групп, 2011. — 464 с. — (Профессиональные компьютерные книги). ISBN 978-5-4252-0318-2

По теме:

  • Комментарии