Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Руководство разработчика



Руководство разработчика

Добро пожаловать в руководстве Android Dev!Dev Руководство содержит практическое введение в разработку

приложений для Android и документацию об основных особенностей платформы. Она исследует понятия

за Android, платформа для построения приложений и инструментов для разработки, тестирования и

публикации программного обеспечения для платформы.

Руководство Dev проводит большую часть документации для платформы Android, за исключением справочных материалов
в рамках API. Для спецификаций API, перейдите на theReference.
Как вы можете видеть на панели слева, руководство Dev разделена на несколько секций:

Основы Android

Первоначальная ориентация на Android - что это такое, что она предлагает, и как приложение подходит дюйма

Тем Framework

Обсуждения отдельных частей Android рамки и API. Для введения в

рамки, начнем с основы приложения. Тогда изучения других тем - от проектирования

Пользовательский интерфейс и настройки ресурсов для хранения данных и использования разрешений - по мере необходимости.

Тем Android Market

Документация по темам, которые издательский концерн и монетизации приложений на Android Market,

например, как соблюдение политик лицензирования и осуществления в приложение биллинга.

развивающийся

Направления использования развитии Android и средства отладки, а также для проверки результатов.

издательский

Инструкции о том, как подготовить приложения для развертывания и как опубликовать его, когда он

готовы.

Best Practices

Рекомендации по привилегированным методы для написания приложений, которые выполняются эффективно и

хорошо работает для пользователей.

веб-приложения

Документация о том, как создавать веб-приложения, которые напрямую работать на Android питанием

устройств и создавать приложения, которые включают веб-контента.

приложение

Справочная информация и технические характеристики, а также часто задаваемые вопросы, словарь терминов и другие

информацию.

Первый шаг в программировании для Android загружает SDK (Software Development Kit). для

Инструкции и информацию, перейдите на вкладку SDK.

После того, SDK, начнем через Dev Guide. Если вы хотите, чтобы начать получать быстрый

смотреть на некоторый код, Hello учебнике Всемирной проведет вас через стандартный "Hello, World" приложение

Введем некоторые основы приложений Android. В документе приложений Основы является хорошим



место, чтобы начать обучение основам о применении рамки.

Для получения дополнительной информации, рассмотреть вопрос о присоединении одной или нескольких групп Android обсуждения. К разработчика
Форумы для получения более подробной информации.
Чтобы вернуться на эту страницу позже, просто нажмите кнопку "Dev Guide" вкладки в то время как любой Dev страницу Руководство загружен.

 

 

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

Особенности
• Применение рамки, позволяющие повторное использование и замена компонентов
• Виртуальная машина Dalvik оптимизирован для мобильных устройств
• Встроенный браузер на основе WebKit с открытым исходным кодом двигателя
• Оптимизированная графика на питание от пользовательской библиотеки 2D-графики, 3D-графики на основе
OpenGL ES 1.0 спецификации (аппаратное ускорение необязательно)
• SQLite для хранения структурированных данных
• Медиа-поддержка распространенных аудио-, видео-и неподвижных изображений форматов (MPEG4, H.264, MP3, AAC,
AMR, JPG, PNG, GIF)
• GSM-телефонии (зависит от аппаратного обеспечения)
• Bluetooth, EDGE, 3G и WiFi (зависит от аппаратного обеспечения)
• камера, GPS, компас и акселерометр (зависит от аппаратного обеспечения)
• Богатая среда разработки, включая эмулятор устройства, инструменты для отладки, памяти и
профилирования производительности, и плагин для Eclipse IDE

Android архитектуры

На следующей диаграмме показаны основные компоненты операционной системы Android. Каждый раздел более подробно описаны ниже.

 

применения

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

браузер, контакты и другие. Все приложения, написанные с использованием языка Java программирование.

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

Разработчики имеют полный доступ к тем же API, база, используемая основных приложений.приложения
архитектура предназначена для упрощения повторного использования компонентов; любое приложение может опубликовать свои возможности
и любые другие приложения может затем использовать эти возможности (с учетом ограничений безопасности
в жизнь рамки). Этот же механизм позволяет компонентам быть заменены пользователем.

