Статьи

Написание вашего первого приложения для Android

Эта статья была написана в 2011 году и остается одной из наших самых популярных публикаций. Если вы хотите узнать больше о мобильной разработке, вы можете найти эту недавнюю статью о мобильном симуляторе Firefox OS очень интересной.

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

Зайдите на http://market.android.com/publish и, используя свою учетную запись Google, зарегистрируйтесь в качестве разработчика в Android Market. Процесс регистрации является немедленным и требует единовременного регистрационного сбора в размере 25 долларов США.

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

Настройка среды разработки

Разработчики Java, особенно те, которые используют Eclipse, легко перейдут в мир разработки Android. Большинство приложений написаны на Java (вы можете перейти к использованию собственного C), и это типично для разработки в Eclipse IDE из-за поддержки инструментов, предоставляемой Google (хотя все можно сделать вне IDE из командной строки ). Разработка Android поддерживается в трех основных операционных системах: Windows (XP, Vista и 7), Mac OS X и Linux.

Для настройки вашей среды вам необходимо скачать и установить следующее:

  • Набор разработчика Java (JDK 5 или JDK 6) — одной только среды выполнения Java (JRE) недостаточно. Вы можете скачать специальный JDK для вашей системы с http://java.sun.com/javase/downloads/index.jsp .
  • Eclipse 3.5 (Galileo), который можно загрузить с http://www.eclipse.org/downloads/ . «Классик» — рекомендуемая версия.
  • Инструменты Android SDK доступны по адресу http://developer.android.com/sdk/index.html . Обратите внимание, где это установлено или разархивировано для следующего шага.
  • Инструменты разработчика Android (ADT) — плагин Eclipse , который необходимо установить из Eclipse:
    • В меню « Справка» нажмите « Установить новое программное обеспечение» , затем выберите « Добавить».
    • В диалоговом окне введите ADT Plugin для имени и https://dl-ssl.google.com/android/eclipse/ в разделе «Местоположение»; затем нажмите ОК .
    • Выберите « Инструменты разработчика» и нажмите « Далее» и еще раз « Далее», когда представлены элементы, которые нужно установить.
    • Прочтите и примите условия лицензии и нажмите « Готово» .

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

SitePoint-андроид-image1

Теперь настройте установленный плагин, щелкнув меню « Окно» и выбрав « Настройки» . Если вы на Mac, выберите Eclipse -> Preferences .

Выберите Android , а затем в качестве местоположения SDK перейдите туда, где вы установили Android SDK Tools , и выберите его. Нажмите Применить, затем ОК .

Используя установленные инструменты, вам нужно установить компоненты SDK. Это делается с помощью Android SDK и AVD Manager, которые находятся в меню « Окно» в Eclipse. Запустите менеджер и выберите Доступные пакеты . Затем выберите Документация , SDK Platform Android 2.3 и Примеры для SDK API 9 ; нажмите Установить выбранное .

SitePoint-андроид-image2

Запуск эмулятора

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

Чтобы создать AVD, выберите «Виртуальные устройства» в Android SDK и AVD Manager и нажмите « Создать» . Дайте устройству имя и выберите целевой SDK из выпадающего списка. Здесь вы также можете выбрать разные размеры экрана и размеры хранилища эмулятора; сейчас мы оставим все как по умолчанию и нажмем « Создать AVD» .

SitePoint-андроид-image3

Теперь вы можете запустить эмулятор, выбрав созданный AVD и нажав « Пуск» , а затем « Запустить» . Через некоторое время вы увидите, что эмулятор работает; Теперь вы можете запускать некоторые встроенные приложения.

SitePoint-андроид-image4

Создание проекта

Оставив эмулятор запущенным, перезапустите Eclipse, чтобы создать наш первый проект Android. Как только Eclipse завершит загрузку, перейдите в File -> New -> Other -> Android и выберите Android Project .

Введите имена проектов и приложений , а затем введите имя пакета для приложения. Этот пакет не только станет пакетом Java верхнего уровня для ваших исходных файлов, но также предоставляет уникальный идентификатор для вашего приложения. Никакие два приложения не могут иметь одинаковый идентификатор пакета, установленный на телефоне одновременно, и то же самое относится и к приложениям, представленным в Android Market.

SitePoint-андроид-image5

Выберите « Создать действие» и укажите имя класса Java, который станет точкой входа в ваше приложение, и нажмите « Готово» .

