Mobiletuts + будет охватывать все основные мобильные платформы — iPhone, Windows, Android и Blackberry. Сегодня мы рассмотрим развитие Android: объясним, почему люди выбрали работу с Android, и предоставим обзор Eclipse IDE, его Java, DDMS и перспектив отладки. Наконец, вы узнаете, как начать создавать свое первое приложение для Android!
Учебники по Android 101:
- Изучите Java для разработки под Android: Введение в Java
- Изучите Java для разработки под Android: синтаксис Java
- Изучите Java для разработки под Android: проверка типа объекта с помощью Instanceof
- Изучаем Java для разработки под Android: работа с массивами
- Изучите Java для разработки под Android: основы отражения
- Введение в разработку Android SDK
- Начало работы с Android: начало работы с FortuneCrunch
Что такое Android?
Android — это мобильная операционная система с открытым исходным кодом, которая объединяет и строит части множества различных проектов с открытым исходным кодом. Что это значит для вас как разработчика? У вас есть доступ к исходному коду платформы, работающей на телефоне. Это может помочь вам лучше понять, как работают элементы управления интерфейсом и другие элементы. Если вам случится найти ошибку, вы также можете отправить патч для этой проблемы, хотя это более продвинутая практика. Google также объединил большую группу компаний (так называемый Open Handset Alliance), которые вносят свой вклад и используют ОС Android в своих аппаратных устройствах. Это означает, что существует общеотраслевая поддержка ОС Google, что обещает широкое распространение среди известных поставщиков.
Почему андроид?
Есть много преимуществ для разработки для платформы Android:
- Нулевой запуск стоит, чтобы начать разработку. Инструменты разработки для платформы можно бесплатно загрузить, и Google взимает небольшую плату за распространение приложений на Android Market.
- Свобода для инноваций. Android OS — это платформа с открытым исходным кодом, основанная на ядре Linux и нескольких библиотеках с открытым исходным кодом. В дополнение к созданию приложений для Android-устройств разработчики могут также вносить свой вклад или расширять платформу.
- Свобода сотрудничества. Разработчики Android не обязаны подписывать NDA и поощряются к сотрудничеству и обмену исходным кодом друг с другом. Согласно опросу Black Duck Software, количество мобильных приложений и библиотек с открытым исходным кодом выросло на 168% с 2008 по 2009 год, что на Android быстрее, чем на любой другой платформе. Это означает больше кода, который вы можете повторно использовать в своих собственных проектах, чтобы вывести их на рынок намного быстрее.
- Открытая модель распространения. Очень мало ограничений наложено на контент или функциональность, разрешенные в Android Market от Google, и разработчики могут свободно распространять свои приложения и по другим каналам распространения.
- Мультиплатформенная поддержка. Существует множество аппаратных устройств на базе ОС Android, в том числе множество телефонов и планшетных компьютеров. Разработка для платформы может происходить в Windows, Mac OS или Linux.
- Поддержка нескольких операторов. В настоящее время большое количество операторов связи предлагают телефоны на платформе Android.
Предварительные условия перед продолжением этой статьи включают в себя:
- Вы должны загрузить и установить Eclipse IDE. Выберите «Eclipse IDE для разработчиков Java» .
- Вы должны загрузить и установить Android SDK.
- Установите плагин Eclipse для Android Development Tools (ADT) .
Eclipse IDE
Eclipse — это сложная, многоязычная и расширяемая интегрированная среда разработки (IDE). Кривая обучения может быть крутой, но сила окружающей среды может значительно повысить вашу эффективность.
После первого открытия Eclipse выберите рабочее пространство для сохранения своего проекта. Вы увидите вводный экран с несколькими значками. Выберите опцию «Перейти к рабочему столу», и вы увидите экран проекта по умолчанию.
Предполагая, что вы уже установили плагин Eclipse ADT, вам нужно будет настроить Eclipse для разработки под Android, вручную указав путь к файлу для Android SDK. Для этого выберите Eclipse> Настройки на главной панели инструментов, а затем выберите Android в появившемся диалоговом окне. Обновите параметр «Местоположение SDK», чтобы он указывал на каталог, в который вы установили SDK. Теперь у вас должна быть настроена IDE для разработки под Android.
Важно отметить, что Eclipse использует так называемые «перспективы» для группировки часто используемых задач. Переключение ракурсов приведет к переключению частей меню и панелей инструментов, а также к отображению и скрытию связанных с ними представлений. Перспективы можно открыть, нажав кнопку Открыть перспективу или выбрав Окно> Открыть перспективу . Некоторые перспективы, которые вы будете часто использовать, включают Java, Debugging и DDMS.
Перспектива Java
Перспектива Java — это перспектива по умолчанию в Eclipse, и именно там вы, вероятно, будете проводить большую часть своего времени.
Одним из наиболее важных представлений в этой перспективе является представление Package Explorer, по умолчанию расположенное в левом столбце рабочей среды. Это представление представляет собой обзор всего вашего проекта. Он также показывает состояние отдельных файлов с точки зрения проблем компиляции, контроля версий и т. Д.
Другим важным представлением в перспективе Java является представление «Проблемы», по умолчанию расположенное в нижней центральной панели рабочей среды. Здесь вы найдете предупреждения и ошибки компиляции в списке. Вы можете дважды щелкнуть элемент, чтобы перейти непосредственно к ошибке в файле Java или XML.
Перспектива DDMS
DDMS — это сокращение от Dalvik Debug Monitor Server, который связывается с низкоуровневыми службами устройства или эмулятора. Переключитесь на перспективу DDMS, выбрав « Окно»> «Открыть проекцию»> «DDMS» .
В представлении «Устройства», расположенном в левом столбце рабочей среды, отображаются все устройства Android, доступные для вашего компьютера. Это касается как телефонов, подключенных к вашей машине, так и работающих эмуляторов. Под каждым устройством вы увидите все запущенные процессы. В представлении имеются кнопки панели инструментов для запуска отладчика в процессе, получения информации о кучах и потоках, остановки процессов и создания снимков экрана.
Панель управления эмулятором, также в левом столбце, позволяет выполнять следующие действия:
- Установите статус голосового соединения.
- Установите статус, скорость и задержку передачи данных.
- Имитация входящего звонка или SMS с предоставленного номера телефона.
- Предоставьте смоделированный набор точек для GPS через точку широты / долготы или файл GPX / KML.
Используя представление «Проводник», доступное в виде вкладки в правом верхнем углу центрального столбца, вы можете просматривать файловую систему устройства. Для эмулятора или рутированного телефона у вас будет доступ к личным каталогам / данным и / системе. Для нерутированных телефонов у вас будет доступ только к / sdcard.
Перспектива отладки
Перспектива отладки предоставит подробную информацию о ваших приложениях. Переключитесь на перспективу отладки, выбрав « Окно»> «Открыть проекцию»> «Отладка» .
Представление «Отладка» покажет вам анализируемые запущенные приложения, а также при остановке на точке останова или исключении также стек вызовов приложения. Представление Variables отображает содержимое любых локальных переменных в текущей точке останова.
Представление LogCat в нижнем правом углу отображает все выходные данные журнала, используя класс android.util.Log. Вы можете фильтровать на основе тегов или различных уровней журнала, таких как отладка, информация, ошибки и т. Д.
Ваше первое приложение
Чтобы начать создание приложения Android, вернитесь в перспективу Java и выберите « Файл»> «Меню»> «Проект Android» . Это запустит мастер создания приложения, и вам будет предложено ввести метаинформацию о вашем проекте в трех категориях: «Содержимое», «Цель создания» и «Свойства».
Назовите приложение «DemoApp» и оставьте раздел «Содержимое» со всеми значениями по умолчанию.
Раздел Build Target определяет версию SDK, с которой будет скомпилировано наше демонстрационное приложение. Для этого урока выберите API уровень 4 (Android 1.6), потому что он будет работать на широком спектре оборудования, а API позволит нам обрабатывать различные разрешения экрана.
Далее следует раздел Свойства, который предоставляет мастеру больше информации о том, какие классы генерировать и как их следует называть. Параметр «Имя приложения» будет отображаться под значком приложения, а также в строке заголовка приложения при запуске. Имя пакета предоставляет базовое пространство имен Java для ваших сгенерированных классов. Чтобы создать действие по умолчанию, убедитесь, что флажок «Создать действие» установлен, и укажите имя действия. Последний вариант — версия Min SDK. Это значение определяет, какая версия Android должна быть на телефоне, чтобы приложение можно было установить. Обычно это тот же уровень API, который вы выбрали в Build Target.
Как только вы введете всю эту информацию и нажмете «Готово», у вас будет простое приложение «Hello World», которое почти готово для запуска на телефоне или эмуляторе. Прежде чем мы настроим эмулятор и запустим приложение, уделите несколько минут проверке сгенерированного стандартного содержимого шаблона:
Файл AndroidManifest.xml
Файл AndroidManifest.xml содержит метаданные о вашем приложении, которые понадобятся ОС Android для правильной работы приложения. Имя приложения, которое используется как для значка приложения, так и для заголовка активности, а также значок приложения, определяется в разделе «Атрибуты приложения». Вы заметите, что поле «Имя» на самом деле не содержит текст имени, а «@ string / app_name». Это ссылка на строку и может использоваться в любое время, когда ожидается строка. Фактический текст строки затем определяется в одном из файлов XML, найденных в папке res / values. Мастер создания приложения сгенерировал там файл с именем strings.xml.
Раздел «Узлы приложения» — это место, где все действия определены для приложения. Единственное действие нашего приложения называется MainActivity и указано здесь.
Папка / res
В папке res хранится большинство ресурсов приложения. Основные категории контента включают в себя элементы рисования, макеты и значения.
Drawables — это, как правило, растровые изображения в форме .PNG. Drawables также могут быть изображениями из девяти патчей, которые являются .PNG со специальными данными в изображении, которые помогают Android лучше справляться с растяжением изображения. Изображения с девятью заплатами можно создавать с помощью инструментов с девятью заплатами в SDK или с помощью инструмента создания изображений, такого как Photoshop.
Макеты — это место, где вы определяете свои экраны. Чтобы просмотреть XML для макета на экране, перейдите на вкладку main.xml.
Значения — это то, где вы определяете (в XML) свои глобально используемые цвета, размеры, строки и стили. Файл strings.xml позволяет добавлять и редактировать значения для вашего проекта.
Папка / gen
Здесь генерируется код для всех ресурсов, определенных в вашей папке res. Вот как вы можете получить доступ к макетам и элементам управления, определенным в вашем коде.
Папка / src
Папка src содержит весь ваш пользовательский исходный код, сгруппированный в пакеты. Пакеты просто существуют, чтобы помочь классифицировать ваш исходный код на логические (и управляемые) группы.
Папка / assets
Папка assets — это место для хранения разных файлов, к которым вам необходимо получить доступ в вашем коде, в виде необработанных данных. Все файлы в папке res имеют методы для загрузки определенных типов, тогда как единственный способ загрузить что-либо из ресурсов — это программно открыть его как файл.
Создание виртуального устройства Android
Виртуальные устройства позволяют запускать и тестировать ваш код без использования реального телефона Android. Поскольку существует несколько разных версий ОС, на которые вы можете ориентироваться, вам в конечном итоге потребуется создать несколько версий виртуальных устройств, но сейчас мы создадим одну с использованием уровня API 4 (1.6). Вы можете сделать это через AVD Manager. На главной панели инструментов выберите « Окно»> «Android SDK» и «AVD Manager» .
Как только вы откроете менеджер и просмотрите свой список виртуальных устройств, нажмите кнопку «Создать», чтобы создать ваше виртуальное устройство.
Я обычно называю свои виртуальные устройства, используя номер версии ОС и предустановленное разрешение, которое я выбираю, в данном случае, 1.6-hvga. Хорошо также создать SD-карту для эмулятора, которую я обычно устанавливаю на 16 МБ, если только я не знаю, что мне потребуется больше места. Нажмите кнопку «Создать AVD», и вы увидите свое устройство в списке.
Запустите виртуальное устройство, выбрав его и нажав кнопку «Пуск».
Запуск и отладка вашего первого приложения
Eclipse, наряду с Android Developer Tools, предлагает отличную среду для отладки приложений. Для отладки вы будете использовать перспективы Debugging и DDMS. Перспектива отладки будет использоваться для пошагового выполнения кода, просмотра значений переменных и установки точек останова. Перспектива DDMS будет использоваться для управления эмулятором, просмотра потоков и просмотра распределения памяти.
Поскольку это наш первый запуск приложения, нам нужно создать нечто, называемое конфигурацией запуска. Конфигурации запуска — это настройки, которые Eclipse будет использовать для запуска (или отладки) вашего приложения. Каждое приложение может иметь несколько конфигураций. Один может быть настроен на постоянное развертывание и запуск на подключенном телефоне, а другой может быть настроен на запуск только в определенном экземпляре эмулятора. На этом этапе отключите ваш телефон, если вы подключили его к компьютеру, чтобы вы могли увидеть, как приложение запускается на эмуляторе.
Чтобы создать конфигурацию запуска, выберите DemoApp в Package Explorer, затем выберите Run> Run из главного меню. В следующем диалоговом окне выберите «Приложение Android» и нажмите «ОК». Эмулятор, который мы создали ранее, должен запуститься. Когда эмулятор запускается впервые, он может появиться вместе с экраном блокировки; просто нажмите меню, чтобы перейти к вашему новому приложению. Теперь вы должны увидеть текст «Hello World» на экране!
Нашим следующим шагом будет установка точки останова. Откройте файл MainActivity.java, дважды щелкнув его в проводнике пакетов. Он находится в / src> com.demo.demoapp . Далее по строке, которая содержит:
1
|
«super.onCreate(savedInstanceState)»
|
дважды щелкните по серому столбцу слева от линии (где вы видите синий круг на скриншоте ниже). Если вы добились успеха, теперь должен быть синий кружок, указывающий точку останова.
Теперь переключитесь на перспективу отладки, выбрав Window> Open Perspective> Debug . Чтобы отладить приложение, выберите « Выполнить»> «Отладка» .
В представлении Debug вы должны увидеть список элементов в DalvikVM / Thread. Это стек вызовов, поскольку теперь мы остановились на точке останова, которую мы установили ранее. Представление Variables покажет все локальные переменные в текущей точке останова. Вы можете развернуть элемент «this», чтобы увидеть все значения нашего экземпляра MainActivity.
Наконец, LogCat отобразит всю информацию о регистрации, поступающую из эмулятора.
Чтобы продолжить запуск приложения, вы можете использовать панель инструментов в представлении «Отладка» (как показано на скриншоте выше) или выбрать те же действия в меню «Выполнить». Выберите « Выполнить»> «Продолжить», чтобы приложение продолжало работать.
Вывод
В этом руководстве рассказывается о различных частях Eclipse и ADT, с которыми вам необходимо ознакомиться, чтобы начать разработку Android. Хотя мы не рассмотрели детали исходного кода приложения, важно начать с глубокого понимания инструментов, которые вы будете использовать каждый день во время разработки. В следующих статьях мы продолжим углубляться в написание прогрессивно сложных приложений и создание привлекательного пользовательского интерфейса.
Связанные учебники:
- Изучите Java для разработки под Android: Введение в Java
- Изучите Java для разработки под Android: синтаксис Java
- Начало работы с Android: начало работы с FortuneCrunch
- Общие конфигурации виртуальных устройств Android
- Запуск карт в приложении
- Предоставление пользователям возможности отправлять электронную почту в приложении
- Использование оповещений, тостов и уведомлений
- Создание простых пользовательских форм