В основе всех приложений представляет собой набор сервисов и систем, в том числе:
• Богатый и расширяемый набор представлений, которые могут быть использованы для создания приложений, в том числе списков, сетки,
текстовые поля, кнопки и даже встраиваемый веб-браузер
• Контент-провайдеры, которые позволяют приложениям получать доступ к данным из других приложений (таких как
Контакты), или поделиться своими собственными данными
• Resource Manager, обеспечивающий доступ к не-кода ресурсы, такие как локализованные строки,
графики, и расположение файлов
• Notification Manager, который позволяет всем приложениям отображать персонализированные оповещения в статус
бар
• Activity Manager, который управляет жизненным циклом приложений и предоставляет общий
навигация backstack
Для более подробной информации и пошаговое приложения см. в блокноте Учебник.

Библиотеки

Android включает в себя набор C / C + + библиотек, используемых различными компонентами системы Android. эти

Возможности подвергаются разработчикам через рамки приложения Android. Некоторые из основных

библиотек, перечисленных ниже:

• Система C библиотека - BSD-реализации производных от стандартной библиотечной системы (Libc), настроенный

для встраиваемых Linux-устройств

• Медиа-библиотеки - на основе OpenCore PacketVideo автора; воспроизведение библиотеками поддержки и

Запись многие популярные форматы аудио и видео, а также статические файлы изображений, включая MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG и

• Поверхность Manager - управляет доступом к подсистеме дисплей и легко композитов 2D

и 3D-графических слоев из нескольких приложений

• LibWebCore - современный движок веб-браузера, который питает как самого браузера, Android и

встраиваемый вид веб-

• SGL - 2D-графики основных двигателей

• 3D библиотеки - реализация на основе OpenGL ES 1.0 API; библиотеки используют либо

аппаратного 3D-ускорения (при наличии) или включен, оптимизированный 3D растеризации программного обеспечения

• FreeType - растрового и векторного рендеринга шрифтов

• SQLite - это мощный и легкий механизм реляционной базы данных доступны для всех приложений

Android выполнения

Android включает в себя набор основных библиотек, что обеспечивает большинство функций, доступных в основные библиотеки

языка программирования Java.

Каждое приложение Android работает в своем собственном процессе, со своим собственным экземпляром виртуальной машины Dalvik.

Dalvik была написана так, что устройство может работать с несколькими виртуальными машинами эффективно.Dalvik VM выполняет файлы в

Исполняемые Dalvik (. DEX) формат, оптимизированный для минимального объема памяти.ВМ registerbased,

и работает классы, скомпилированные компилятором языка Java, которые были преобразованы в. индексу

формат включено "DX" инструмент.

Dalvik VM основана на Linux ядра для основных функций, таких как резьба и низкого уровня

управление памятью.

Linux Kernel

Android основан на Linux версии 2.6 для основных системных сервисов, таких как безопасность, управление памятью,

Процесс управления, сетевой стек и модель драйверов. Ядро также действует как уровень абстракции

между оборудованием и остальной частью программного стека.

Приложение Основ

Быстрый просмотр

• приложения состоят из одного или более компонентов приложения (работ, услуг, контента

поставщиками, а также трансляции ресиверы)

• Каждый компонент выполняет различные роли в общем поведении приложения, и каждый из них может быть активирован

индивидуально (даже в других приложениях)

• файл манифеста должны объявить все компоненты приложения, а также должны объявить все приложения

требования, такие как минимальная версия Android требуется, и любой аппаратной конфигурации требуется

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

конфигураций устройств (таких, как различные строки для разных языков и разных макетов для различных

размеры экрана)

 

N Этот документ
Приложение Компоненты
Активация компонентов
Файл манифеста
Объявление компонентов
Объявление требований приложений
ресурсы приложения

 

 

Android приложения, написанные на языке программирования Java.Android SDK инструменты компиляции

код вместе с любыми данными и файлами ресурсов, в пакет Android, архивный файл с

. АПК суффикс. Весь код в одном. Файл АПК считается одним приложением и представляет собой файл, который

Android-устройствах использовать для установки приложения.

После установки на устройства, каждое приложение Android живет в своей собственной изолированной программной среды безопасности:

• система Android операционная многопользовательских Linux система, в которой каждое приложение представляет собой различные

пользователь.

• По умолчанию система присваивает каждому приложению уникальный пользователь Linux ID (идентификатор используется только

системы и неизвестно, к заявке).Система устанавливает права доступа для всех файлов в

приложение так, что только идентификатор пользователя, установленного для этого приложение может получить к ним доступ.

• Каждый процесс имеет свою собственную виртуальную машину (VM), так что код приложения работает в изоляции от

других приложений.

• По умолчанию каждое приложение выполняется в своем собственном Linux процесс. Android запускает процесс, когда любой

