Домой / 10 правил  / Как создать приложение для android в eclipse. Как начать разрабатывать под Android. Запуск приложения на эмуляторе

Как создать приложение для android в eclipse. Как начать разрабатывать под Android. Запуск приложения на эмуляторе

Наталия Елманова

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

Сегодня мы поговорим о создании приложений для платформы Android традиционным способом, то есть без применения кодогенераторов и иных вспомогательных средств генерации приложений с типовыми функциями, с которыми мы периодически знакомились на протяжении данного цикла. Упомянутые инструменты нередко позволяют получить нужный результат с минимальными трудозатратами, но их применение ограничено случаями, когда «нужный результат» - это приложение с более или менее стандартной функциональностью, предусмотренной авторами данных инструментов. Создать произвольное приложение с их помощью либо не получится, либо, в ряде случаев, получится при разработке нестандартной части приложения с помощью все тех же профессиональных инструментов.

Что нужно знать для того, чтобы начать создание произвольных приложений для Android? Традиционно приложения для этой платформы создаются с помощью языка программирования Java, поэтому потребуется знакомство с этим языком хотя бы на уровне начинающего разработчика. Для создания приложений потребуются наборы библиотек и утилит Java SDK (JDK) и Android SDK. В принципе, для разработки приложений Android достаточно перечисленных нами наборов библиотек и утилит и либо драйвера устройства, на котором будет тестироваться приложение, либо его эмулятора. Однако в настоящее время все более популярным становится применение среды Eclipse с модулем расширения Android Development Tools (ADT).

Процесс установки ADT подробно описан на ресурсе Google для разработчиков Android-приложений http://developer.android.com/sdk/installing.html. При желании можно скачать с ресурса http://developer.android.com/sdk/index.html готовую среду разработки (рис. 1), включающую Eclipse, Android SDK и ADT, а затем с помощью вызываемой из среды утилиты Android SDK Manager выбрать и загрузить на свой компьютер из Интернета библиотеки для интересующих нас версий данной платформы.

Рис. 1. Среда разработки Eclipse с установленным расширением ADT

И наконец, следует загрузить эмулятор - Android Virtual Device (AVD), на котором будет отлаживаться приложение, выбрав требуемую версию платформы, объем виртуальной SD-карты и разрешение экрана. Вместо эмулятора можно использовать и реальное устройство, в этом случае следует загрузить его драйвер, например, с сайта Google.

Подготовив среду и выбрав рабочую область (Workspace) - местоположение файлов проектов будущих приложений, можно попробовать создать первое приложение либо с нуля, либо воспользовавшись одним из готовых шаблонов. Проект приложения включает код Java-классов, ресурсы - формы, хранящиеся в виде xml-файлов, наборов строк, массивов, графических файлов для разных разрешений экрана, а также манифест AndroidManifest.xml, представляющий собой описание свойств приложения.

Формы приложения можно редактировать как в xml-представлении, так и с помощью визуального дизайнера, позволяющего размещать на ней интерфейсные элементы и иные компоненты приложения (рис. 2).

Рис. 2. Редактор форм

Для других ресурсов также имеются соответствующие редакторы.

Для создания простейшего примера на нашу традиционную тему «О журнале «КомпьютерПресс» воспользуемся всеми доступными средствами генерации кода и форм. Создадим новое приложение с помощью соответствующего мастера, доступного в пункте New → Android Application в контекстном меню рабочей области (рис. 3).

Рис. 3. Мастер создания нового приложения

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

На одном из первых экранов мастера отметим опции Create Custom Launcher icon и Create activity - в этом случае мы можем создать свою пиктограмму приложения, а само сгенерированное приложение будет содержать Java-класс, отображающий на экране устройства форму и обрабатывающий возникающие в ней события (рис. 4).

Рис. 4. Выбор параметров приложения

Рис. 5. Создание пиктограммы приложения

Для главной (и единственной) формы нашего примера выберем пустую форму (Blank Activity) c вкладками (рис. 6).

Рис. 6. Выбор типа главной формы приложения

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

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

Начнем с редактирования ресурсов. Для начала присвоим трем вкладкам сгененированной формы нужные нам имена - пусть это будут строки «О нас», «Рубрики» и «Адрес». Для этого вспомним о том, что наше приложение содержит строковые ресурсы, найдем в папке res\values проекта приложения файл strings.xml и, дважды щелкнув по нему, откроем редактор строковых ресуров. В этом редакторе заменим содержимое уже имеющихся строк title_section1, title_section2, title_section3 на «О нас», «Рубрики» и «Адрес», а также добавим три новые строки: About, Address и Subjects - с текстами нашего сайта, содержимым которых мы будем заполнять элемент TextView на форме при переключении между вкладками (рис. 7).

Рис. 7. Редактирование строковых ресурсов

