Читать книгу Разработка Android-приложений в деталях - Тимур Машнин - Страница 7
Wizard мастера ADT плагина
ОглавлениеМастер Android Project
Для создания Android-приложения откроем среду Eclipse с инсталлированным ADT-плагином и в меню File выберем команду New | Other | Android | Android Application Project и нажмем кнопку Next.
Введем имя приложения, отображаемое в устройстве, имя проекта, имя пакета. Выберем минимальную версию SDK, предпочтительную версию SDK, версию SDK относительно которой приложение будет компилироваться, тему приложения и нажмем кнопку Next. Оставим отмеченными флажки Create custom launcher icon и Create activity и нажмем кнопку Next. Определим значок приложения и нажмем кнопку Next. Выберем создаваемый Activity-компонент и нажмем кнопку Next:
Blank Activity – экран с надписью «Hello world!».
Blank Activity with Fragment – экран с фрагментом с надписью «Hello world!».
Empty Activity – все равно экран с надписью «Hello world!».
Fullscreen Activity – экран, нажатие на который вызывает переключение между обычным и полноэкранным режимами.
Master/Detail Flow – экран с боковой панелью меню.
Navigation Drawer Activity – экран с двумя фрагментами, панелью навигации и контентом.
Tabbed Activity – экран с вкладками и типом навигации: с помощью жеста Swipe Views (ViewPager), с помощью панели закладок Action Bar Tabs (with ViewPager), с помощью выпадающего списка Action Bar Spinner.
Определим имя Activity-компонента, имя компоновочного файла res/layout/activity_main. xml и нажмем кнопку Finish – в результате будет сгенерирована основа проекта Android-приложения.
Модель программирования Android-приложений основывается не на конструкции с главным классом приложения, имеющим точку входа – статический метод main (), а является компонентной моделью. Android-приложение может состоять из одного или нескольких компонентов, объявленных в файле манифеста приложения AndroidManifest. xml и относящихся к четырем типам:
Activity – расширение класса android.app.Activity, обеспечивающее создание одного окна на экране Android-устройства с формированием в нем GUI-интерфейса.
Service – расширение класса android.app.Service, обеспечивающее выполнение операций без предоставления GUI-интерфейса.
BroadcastReceiver – расширение класса android.content.BroadcastReceiver, отвечающее за прослушивание широковещательных сообщений с запуском других компонентов Android-приложения или выводом уведомлений пользователю в строку статуса.
ContentProvider – расширение класса android.content.ContentProvider, обеспечивающее хранение и извлечение общих данных.
Существующая версия ADT-плагина при создании Android-проекта предлагает формирование основы только Activity-компонента.
Основа самого простого Android-проекта, сгенерированная средой Eclipse, состоит из следующих узлов окна Package Explorer:
src – содержит пакет класса, расширяющего класс android.app.Activity.
gen – содержит R-класс, автоматически генерируемый инструментом aapt набора SDK Platform-tools из существующих ресурсов проекта для программного к ним доступа, а также класс BuildConfig, содержащий константу DEBUG, которая со значением true определяет запуск приложения в режиме отладки. При экспорте подписанного приложения значение константы DEBUG автоматически становится false.
Android х.х – библиотека Android-платформы, на основе которой создается приложение.
Android Private Libraries – дополнительная библиотека android-support, обеспечивающая обратную совместимость с предыдущими версиями Android API.
аssets – каталог предназначен для хранения данных приложения, доступ к которым осуществляется с помощью класса android.content.res.AssetManager. Отличие данного каталога от каталога res заключается в том, что он не должен иметь строго преопределенной структуры, которая для каталога res обеспечивает автоматическую генерацию R-класса.
bin – каталог сборки приложения.
libs – содержит JAR-файл библиотеки android-support.
res – содержит ресурсы приложения, доступ к которым осуществляется с помощью R-класса, и имеет строго предопределенную структуру:
animator – XML-файлы для создания объектов анимации.
color – XML-файлы, определяющие цветовую гамму View-объектов.
drawable – PNG, JPEG, GIF, 9-PNG и XML-файлы, формирующие графику.
layout – XML-файлы для формирования структуры GUI-интерфейса Activity-объектов.
menu – XML-файлы, описывающие меню приложения.
raw – каталог предназначен для хранения таких данных приложения как файлов в формате MP3 или Ogg.
values – XML-файлы для хранения строк, стилей, чисел, размеров и др., используемых приложением, в виде пар имя-значение.
xml – различные конфигурационные и ресурсные XML-файлы.
AndroidManifest. xml – файл манифеста приложения, определяющий запуск Android-приложения средой выполнения Android и описывающий Android-компоненты приложения, права пользователя, минимальный уровень API Android-платформы, необходимый для запуска приложения, требуемые опции Android-устройства и др.
ic_launcher-web.png – значок приложения для магазина Google Play Store.
proguard.cfg – файл инструмента proguard набора SDK Tools, обеспечивающего сокращение, оптимизацию и обфускацию кода.
project.properties – содержит установки проекта.
Созданный Android-проект можно перевести в статус библиотеки, предоставляющей исходный код и ресурсы для других Android-проектов. При этом Android-библиотека не может содержать ресурсы в каталоге аssets и версия Android-платформы библиотеки должна быть меньше или равна версии Android-платформы проекта, использующего библиотеку.
Для создания Android-библиотеки нужно в окне Package Explorer нажать правой кнопкой мышки на узле Android-проекта и в контекстном меню выбрать команду Properties. Далее в разделе Android отметить флажок Is Library и нажать кнопку OK.
Для использования созданной Android-библиотеки другим Android-проектом необходимо в окне Package Explorer нажать правой кнопкой мышки на узле Android-проекта и в контекстном меню выбрать команду Properties. Далее в разделе Android нажать кнопку Add и выбрать Android-библиотеку.
В результате в окне Package Explorer в Android-проект добавится узел Library Projects, содержащий временный JAR-файл Android-библиотеки, код и ресурсы которой можно использовать в проекте.