компоненты приложения должны быть выполнены, то выключается процесс, когда это не

больше не нужен или когда система должна восстановить память для других приложений.

Таким образом, система Android реализует принцип наименьших привилегий. То есть, каждый

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

больше. Это создает очень безопасную среду, в которой приложение не может получить доступ к частям

Система, для которой он не дал разрешения.

Тем не менее, есть способы для приложения для обмена данными с другими приложениями, а также для применения к

доступ к системе услуг:

• Это можно устроить для двух приложений один и тот же Linux ID пользователя, в этом случае они

могут получить доступ к файлам друг друга. Чтобы сэкономить системные ресурсы, приложения с тем же

Идентификатор пользователя также может организовать для запуска в том же Linux процесс и одни и те же VM (

Заявки должны быть подписаны с такими же сертификат).

• приложение может запросить разрешение на доступ к устройству данные, такие как контакты пользователя, SMS
Сообщения, монтаж хранения (SD карты), камера, Bluetooth и многое другое. Все приложения
должны быть предоставлены разрешения пользователем во время установки.
Это охватывает основы относительно того, как приложение для Android существует в системе.Остальные
В этом документе представлены Вам:
• базовая основа компонентов, которые определяют ваше приложение.
• файл манифеста, в котором вы объявляете компоненты и необходимые функции для вашего устройства
приложение.
• ресурсы, которые отделены от кода приложения и позволяет приложению корректно
оптимизировать свое поведение для различных конфигураций устройств.

Приложение Компоненты

Приложение компоненты являются основными строительными блоками приложения Android. Каждый компонент

различные точки, через которые система может ввести ваше приложение. Не все компоненты фактического вступления

пунктов для пользователей, и некоторые зависят друг от друга, но каждый из них существует как своего лица и играет

Конкретная роль, каждый из них является уникальным строительным блоком, который помогает определить общее поведение вашего приложения.

Есть четыре различных типов компонентов приложения. Каждый тип служит определенной цели и имеет

различные жизненным циклом, который определяет, как компонент создается и разрушается.

Вот четыре типа компонентов приложения:

деятельность

Деятельность представляет собой единый экран с пользовательским интерфейсом. Например, приложение электронной почты

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

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

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

Приложение можно запустить любую из этих видов деятельности (если почтовая программа это позволяет). Например,

Камера приложение может начать свою деятельность в приложение электронной почты, что составляет новую почту, для того,

для пользователя, чтобы поделиться картины.

Деятельность осуществляется как подкласс активность и вы можете узнать больше об этом в

Деятельность руководства разработчика.

Услуги

Служба является компонентом, который работает в фоновом режиме для выполнения длительных операций или

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

Служба может воспроизводить музыку в фоновом режиме, пока пользователь находится в другом приложении, или он может

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

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

Услуга реализована в виде подкласса Обслуживание и вы можете узнать больше об этом в

услуги гида разработчика.

Контент-провайдеры

Контент-провайдер управляет общий набор данных приложения. Вы можете хранить данные в файл

системы, базы данных SQLite, на веб-сайте, или любые другие стойкие место хранения ваших приложений

могут получить доступ. Через контент-провайдер, другие приложения могут запрашивать или даже изменять данные

(если контент-провайдер это позволяет). Например, система Android предоставляет контент-провайдер

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

Разрешения можете запросить часть контент-провайдера (например, ContactsContract.Data) читать

и записывать информацию о конкретном человеке.

Контент-провайдеры также могут использоваться для чтения и записи данных, которая является частной для вашего приложения

, а не общие. Например, образец Note Pad приложение использует контент-провайдера, чтобы сохранить

нотами. Контент-провайдер реализован как подкласс ContentProvider и должны реализовывать

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

см. разработчика Контент-провайдеры руководство.

радиовещательных приемников

Вещания Приемник представляет собой компонент, который отвечает на общесистемной объявления вещания.

Много передач происходят из системы, например, трансляции, объявив, что

экран выключен, батарея разряжена, или картина была захвачена. Приложения также могут инициировать

трансляций, например, чтобы другие приложения знаю, что некоторые данные были загружены в

Устройство и доступны для их использования. Хотя радиовещательных приемников не отображать пользователю

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

происходит. Чаще, однако, трансляции приемник просто "ворота" для других компонентов

и предназначена, чтобы сделать очень минимальный объем работы. Например, он может инициировать услуг

выполнять некоторые работы на основе событий.

Вещания Приемник выполнен в виде подкласса BroadcastReceiver и каждого