Наконец, наступил момент, когда без написания кода мы обойтись не сможем - необходимо реализовать предполагавшееся нами заполнение элемента dummyTextView при переключении между вкладками. С этой целью мы должны найти в сгенерированном коде класса MainActivity.java, ответственного за отображение формы и обработку ее событий, обработчик события OnCreateView, связанный с перерисовкой формы при выборе вкладки, и заменить в нем сгенерированную автоматически строку

dummyTextView.setText(Integer.toString(getArguments().getInt(

ARG_SECTION_NUMBER)));

на фрагмент кода, выводящий строки About, Address и Subjects в элемент TextView в зависимости от того, какую из вкладок выбрал пользователь:

if (getArguments().getInt(ARG_SECTION_NUMBER)==1){

dummyTextView.setText(R.string.About);

else if (getArguments().getInt(ARG_SECTION_NUMBER)==2){

dummyTextView.setText(R.string.Subjects);

else if (getArguments().getInt(ARG_SECTION_NUMBER)==3){

dummyTextView.setText(R.string.Address);

Далее следует сохранить внесенные изменения и попробовать протестировать готовое приложение. Как было сказано, сделать это можно с помощью устройства, подключенного к компьютеру, на котором ведется разработка, либо с помощью виртуального устройства - эмулятора смартфона Android (Android Virtual Device, AVD).

Для создания AVD нужно выбрать пункт меню Window → Android Virtual Device Manager и создать новое виртуальное устройство, нажав кнопку New справа от списка устройств (возможно, пустого). Затем следует описать характеристики нового устройства. После описания характеристик созданное виртуальное устройство появится в перечне устройств (рис. 8).

Рис. 8. Описание характеристик виртуальных устройств

Теперь следует указать, на каком из имеющихся виртуальных устройств нужно тестировать созданное нами приложение. Для этого из контекстного меню проекта выбираем пункт Run as → Run configurations и в появившемся диалоге на вкладке Target выбираем виртуальное устройство (рис. 9).

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

Теперь можно запустить приложение, выбрав из контекстного меню проекта пункт Run as → Android Application . За процессом запуска можно следить на вкладке Console среды разработки (ее можно при необходимости переключить в режим отладки, в котором следует изменить размеры окон так, чтобы эта вкладка занимала на экране побольше места).

Если все было сделано без ошибок, будет запущен эмулятор смартфона и через какое­то время (по моему опыту и опыту многих коллег, иногда довольно продолжительное) на экране эмулятора появится пиктограмма приложения, а затем и само приложение (рис. 10).

Рис. 10. Готовое приложение, запущенное на виртуальном устройстве

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

Проблема

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

Решение

Установите среду Eclipse и подключаемый модуль AndMore. Затем создайте свой проект и начните писать приложение. Соберите его и протестируйте с помощью эмулятора в среде Eclipse.

Обсуждение

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

  • Eclipse IDE
  • Android SDK
  • Модуль AndMore

Подробнее об установке этих элементов см. .

После того как вы это сделаете, создайте новый Android-проект с помощью меню File → New (Файл → Новый), и вы увидите такой экран, как на рис. 1.

Выберите версию SDK для целевого устройства (рис. 3). Версия 4.0 охватывает почти все устройства, используемые сегодня; более поздние версии дают еще больше возможностей. Решать вам!

Рис. 1.

Рис. 2.

Рис. 3.

На рис. 4 показана структура проекта, развернутая на панели проекта справа. На нем также показано, в какой степени вы можете использовать автозаполнение Eclipse на платформе Android, - я добавил атрибут gravity для метки, а среда Eclipse пред­лагает полный список возможных значений атрибутов. Я выбрал central-horizontal , поэтому в момент запуска приложения ярлык должен быть центрирован.

Рис. 4.

Если в компоновке LinearLayout установить атрибут gravity равным center_ vertical , а в представлении TextView - center_horizontal , то текст будет центри­рован как по вертикали, так и по горизонтали. В листинге 1 приведен соответству­ющий файл компоновки main.xml (расположенный в каталоге res/layout).

Листинг 1. Файл HelloWorld. java

Как всегда, когда вы сохраняете исходный файл, среда Eclipse генерирует скомпи­лированную версию. В проекте для платформы Android она также создает скомпили­рованный пакет АРК, который готов к запуску, поэтому вам нужно только запустить его. Щелкните правой кнопкой мыши на проекте и выберите команду Run As → Android Application (Запустить как → Приложение для платформы Android) (рис. 5).

Android SDK предлагает пользовательский плагин для Eclipse IDE, который называется Android Development Tools (ADT). Этот плагин предоставляет мощную интегрированную среду, в которой можно разрабатывать приложения для Android. Это расширяет возможности Eclipse, позволяя быстро создавать новые проекты Android, создавать интерфейс приложения, делать отладку приложения, экспорт подписей для пакетов приложения (APK) и их распространения.

Примечание: Вы должны установить плагин ADT в том случае, если у вас уже есть установленный Eclipse, который вы хотите продолжать использовать. Если Eclipse не был установлен, вместо него вы должны установить полный пакет Android SDK, который включает в себя последнюю IDE для разработчиков Android.

Ваш существующая инсталляция Eclipse для Android должна соответствовать следующим требованиям:

  • Eclipse 3.7.2 (Indigo) или выше

    Примечание: Eclipse 3.6 (Helios) больше не поддерживается с последней версией ADT.

  • Плагин Eclipse JDT (входит в большинство пакетов Eclipse IDE)
  • JDK 6 (наличия JRE недостаточно)
  • Не совместим с GNU Compiler для Java (GCJ)

Скачать плагин ADT

Чтобы добавить ADT плагин Eclipse для Android:

  1. Запустите Eclipse, затем выберите Help > Install New Software (Помощь > установить новое программное обеспечение).
  2. Нажмите Add (Добавить) в правом верхнем углу.
  3. В диалоге Add Repository (Добавить репозиторий), в появившемся диалоговом окне, введите "ADT Plugin" для Name (имя) и следующий адрес для Location (расположение ): https : //dl-ssl.google.com/android/eclipse/

    Примечание: Инструменты разработчика Android Developer Tools при обновлении требуют защищенного соединения. Убедитесь, что вводимый URL для обновления начинается с HTTPS.

  4. Нажмите ОК .
  5. В диалоговом окне Available Software (Доступное ПО), установите флажок рядом с Developer Tools и нажмите Далее .
  6. Далее .
  7. Прочитать и принять условия лицензионного соглашения, а затем нажмите Готово.

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

  8. После завершения установки, перезагрузите Eclipse.

Настройка ADT плагина

После того, как Eclipse для Android будет перезапущен, необходимо указать местоположение вашего каталога Android SDK :

  1. В появившемся окне "Добро пожаловать" выберите Use existing SDKs (Использовать существующие пакеты SDK) .
  2. Укажите местоположение каталога Android SDK, в который вы недавно скачали и распаковали файлы.
  3. Нажмите Далее .

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

Поиск и устранение неисправностей при установке ADT

Если у вас возникли проблемы с загрузкой плагина ADT после выполнения перечисленных выше шагов и вы находитесь работаете с брандмауэром (например, корпоративный брандмауэр), убедитесь, что вы правильно настроили параметры прокси-сервера в Eclipse для Android. В Eclipse вы можете настроить прокси из главного меню Eclipse, в разделе Window (на Mac OS X, Eclipse )> Preferences > General > Network Connections .

Если вы все еще не в состоянии использовать Eclipse, вы можете скачать ADT-архив на локальный компьютер и установить его вручную:

  1. Скачать zip-архив ADT Plugin (не распаковывайте его):
    Пакет Размер Сумма MD5
    ADT-23.0.2.zip 103287135 байт
  2. Запустите Eclipse, затем выберите Help > Install New Software (Помощь > Установить новое программное обеспечение) .
  3. Нажмите Add в правом верхнем углу.
  4. В диалоговом окне добавления репозитория, нажмите Archive .
  5. Выберите загруженный ADT-23.0.2.zip файл и нажмите ОК .
  6. Введите "ADT Plugin" в качестве имени и нажмите ОК .
  7. В диалоговом окне Available Software (Доступное ПО) установите флажок рядом с Developer Tools и нажмите Далее .
  8. В следующем окне вы увидите список инструментов, которые будут загружены. Нажмите Next .
  9. Прочтите и примите условия лицензионного соглашения, а затем нажмите Готово .

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

  10. После завершения установки, перезагрузите Eclipse для Android.

Другие ошибки установки

Обратите внимание, что в ADT имеются свои особенности. Например, требуются некоторые необязательные пакеты для Eclipse (например, WST). Если вы столкнулись с ошибкой при установке ADT, ваш Eclipse может не включать эти пакеты. Для получения информации о том, как быстро добавить необходимые пакеты для вашей установки Eclipse, см. в тему устранения неполадок .

Для пользователей Linux

Если эта ошибка возникла при установке ADT Plugin для Eclipse:

An error occurred during provisioning . Cannot connect to keystore . JKS

Это значит, в вашей системе отсутствует подходящая виртуальная машина Java VM. Установка Sun Java 6 решит эту проблему, и вы можете затем переустановить ADT Plugin.

В интегрированной среде разработки Eclipse можно управлять, редактировать, компилировать, выполнять и отлаживать приложения. Подключаемый модуль ADT Plugin для Eclipse предоставляет пользователям дополнительные инструменты, применяемые для разработки Android-приложений. Можно также воспользоваться подключаемым модулем ADT Plugin для управления различными версиями платформы Android. Это требуется в случае разработки приложений, предназначенных для различных устройств, на которых установлены различные версии операционной системы Android. После первого запуска среды Eclipse появится вкладка Welcome(Добро пожаловать):

На этой вкладке находится ряд ссылок-пиктограмм щелкнув на которые вы попадете в соответствующие разделы.
Щелкните на кнопке Workbench(Рабочая среда), чтобы отобразить перспективу разработки Java, в которой начинается разработка Android-приложений. В Eclipse поддерживается разработка приложений на нескольких языках программирования. Каждый установленный набор инструментов Eclipse представлен отдельной
перспективой разработки.

Создание нового проекта
Чтобы начать программировать на Android в Eclipse, выполните команды File->NewProject… (Файл->НовыйПроект…) для отображения диалогового окна New Project(Новый проект)

Это окно также можно отобразить с помощью раскрывающегося списка New(Создать) панели инструментов.

Раскройте узел Android, выберите параметр Android Application Project (Проект Приложения Android) и щелкните на кнопке Next>(Далее>). На экране появится диалоговое окно New Android Project(Новый проект Android)

Проект — это группа связанных файлов, например файлы кода и изображения, которые формируют приложение. В диалоговом окне New Projectможно создать проект «с нуля» либо воспользоваться существующим исходным кодом (например кодом из книги или примеров поставляемых с Android SDK).

Кстати сказать, окошко New Android Application сильно поменялось, начиная с названия и кончая содержанием. Так что будем разбираться по ходу пьесы.
И так поехали! Заполняем поля как показано на скриншоте



Application Name (Имя Приложения) – это имя которое будет отображаться в PlayStore, а так же в диспетчере приложений на устройстве, на которое будет установлено приложение.

Project Name (Имя Проекта) – имя проекта используемое только в Eclipse. Должно быть уникальным в рабочей среде. Обычно оно такое же как и Application Name, но я сделал другим чтобы стало яснее где какое имя будет отображаться.

Package Name (Имя Пакета) – это имя ДОЛЖНО БЫТЬ УНИКАЛЬНЫМ ИДЕНТИФИКАТОРОМ вашего приложения. То есть вы должны быть уверены что ни кто так свое приложение больше не назовет. И это имя должно оставаться одним и тем же на протяжении всего жизненного цикла приложения (версии приложения могут меняться, но имя должно оставаться одним и тем же).

Minimun Required SKD – минимальная версия Android необходимая для функционирования вашего приложения. Это означает по существу минимальную версию SDK, которая необходима, чтобы приложение нормально работало. И кроме того, Андроид просто не позволит установить приложение, если на устройстве стоит версия Андроид у которой номер API меньший, чем указанный в этом параметре.

Target SDK – целевая или максимальная версия Android на которой приложение будет точно работать и было протестировано. Рекомендуется устанавливать этот параметр как можно в более высокое значение.

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

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

И так жмем Next и видим следующее окошко

Убираем галку с Create custom launcher icon ижмем Next


Выбираем Blank Activity и жмем Next и видим следующее окошко

Заполняем как на экране и жмем Finish и видим перспективу разработки проекта Java

Желтым я подсветил то, на что стоит обратить особое внимание, чтобы стало понятно куда какие названия прилепились. Далее раскрываем узел, затем узел layout и дважды кликаем на main.xml и о чудо! видим как будет выглядеть наше приложение! Щелкнув оп main.xml мы вызвали редактор ADT Visual Layout Editor. С его помощью можно создать графический интерфейс пользователя путем перетаскивания в окно приложения компонентов GUI, таких как Buttons, TextViews, ImageViewsи др.

Немножко перенастроим нашу среду чтобы все было получше видно

В узле проекта содержимое проекта организовано в виде различных файлов и папок, в том числе:
src — папка, включающая исходные файлы проекта Java;
gen — папка, содержащая файлы Java, сгенерированные IDE;
Android 2.3.3 — папка, включающая версию Android framework, выбранную при создании приложения;
res — папка, в которой находятся файлы ресурсов, связанные с приложением, такие как макеты GUI и изображения, используемые в приложении.
другие папочки рассмотрим позже.
При создании Android-приложения с помощью Eclipse макет интерфейса пользователя хранится в XML-файле, который по умолчанию на-зывается main.xml. Благодаря определению элементов GUI в XML-файле можно легко отделить логику приложения от его презентации. Файлы макетов являются ресурсамиприложения и хранятся в папке resпроекта. Макеты GUI находятся в подпапке папки layout.
Чтобы просмотреть XML-содержимое файла, выберите вкладку с именем файла макета (в данном случае, main.xml). Чтобы вернуться обратно к представлению Visual Layout Editor, выберите вкладку Graphical Layout(Графический макет).
В принципе это приложение можно уже запустить на исполнение. Я запустил его используя Genymotion, так как это гораздо быстрее чем эмулятор Андроид из SDK и даже Intel.

Полезное видео по данной теме

И так продолжаем эксперименты с первым нашим проектом.

Удаление и воссоздание файла main.xml
В процессе создания приложения для этой главы вместо заданного по умолчанию файла main.xml будет использоваться новый файл макета, RelativeLayout(в этом файле определяется относительное расположение компонентов). Чтобы заменить заданный по умолчанию файл main.xml, выполните следующие действия:
1) Убедитесь в том, что файл main.xmlзакрыт, потом щелкните на нем правой кнопкой мыши (в папке /res/layout проекта) и выберите команду Delete(Удалить) для удаления файла.
2) В узле Androidвыберите параметр Android XML Layout File и жмите Next

4) Удостоверяемся что файлик создается в каталоге /res/layout

