Материал предоставлен https://it.rfei.ru

Лучшие методики для разработчиков Android-приложений

В разделе Best Practices документа Android Developer’s Guide (сокращенное название Dev Guide) рассматриваются вопросы совместимости, поддержки нескольких экранов, указания по разработке интерфейса пользователя, а также разработки с учетом достижения производительности, способности к отклику и незаметности выполнения для пользователя.

При разработке приложения Android следует идентифицировать устройства и версии операционной системы, на которых оно будет выполняться. Потребности приложения описаны с помощью элементов , находящихся в файле манифеста (табл. 2.2.). Эти элементы позволяют Google Play осуществлять фильтрацию приложений так, чтобы их могли просматривать и загружать лишь пользователи, обладающие совместимыми устройствами.

Таблица 2.2. Дескрипторы свойств для спецификации аппаратных и программных требований, включаемые в файл манифеста

СвойствоОписатель
Звук android.hardware.audio.low_latency
Bluetooth android.hardware.bluetooth
Камера android.hardware.camera
Система автофокусировки камерыandroid.hardware.camera.autofocus.flash
Вспышка камеры android.hardware.camera
Фронтальная камера android.hardware.camera.front
Определение местоположения с помощью Сети android.hardware.location.network
GPSandroid.hardware.location.gps
Микрофон android.hardware.microphone
Коммуникации ближнего поля android.hardware.nfc
Датчик акселерометра android.hardware.sensor.accelerometer
Датчик барометра android.hardware.sensor.barometer
Датчик компаса android.hardware.sensor.compass
Датчик гироскопа android.hardware.sensor.gyroscope
Датчик освещенности android.hardware.sensor.light
Датчик приближения android.hardware.sensor.proximity
Телефонияandroid.hardware.telephony
CDMA-телефония android.hardware.telephony.cdma
GSM-телефония android.hardware.telephony.gsm
Эмулированный сенсорный экран android.hardware.faketouch
Сенсорный экранandroid.hardware.touchscreen
Мультисенсорный экран (два или больше пальцев)android.hardware.touchscreen.multitouch
Дискриминатор нескольких касаний (уникальная система отслеживания положений двух пальцев, используемых для выполнения вращательных жестов)android.hardware.touchscreen.multitouch.distinct
Система распознавания касания экрана несколькими пальцами (распознает одновременное применение до пяти пальцев) android.hardware.touchscreen.multitouch.jazzhand
Wi-Fi android.hardware.wifi
Живые обоиandroid.software.live_wallpaper
SIP android.software.sip
SIP/VoIPandroid.software.sip.voip

Можно фильтровать продажи и загрузки разработанного вами приложения по странам и провайдерам мобильной связи. Например, ваше приложение может предназначаться только для подписчиков провайдера Verizon или для пользователей, проживающих в Великобритании. Эти «рыночные» фильтры могут устанавливаться после регистрации на Google Play, с помощью которого публикуются приложения. Приложения также могут динамически опрашивать устройства с целью определения его характеристик. Например, если приложение обладает функциями, предусматривающими использование камеры, но может обходиться и без камеры, оно может опрашивать устройство с целью определения доступности его камеры.

Чтобы получить информацию о разработке приложений для нескольких устройств и обеспечения работоспособности приложения после выхода новых версий операционной системы Android, обратитесь к веб-сайту developer.android.com. Чтобы получить дополнительные сведения о фильтрах Market, позволяющих ограничить распространение приложения, обратитесь к веб-сайту developer.android.com/guide/appendix/market-filters.html.

Поддержка нескольких экранов

Библиотека Android SDK 1.6 или более высокая версия поддерживает несколько размеров экранов (измеряются по диагонали) экранных разрешений (количество пикселей вдоль каждой стороны экрана). Но вряд ли понадобится разрабатывать приложение, которое предназначено для экранов, имеющих любые размеры и разрешения (разве что в исследовательских целях).

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

Эти значения размера и разрешения экрана можно использовать при разработке приложений, даже если фактические размеры экранов устройств Android отличаются. Можно также создать несколько ресурсов (например, макетов, пиктограмм и рисунков) с целью их масштабирования на соответствующих экранах. Когда пользователь выполняет приложение, Android автоматически отображает его на экране устройства, имеющего определенный размер и разрешение экрана, а также выбирает подходящие ресурсы (если указаны различные ресурсы для экранов с разными размерами). Можно также настроить значение элемента <supportsscreens> из файла AndroidManifest.xml таким образом, чтобы указать различные размеры экрана, поддерживаемые приложением. Дополнительные сведения по этой теме можно найти в документе Supporting Multiple Screens, который доступен на веб-сайте developer.android.com.

Советы по разработке интерфейса пользователя Android

В процессе разработки приложений Android рекомендуется придерживаться указаний по разработке пиктограмм, виджетов, деятельностей, задач и меню, изложенных в документе Android User Interface Guidelines, находящемся на веб-сайте developer.android.com/guide/practices/ui_guidelines/index.html.

Указания по разработке пиктограмм

В документе Icon Design Guidelines (Указания по разработке пиктограмм) приведены сведения, используемые при создании пиктограмм (таких как пиктограмма запуска приложения, меню, панели состояния, вкладки, диалогового окна и списка), а также спецификации дизайна для каждой пиктограммы (размеры, цвет, позиционирование, эффекты и другие спецификации). Также предлагается воспользоваться загружаемым пакетом Android Icon Templates Pack, который предлагает шаблоны для создания собственных пиктограмм приложений в Adobe Photoshop и Adobe Illustrator.

Указания по разработке виджетов

В документе Widget Design Guidelines (Указания по разработке виджетов) приведены спецификации, применяемые в процессе создания виджетов для отображения на пользовательском главном экране динамически изменяющейся информации, например текущей погоды, курсов акций, цен на бензин и последних новостей. Виджеты могут быть автономными, но чаще всего они выступают в качестве дополнительной функции приложения, повышающей его ценность в глазах пользователя. Например, приложение ScoreCenter, предлагаемое компанией ESPN, включает виджет, предназначенный для отслеживания на главном экране пользователя результатов игр его любимых спортивных команд. Это гораздо удобнее, чем запускать приложение каждый раз, когда нужно просмотреть результаты последней игры. Пользователь может самостоятельно выбирать отображение виджета приложения на своем главном экране.

Создание выдающихся Android-приложенийУказания по проектированию деятельностей и задач