трансляции поставляется как намерениях объекта. Для получения дополнительной информации см.

Класс BroadcastReceiver.

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

компонент. Например, если вы хотите, чтобы пользователь захватить фотографию с помощью камеры устройства, там, наверное,

других приложений, что делает это и ваше приложение может использовать его, вместо того чтобы развивать деятельность

сделать снимок себя. Вы не должны включать или даже ссылки на код от камеры

приложение. Вместо этого, вы можете просто начать деятельность в приложение камеры, которая фиксирует фото.

После завершения фото даже вернулся в приложение таким образом, вы можете использовать его. Для пользователя, кажется,

если камера на самом деле является частью вашего приложения.

При запуске системы компонент, он запускает процесс для данного приложения (если он еще не запущен)

и экземпляры классов, необходимых для компонента. Например, если ваше приложение начинает деятельность

В приложение камеры, которая фиксирует фото, что деятельность выполняется в процессе, который принадлежит

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

системы, Android приложения не имеют единой точки входа (нет основного () функцию, например).

Поскольку система работает каждое приложение в отдельном процессе с правами доступа к файлам, которые ограничивают доступ

для других приложений, приложения не могут непосредственно активировать компонент из другого приложения.

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

Сообщение к системе, которая определяет ваше намерение начать конкретный компонент. Затем система

включает компоненты для Вас.

 

Активация компонентов

Три из четырех типов компонентов, работ, услуг, а также трансляции ресиверы-активируются

асинхронных сообщений называется намерением. Намерения связывать отдельные компоненты друг с другом во время выполнения (вы

можете думать о них как посланники, которые просят действий от других компонентов), в том

компоненту принадлежит вашему приложению или другой.

Намерения создается с намерением объект, который определяет сообщение, чтобы активировать либо конкретный

компонент или конкретного типа компонента намерениях может быть либо явно или неявно, соответственно.

Для работ и услуг, намерение определяет действие, выполняемое (например, «увидеть» или «отправить»

что-то), и может указать URI данных, которые действуют на (между прочим, что компонент бытия

началось возможно, необходимо знать). Например, намерение может передать запрос на активность, чтобы показать

изображение или открыть веб-страницу. В некоторых случаях, вы можете начать деятельность на получение результата, в этом случае,

Деятельность также возвращает результат в намерениях (например, вы можете оформить намерения, чтобы позволить пользователю выбрать

личный контакт и она вернулась к вам, возвращение намерения включает в себя URI, указывающий на выбранную

контакт).