И жмем Finish и попадаем в уже знакомое окошко



Настройка размера и разрешения экрана в Visual Layout Editor
Поскольку операционная система Android может выполняться на множестве различных устройств, в комплект поставки Visual Layout Editor входит ряд различных конфигураций устройств, представляющих разные размеры и разрешения экрана. Эти на-стройки выбираются в раскрывающемся списке Device Configurations (Конфигурации устройства)

Если стандартные конфигурации не соответствуют устройству, для которого разрабатывается приложение, можно создать собственную конфигурацию устройства «с нуля» либо путем копирования и изменения одной из имеющихся конфигураций.
Для создания примеров в книге мы использовали основное тестовое устройство Samsung Nexus S, которое снабжено 4-дюймовым экраном с разрешением 480×800 пикселей (WVGA). Рекомендуется разрабатывать масштабируемуюбиблиотеку Android GUI, которая позволит корректно формировать изображения на экранах различных устройств. Благодаря свойству масштабируемости не требуется точное соответствие области проектирования Visual Layout Editor экранам физических устройств. Достаточно выбрать подобную конфигурацию устройства.

Размеры и разрешение изображений и экрана

Поскольку экраны устройств Android имеют различные размеры, разрешения и пиксельные плотности экрана (выражается в точках на дюйм или DPI), поддерживаются изображения (и другие ресурсы), которые выбираются операционной системой в соответствии с пиксельной плотностью экрана устройства. Поэтому в папке res проекта находятся четыре подпапки:
drawable-xhdpi (сверхвысокая плотность)
drawable-hdpi (высокая плотность)
drawable-mdpi (средняя плотность)
drawable-ldpi (низкая плотность)