Изучите содержимое сгенерированного проекта. Вы найдете различные Java, XML и файлы конфигурации.

SitePoint-андроид-image6

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

Activity (HelloWorldActivity.java) — Android Activity — это однозадачная задача, которая составляет часть вашего приложения. Действие отобразит пользовательский интерфейс в предоставленном окне и будет взаимодействовать с пользователем для выполнения задачи. Отдельное действие может быть отображением списка электронных писем или отображением карты текущего местоположения.

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

Сгенерированная активность происходит из класса android.app.Activity и переопределяет единственный метод onCreate . Действия управляются событиями, исходящими из операционной системы Android, которые перемещают активность через различные этапы ее жизненного цикла. Метод onCreate вызывается при создании действия с намерением быть текущим выполняемым действием.

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

Manifest (AndroidManifest.xml) — это центральный файл конфигурации, необходимый для Android, чтобы понять различные части вашего приложения и то, как они сочетаются друг с другом. Взгляните на сгенерированный Манифест, где вы увидите:

  • package= "com.sitepoint" который формирует уникальный идентификатор приложения
  • <application ... > содержит атрибуты, необходимые для значка приложения и его имени, отображаемого на телефоне.
  • <activity ... > Activity <activity ... > — это то место, где сгенерированное действие было описано с атрибутами для имени класса (относительно пакета приложения) и отображаемой меткой для действия.
  • <intent filter> эти элементы XML указывают, что эта активность является точкой входа для вашего приложения при его запуске:
    • <action android:name= "android.intent.action.MAIN" />
    • <category android:name= "android.intent.category.LAUNCHER" />

Намерения — Android разработан таким образом, что приложения могут обращаться к другим установленным приложениям без необходимости знать конкретные детали их интерфейсов. Это достигается с помощью концепции Intents и Intent Filters. Намерение — это абстрактное описание действия (например, VIEW, SEND, EDIT), которое обычно ссылается на некоторые данные, для которых должно быть выполнено действие (например, контакт в адресной книге).

Действия могут создавать Интенты как способ передачи ответственности за задачу на другие Действия. Это может быть либо в том же приложении (например, переход из действия, которое отображает список контактов, в действие, которое отображает сведения об одном выбранном контакте), либо во внешнее приложение (когда, например, вы хотите отобразить PDF с использованием установленного средства просмотра PDF).

Действия объявляют о своих способностях обрабатывать комбинации действий и типов данных с помощью Intent Filters. Наша сгенерированная активность объявила о том, что она может обработать ОСНОВНОЕ действие при запуске приложения. Средство просмотра PDF может объявить, что оно может отображать данные типа PDF. Если два приложения рекламируют одну и ту же возможность, Android предложит пользователю выбрать, какое из них они хотят использовать. Intent выполняется и может сделать выбор по умолчанию в качестве опции.

Запуск и отладка

Теперь давайте запустим приложение в эмуляторе, который у вас уже должен быть запущен. Выберите проект в Eclipse и в меню « Выполнить» выберите « Выполнить»; затем выберите Приложение Android и OK в диалоговом окне. Пока приложение загружается (или эмулятор запускается снова, если вы его закрыли), вы должны добавить некоторые специфичные для Android представления в текущую перспективу Eclipse. Вы можете добавить их из Window -> Show View -> Other -> Android. Я обычно добавляю устройства , управление эмулятором и LogCat .

SitePoint-андроид-image7

В представлении « Устройства» вы можете увидеть любые эмуляторы или телефоны, которые вы подключили к вашей системе, которые доступны для отладки приложений. Вы также сможете увидеть процессы, которые в данный момент выполняются вместе с вашими, идентифицированными по имени пакета, который вы дали своему приложению. Если вы выберете эмулятор в этом представлении, а затем перейдете в представление LogCat , вы увидите все журналы , которые записывала система.

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

SitePoint-андроид-image8

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

SitePoint-андроид-image9

Подводя итоги

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

И если вам понравилось читать этот пост, вы полюбите Learnable ; место, чтобы узнать новые навыки и приемы у мастеров. Участники получают мгновенный доступ ко всем электронным книгам и интерактивным онлайн-курсам SitePoint, таким как Advanced Android Development .

Комментарии к этой статье закрыты. У вас есть вопрос о разработке Android? Почему бы не спросить об этом на наших форумах ?