Для радиовещательных приемников, намерение просто определяет объявления, которые передаются (например,

трансляцию, чтобы указать устройство батарея разряжена включает только известные действия строку, указывающую "аккумулятор

низкий ").

Другой тип компонента, контент-провайдер, не активирован намерений. Скорее, он активируется, когда

мишенью запрос от ContentResolver.Содержание арбитр обрабатывает все прямые сделки

с контент-провайдером, так что компонент, который выполняет операции с поставщиком не

нужно, и вместо этого вызывает методы ContentResolver объекта. Это оставляет слой абстракции

между контент-провайдером и компонент с просьбой предоставить информацию (в целях безопасности).

Есть отдельные методы для activiting каждого типа компонентов:

• Вы можете начать деятельность (или дать ему что-то новое, чтобы сделать), передав

Намерение startActivity () или startActivityForResult () (если вы хотите,

Деятельность вернуть результат).

• Вы можете запустить сервис (или дать новые инструкции для текущего обслуживания), передав

Намерение StartService (). Или вы можете привязать к службе, передавая

Намерение bindService ().

• Вы можете начать вещание, передавая намерениях методы

как sendBroadcast (), sendOrderedBroadcast (), orsendStickyBroadcast ().

• Вы можете выполнить запрос к контент-провайдера по телефону запроса () на ContentResolver.

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

об активации специфических компонентов также предоставляется в следующих

Документы: Деятельность, услуги, BroadcastReceiver и контент-провайдеров.

Файл манифеста

Перед системой Android можно запустить приложение компонент, система должна знать, что

компонент существует, читая application'sAndroidManifest. XML-файл ("явный" файл). ваш

Заявка должна объявить все его компоненты в этом файле, которая должна быть в корне проекта приложения

каталог.

Манифест делает целый ряд вещей, в дополнение к объявив компонентов приложения, такие как:

• Определите любые разрешения пользователя приложение требует, таких как доступ в интернет или доступ на чтение

пользователей контакты.

• Объявите минимальный уровень API, необходимые для приложения, на основе которых API-интерфейсов приложений

использует.

• Объявите аппаратного и программного обеспечения использовались или не требуется приложения, такие как камеры,

Bluetooth услуг, или мультитач экран.

• API библиотеки приложение должно быть связано с (кроме Android рамках API),

таких, как библиотеки Google Maps.

• И многое другое

Объявление компонентов

Основная задача манифеста заключается в информировании о системе компонентов приложения. для

Например, файл манифеста может объявить активности следующим образом:

<?xml version="1.0" encoding="utf-8"?>

<manifest... >

<application android:icon="@drawable/app_icon.png"... >

<activity android:name="com.example.project.ExampleActivity"

android:label="@string/example_label"... >

</activity>

...

</application>

</manifest>

В <application> элемент, андроид: икона атрибут указывает на ресурсы на значок,

определяет приложение.

В элементе <activity>, андроид: имя атрибута указывает полное имя класса

подкласс активность и Android: LabelAttributes определяет строку для использования в качестве видимых пользователю

метка для деятельности.

Вы должны объявить все компоненты приложения следующим образом:

• <activity> элементов для деятельности

• <service> элементы для услуг

• <receiver> элементы для радиовещательных приемников

• <provider> элементы для контент-провайдеров

Деятельность, услуги и контент-провайдеров, что вы включаете в вашу источник, но не заявляют в

проявляться не видны в системе и, следовательно, никогда не может работать. Тем не менее, радиовещательных приемников

может быть либо объявлены в манифесте или создается динамически в коде (как BroadcastReceiver объектов)

и зарегистрирован в системе, вызывая registerReceiver ().

Более подробную информацию о том, как структурировать файл манифеста для вашего приложения, см. AndroidManifest.xml

Файл документации.

Объявление возможностями компонента

Как уже говорилось выше, в Активация компонентов, вы можете использовать намерениях начать деятельность, услуги и

радиовещательных приемников. Вы можете сделать это явно назвать целевой компонент (с помощью компонента

Имя класса) в намерениях. Тем не менее, реальная власть фактически находится в концепцию о намерениях действий. с

намерения действиями, вы просто описать тип действия, которые необходимо выполнить (и, возможно, данные по

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

выполнять действия и запустить его. Если есть несколько компонентов, которые могут выполнять действия, описанные на

намерения, то пользователь выбирает, какой из них использовать.

То, как система идентифицирует компоненты, которые могут реагировать на намерение путем сравнения намерениях

получены с намерением фильтров, в файле манифеста других приложений на устройстве.

Когда вы объявляете компонент в манифесте приложения, можно дополнительно включить намерениях фильтры, которые

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

заявляем о намерении фильтра для компонента, добавив <intent-filter> элемент как дочерний

Декларация компонента элемента.

Например, приложение электронной почты с активностью для составления нового сообщения электронной почты может объявить о намерении фильтр

В своем манифесте вступления в ответ на "отправить" намерения (для отправки по электронной почте).Деятельность в вашем приложении

Затем можно создать намерениях с "отправить", действие (ACTION_SEND), которая соответствует системе на электронную почту

Приложение "Отправить" деятельности и запускает его при вызове намерениях с startActivity ().

Более подробную информацию о намерениях создания фильтров см. намерений и документов намерениях фильтры.

Объявление требований приложений

Есть целый ряд устройств на базе Android, и не все из них предоставляют те же функции и

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

Ваше приложение, важно, что вы четко определить профиль для типов устройств приложение

поддерживает, объявив устройства и программные требования в вашем файле манифеста. Большинство из этих деклараций

являются исключительно информационный характер и система не читал их, но внешнее такие услуги, как в Android Market

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

Например, если ваше приложение требует камерой и использует API, введенные в Android 2.1 (API Level 7),

Вы должны объявить эти требования, как в вашем файле манифеста. Таким образом, устройства, которые не имеют

камеры и версию Android ниже, чем 2.1 не может установить приложения из Android Market.

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

случае, ваше приложение должно выполнить проверку во время выполнения определить, если устройство имеет камеру и

отключить все функции, которые используют камеру, если он не доступен.

Вот некоторые из важных характеристик устройства, которые вы должны учитывать при проектировании и

разработки приложения:

Размер экрана и плотности

Для того, чтобы классифицировать устройства по их тип экрана, Android определяется двумя характеристиками для каждого

Устройство: размер экрана (физические размеры экрана) и экран плотности (физическим

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

Экран конфигурации системы Android обобщает их в отдельные группы, которые делают их

проще цели.

На экране размеров: маленькие, нормальные, большие и очень большие.

Экран плотностью являются: низкая плотность, средней плотности, высокой плотности, а также дополнительные высокой плотности.

По умолчанию приложение совместимо со всеми размерами экрана и плотности, потому что

Android система вносит соответствующие изменения в макет пользовательского интерфейса и графических ресурсов.

Тем не менее, вы должны создать специализированные макетов для определенного размера экрана и предоставлять специализированные

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

какие именно размеры экрана приложение поддерживает с <supports-screens> элемент.

Для получения дополнительной информации см. в документе Поддержка нескольких экранов.

Входной конфигураций

Многие устройства обеспечивают различные типы пользователей механизм ввода, такие как аппаратная клавиатура,

трекбол или пяти-позиционная навигационная панель. Если ваше приложение требует определенного вида входного

оборудования, то вы должны объявить его в манифесте с <usesconfiguration>

элемент. Тем не менее, это редкий, что приложение должно требуют определенного входного

конфигурации.

особенности устройства

Есть много аппаратных и программных средств, что может или не может существовать на данной Androidpowered

устройств, таких как камера, датчик света, Bluetooth, определенную версию OpenGL, или

точность сенсорного экрана. Вы никогда не должны считать, что определенная функция доступна на всех

Android-устройствах (кроме наличия стандартных Android библиотеке), так что вы

должны декларировать любые функции, используемые приложением с <uses-feature> элемент.

Платформа версия

Различные Android-устройствах часто запускать различные версии платформы Android, таких как

Android 1.6 или Android 2.3. Каждая последующая версия часто включает в себя дополнительные API-интерфейсов не доступны

В предыдущей версии. Для того, чтобы указать, какой набор API-интерфейсов доступны, каждая версия платформы

определяет уровень API (например, Android 1.0, API Level 1 и Android 2.3, API Level 9). если

Вы используете любую API, которые были добавлены к платформе после версии 1.0, вы должны объявить

минимальный уровень API, в котором эти интерфейсы были введены помощью <uses-sdk> элемент.

Важно, что вы объявляете все такие требования для вашего приложения, потому что, когда вы распространяете

приложение на Android Market, рынок использует эти заявления для фильтрации приложений

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

требований приложения.

Для получения дополнительной информации о том, как Android Market фильтров приложений, основанных на этих (и других)

Требования, см. документ рынка фильтров.

ресурсы приложения

Приложение Android состоит из более, чем просто код он требует ресурсов, которые отделены от

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

приложение. Например, вы должны определить анимации, меню, стилей, цветов и схема деятельности

пользовательский интерфейс с XML файлы. Использование ресурсов приложения позволяет легко обновлять различные

характеристик приложения без изменения кода и за предоставление множества альтернативных

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

на разных языках и размеров экрана).

Для каждого ресурса, который вы включили в проект Android, SDK инструменты разработки, определить уникальное целое число,

ID, который можно использовать для ссылки на ресурс из кода приложения или из других ресурсов

определены в XML. Например, если ваше приложение содержит файл с именем logo.png (сохраненные в

Theres / холст / каталога), SDK инструменты генерировать идентификатор ресурса имени R.drawable.logo, которые

Вы можете использовать для ссылки на изображение и вставить его в свой пользовательский интерфейс.

Одним из наиболее важных аспектов предоставления ресурсов отдельным от вашего исходного кода является возможность

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

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

Затем, основываясь на языке отборочного что вы добавляете к имени ресурса каталога (например,

как RES / значения-пт / на французский значения строки) и язык пользователя настройки системы Android

применяет соответствующие строки язык пользовательского интерфейса.

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

что вы включили в название вашей директории ресурсов для того, чтобы определить конфигурацию устройства для

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

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

экран в портретную ориентацию (высокий), вы можете макета с кнопками, чтобы быть вертикальным, но когда

экран в альбомной ориентации (широкий угол), кнопки должны быть выровнены по горизонтали. Чтобы изменить макет

В зависимости от ориентации, можно определить две различные схемы и применять соответствующие квалификатор

Каталог каждого макета имя. Затем система автоматически применяет соответствующую раскладку в зависимости от

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

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


Дата добавления: 2015-11-04; просмотров: 43 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Http://ficbook. Net/readfic/2390040 | Руководство разработчика

mybiblioteka.su - 2015-2024 год. (0.073 сек.)