Пиксельные плотности устройств Android

xhdpi Сверхвысокая плотность — примерно 320 точек на дюйм
hdpi Высокая плотность — примерно 240 точек на дюйм
mdpi Средняя плотность — примерно 160 точек на дюйм
ldpi Низкая плотность — примерно 120 точек на дюйм
nodpi Отсутствие масштабирования ресурсов независимо от плотности экрана
Шаг 1. Добавление изображений в проект
Для данного приложения в проект нужно добавить изображения Deitel bug (bug.png) и логотипа Android (android.png). Эти изображения находятся в папке images вместе с примерами книги. Чтобы добавить изображения в проект, выполните следующие действия:
1. В окне Package Explorerоткройте папку проекта res.
2. Найдите и откройте папку images, которая находится среди примеров книги, потом перетащите изображения в папку, которая находится в подпапке drawable-hdpi папки res.


Теперь изображения могут использоваться в приложении.

Шаг 2. Изменения свойства Id макета RelativeLayout
С помощью окна Properties(Свойства) можно сконфигурировать свойства выбранного макета или компонента без непосредственного редактирования XML-кода. Если окно Propertiesне отображается, отобразите его двойным щелчком на пункте RelativeLayout в окне Outline(Структура).

Выберите компонент RelativeLayout, затем, выполнив прокрутку в окне Properties, выберите свойство Idи присвойте ему значение:

@+id/welcomeRelativeLayout

Имя каждого объекта определяется с помощью его свойства Id. Это свойство может применяться для получения доступа и изменения компонента, при этом не нужно
знать точное местоположение компонента в XML-коде. Как будет показано позднее, свойство Idтакже может применяться для указания относительного позиционирования компонентов в макете RelativeLayout.

Символ + в конструкции @+id определяет создание нового идентификатора (имя переменной), который указан справа от символа /

Шаг 3. Присваивание свойству Background у RelativeLayout значения
По умолчанию в качестве фонового цвета макета выбирается белый (в нашем случае), но его можно изменить (например, на желтый). Любой цвет представляет собой результат смешения красного, синего и зеленого компонентов, которые называются RGB-компонентами. Каж-дый из этих компонентов может принимать целочисленное значение в диапазоне от 0 до 255. Первый компонент задает количество красного в общем цвете, второй — количество зеленого, а третий — количество синего цвета. Во время работы в интегрированной среде разработки (IDE) для определения цвета используется шестнадцатеричный формат. То есть RGB-компоненты представлены в виде значений в диапазоне 00–FF.
Чтобы изменить фоновый цвет, найдите свойство Backgroundв окне Properties и присвойте ему значение #FFFF33

Формат #RRGGBB— это пары шестнадцатеричных чисел, которые представляют красный, зеленый и синий цвета соответственно. В Android так-же поддерживаются альфа-значения (прозрачность), которые изменяются в диапазоне 0–255. Значение 0 соответствует полной прозрачности, а значение 255 — полной непрозрачности. Если планируется использовать альфа-значения, укажите цвет в формате #AARRGGBB, где первые две шестнадцатеричных цифры соответствуют альфа-значению.
Если обе цифры каждого компонента цвета одинаковы, можно воспользоваться форма-том #RGBили #ARGB. Например, значение #FFFтрактуется как #FFFFFF.

Шаг 4. Добавление компонента TextView
На этом шаге добавим в пользовательский интерфейс компонент TextView. В списке Form Widgets(Виджеты форм), находящемся в левой части окна Visual Layout Editor, найдите компонент TextViewи перетащите его в область проектирования



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

Шаг 5. Настройка свойства Text компонента TextView с помощью строковых ресурсов

Согласно документации Android по ресурсам приложений (developer.android.com/guide/topics/resources/index.html) считается хорошим тоном хранить строки, массивы строк, изображения, цвета, размеры шрифтов, размерности и другие ресурсы приложения так, чтобы их можно было использовать отдельно от кода приложения. Например, после экстернализациицветовых значений все компоненты, использующие один и тот же цвет, могут быть перекрашены путем простого изменения значения цвета в центральном файле ресурса.
Если нужно локализовать приложения, создав версии на нескольких разных языках, сохраните строки отдельно от кода приложения. В результате у вас в дальнейшем появится возможность простого изменения этих строк. В папке resпроекта находится подпапка values, в которой помещен файл strings.xml. Этот файл применяется для хранения строк. Чтобы сформировать локализованные строки для других языков, создайте отдельные папки valuesдля каждого используемого языка.
Например, в папке values-frможет находиться файл strings.xmlдля французского языка, а в папке values-es— файл strings.xml для испанского языка. Можно также формировать названия этих папок с учетом информации о регионе. Например, в папке values-en-US может находиться файл strings.xml для американского диалекта английского языка, а в папке values-en-GB— файл strings.xml для диалекта английского языка, используемого в Великобритании.
Чтобы получить дополнительные сведения о локализации, обратитесь к ресурсам:

Developer.android.com/guide/topics/resources/;
providing-resources.html.AlternativeResources;
developer.android.com/guide/topics/resources/localization.html.

Чтобы установить значение свойства Textкомпонента TextView, создадим новый строковый ресурс в файле strings.xml.

1. Выберите компонент TextView.
2. В окне Propertiesнайдите свойство Text, щелкните на значении, заданном по умолчанию, затем щелкните на кнопке с многоточием. Эта кнопка находится в правой
части поля значения свойства и служит для отображения диалогового окна Resource Chooser(Выбор ресурсов).

3. В диалоговом окне Resource Chooserщелкните на кнопке New String…(Новая строка…), чтобы отобразить диалоговое окно Create New Android String(Создать новую
строку Android)

4. Заполните поля String и New R.string, потом щелкните на кнопке OK, чтобы скрыть диалоговое окно Create New Android Stringи вернуться к окну Resource Chooser.

5. Автоматически выбирается новый строковый ресурс welcome. Щелкните на кнопке OK для выбора этого ресурса.

После выполнения указанных выше шагов в окне Properties появляется свойство Text. Запись в форме @string свидетельствует о том, что существующий строковый ресурс может быть выбран в файле strings.xml, а имя welcome говорит о том, что строковый ресурс выбран в данный момент времени.

Основное преимущество определения строковых значений заключается в облегчении локализации приложения, осуществляемой путем создания дополнительных
файлов XML-ресурсов для других языков. В каждом файле используется одно и то же имя в поле New R.stringи поддерживается интернационализированная строка в поле String. Потом Android может выбрать соответствующий файл ресурса, основываясь на языке, предпочтительном для пользователя устройства. Дополнительные сведения о локализации можно найти на веб-сайте developer.android.com/guide/topics/resources/localization.html.

Шаг 6. Настройка свойств Text size и Padding top компонента TextView — пиксели, независимые от плотности и от масштабирования

Размеры компонентов GUI и текста на экране Android могут определяться с помощью различных единиц измерения.
Документация, описывающая различные раз-меры экранов, находится на веб-сайте по адресу developer.android.com/guide/practices/screens_support.html и рекомендует для определения размеров компонентов GUI и других экранных элементов использовать пиксели, независимые от плотности, а размеры шрифтов задавать с помощью пикселей, независимых от масштабирования.

Задание размеров в пикселях, независимых от плотности (dp или dip), позволяет платформе Android автоматически масштабировать графический интерфейс пользователя в зависимости от плотности пикселей экрана физического устройства.
Размер пикселя, независимого от плотности, эквивалентен размеру физического пикселя на экране с разрешением 160 dpi (точек на дюйм). На экране с разрешением
240 dpi размер пикселя, независимого от плотности, будет масштабироваться на коэффициент 240/160 (то есть 1,5). Таким образом, компонент, размер которого составляет 100 пикселей, независимых от плотности, будет масштабирован до размера в 150 физических пикселей на таком экране. На экране с разрешением 120 точек на дюйм каждый независимый от плотности пиксель масштабируется на коэффициент 120/160 (то есть 0,75). Значит, 100 независимых от плотностей пикселей превратятся на таком экране в 75 физических пикселей. Пиксели, независимые от масштаба, масштабируются так же, как и пиксели, независимые от плотности, но их масштаб зависит также и от предпочитаемого размера шрифта, выбираемого пользователем.
А теперь увеличим размер шрифта для компонента TextViewи добавим небольшой отступ над компонентом TextView.
1. Чтобы изменить размер шрифта, выберите компонент TextView, а потом присвойте свойству Text size значение 40sp.
2. Чтобы увеличить отступ между верхним краем макета и компонентом TextView, выберите свойство Layout margin top propertyв разделе Misc(Разное) окна Properties
и присвойте ему значение 10dp.



Шаг 7. Настройка дополнительных свойств компонента TextView
Сконфигурируйте дополнительные свойства компонента TextViewследующим обра-зом:
1. Свойству Idприсвойте значение @+id/welcomeTextView.
2. Свойству Text colorприсвойте значение #00F(синий).
3. Свойству Text style присвойте значение bold. Чтобы выполнить эту операцию, щелкните в области поля Valu eэтого свойства, затем щелкните на кнопке с многоточием для отображения диалогового окна, в котором выбирается стиль шрифта. Установите флажок bold, потом щелкните на кнопке OK для выбора стиля текста.
4. Чтобы отцентрировать текст компонента TextView при его расположении в нескольких строках свойству Gravityприсвойте значение center. Для выполнения
этой операции щелкните в области поля Valueэтого свойства, потом щелкните на кнопке с многоточием для отображения диалогового окна параметров свойства
Gravity



Шаг 8. Отображение логотипов Android и Deitel Bug с помощью компонентов ImageViews
1. Перетащите компонент ImageView, находящийся в категории Images & Media (Изображения и медиаресурсы) палитры Visual Layout Editor, в окно Outline(Макет), . Новый компонент ImageViewпоявится ниже узла welcomeTextView.





2. Свойству Id компонента ImageView присвойте значение @+id/droidImageView. В окне Outline отобразится название объекта droidImageView.

3. Присвойте свойству Layout center horizontalобъекта droidImageViewзначение true, чтобы отцентрировать компонент ImageViewвнутри макета.

4. Полю Content Description присвоейте занчение @string/droidPic

5. Подобные действия делаем для рисунка bug.png. При-свойте свойству Id компонента значение @+id/bugImageView.

Ну и запустим наше первое приложение:)


Для того, чтобы писать программы - нужна среда разработки. Google рекомендует использовать для этих целей Eclipse с плагином Android Development Tools (ADT). В этом уроке мы подробно рассмотрим, как установить и настроить эту среду разработки.

Я буду описывать установку применимо к операционной системе Windows 7.
Использую этот мануал по установке -
Системные требования -

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

1. Java SDK - JDK

Т.к. разработка приложений ведется на Java, нам нужно скачать и установить соответствующее SDK, называемое еще JDK (если, конечно, оно уже не установлено).

Скачать можно . Недавно появилась седьмая версия. Ничего не могу сказать о ней, но есть , что сырая, потому рекомендую скачать проверенную шестую версию В разделе Java Platform, Standard Edition жмете JDK Download , ставите галку, что принимаете лицензионное соглашение и скачиваете файл соответственно Вашей операционной системе. С установкой проблем возникнуть не должно. После этого желательно перезагрузиться.

2. Android SDK

Android SDK включает в себя инструменты, необходимые для разработки Android-приложений. Содержимое можно посмотреть , а скачать . Рекомендуется скачивать EXE-шник, но я предлагаю скачать ZIP-версию и самим распаковать в какой-нить удобный для вас каталог (если нет ссылки на ZIP, нажмите ссылку Other Platforms).

Учтите, что это должен быть каталог "на векА". И лучше его не перемещать никуда, иначе придется перенастраивать среду разработки. Предлагаю где-нибудь создать каталог Android. Крайне желательно, чтобы путь к нему был коротким. Идеально - :\android (у меня это будет f:\android). Для себя запомним этот каталог под псевдонимом . И в него распакуем наш архив SDK, получим \android-sdk-windows .

3. Eclipse

Симпатичная и удобная среда разработки, где мы и будем творить и созидать). Ее мы будем брать . Гугл рекомендует нам версию Eclipse Classic . Согласимся с ним и скачаем именно эту версию. Распаковываем архив в, получаем \eclipse .

4.ADT

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

Запускаем Eclipse (\eclipse\eclipse.exe). При первом запуске он попросит указать ему рабочий каталог, где он будет хранить информацию о проектах. Предлагаю опять же не ходить далеко и создать каталог \workspace и указать этот каталог.

Итак Eclipse запущен. Скачаем ADT плагин.

В меню запускаем Help > Install New Software ...


Жмем кнопку Add в правом верхнем углу


Вводим "ADT Plugin " в поле Name
URL адрес: https://dl-ssl.google.com/android/eclipse/ - в поле Location


Жмем OK и ждем, пока появится Developer Tools (Если возникают проблемы, используйте http вместо https)
Ставим галку на Developer Tools и жмем Next


Видим компоненты, которые будут установлены, жмем снова Next



Читаем и принимаем лицензионное соглашение и жмем Finish


Начинается закачка компонентов. Если выскочит Security warning о том, что the authenticity or validity of the software can"t be established , жмите OK .

У меня процесс занял около минуты.
После завершения надо перезапустить Eclipse - Restart Now


После перезапуска Eclipse выдаст такой диалог:


Первый пункт нужен для тех, кто по каким то причинам не скачал и не распаковал SDK на втором шаге данной инструкции. Eclipse сможет сделать это сам. И дополнительно сразу же скачает последнюю Android-платформу. Также он предлагает скачать платформу версии 2.1, как наиболее поддерживаемую кучей устройств.

Нам интересен второй пункт - он позволяет указать, куда мы распаковали SDK в шаге 2. У нас это - \android-sdk-windows . Жмем Next.

И в появившемся окне выбираете, отправлять статистику в гугл или не отправлять. На работу это никак не повлияет.



5. Платформы Android

И проваливаемся в SDK Manager.


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

Обязательно нужно докачать неустановленное еще содержимое папки Tools. Также в папке Extras (в конце списка) найдите пункт Android Support Library и отметьте его, если он есть.

Для остальных, необходимых вам версий Android выбираете только SDK Platform. Учитывайте, что каждая платформа может весить до 150 метров!!! На работе особо не покачаешь, админы потом придут за вами:) Для первых уроков потребуется только платформы 2.2 (API 8) и 2.3.3 (API 10) . Можете скачать пока только их.

Для платформ версии 4.Х выбираем SDK Platform (сама платформа) и ARM EABI v7a System Image (для работы эмулятора).

Если же трафика не жалко, то добавляйте для каждой плафтормы пункты:
Samples for SDK - исходники примеров приложений
Google APIs by Google Inc. - нужно если собираетесь работать с гугл-приложениями (Map, Navigation и пр.)

Если трафика не жалко вообще - ставьте все галки. Но ждать придется долго. И займет все это дело не один гиг.

Когда все выбрали - жмем кнопку Install X packages справа снизу.

В новом окне подтверждаем, что согласны все это скачать - Accept All . Заодно здесь можно и размер посмотреть и отказаться от чего-либо.


Жмете Install - побежал индикатор и открылся лог - началась закачка. При моем выборе компонентов, я ждал минут 20. После этого в окошках появилась фраза:

Установка завершена. Закрываем лог и SDK Manager.

Для информации - у меня новые компоненты заняли 1,5 гига.

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

На следующем уроке мы в Eclipse настроим Android Virtual Device (AVD), создадим наше первое приложение и запустим его. AVD – это эмулятор смартфона с операционной системой Android, на котором можно запускать и тестировать приложения. Не подключать же свой смартфон каждый раз) Также мы рассмотрим структуру проекта приложения.

P.S. Если у вас не появилось это окно


или вы его нечаянно закрыли - ничего страшного. Путь к SDK из шага 2 можно указать вручную.

В Eclipse меню Windows > Preferences


Слева выбираем Android , жмем Browse

Указываем каталог, куда распаковали SDK - \android-sdk-windows . Жмем Apply .

Нам говорят, что отсутствует компонент - закрываем это сообщение и жмем OK


У меня еще выскочило такое окошко:

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

После этого можно идти в SDK Manager (в Eclipse меню Window > Android SDK Manager ) и скачивать платформы.