Введение в разработку мобильных приложений. Программы для создания андроид-приложений Примеры open source приложений

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

Начнём с официальных представителей лидеров мобильного рынка: Windows, Google и Apple.

Visual Studio 2015

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

Недостатки: новичку будет просто невозможно самостоятельно разобраться с Visual Studio без прохождения специальных курсов и чтения литературы. Это продукт скорее для опытных разработчиков, обращающих внимание на качество редактора и функции тестирования.

Android Studio

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

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

XCode

Описание: IDE, ориентированная на создание приложений для OS X и iOS. Для использования языков Objective C и Swift на сегодня это лучшее, а для некоторых задач и вовсе единственное решение.

Недостатки: многие разработчики жалуются на стабильность среды, вынуждающую вносить дополнительные изменения в свои проекты после выхода очередной версии. Кроме того, XCode относительно сложная IDE для самопознания новичком. Именно поэтому рекомендуем вам пройти наш . На нем мы рассмотрим тонкости работы с этой IDE.

От официальных представителей перейдём к универсальным кроссплатформенным средам разработки:

Xamarin Studio

Описание: популярный инструмент разработки приложений под Windows, Phone, Android и iOS, использующий по сути только один язык - C#. Помимо непосредственно Xamarin Studio вы также можете пользоваться плагином для Visual Studio.

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

IntelliJ IDEA

Описание: IDE, разработанная компанией JetBrains, позволяющая создавать программы на множестве популярных языков, среди которых Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++.

Недостатки: производительность. Томительное ожидание выполнения компиляции, перекомпиляции, тестирования порой действительно раздражает.

Appcelerator Titanium

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

Недостатки: возможности, предоставляемые Appcelerator Titanium имеют и обратную сторону: генерируемые ошибки в коде, искусственные ограничения, недостаточно качественная документация.

Eclipse

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

Недостатки: существенная нехватка документации, нет единого сообщества разработчиков.

Netbeans

Описание: мощная IDE для разработки приложений на Java, JavaScript, Python, PHP, C, C++ и даже Ада.

Недостатки: невысокое быстродействие из-за концепции «всё в одном». Некоторые плагины (в том числе для разработки приложений для Android) имеют существенные ограничения функциональности.

PhoneGap

Описание: необычная среда разработки кроссплатформенных приложений, не требующая знания «родных» языков. То есть для того, чтобы создать приложение для Android, знание Java вам не потребуется. Используются JavaScript в связке с HTML5 и CSS3.

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

А какими IDE пользуетесь вы? И какие у них недостатки?

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

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

Рассмотрим кратко наиболее важные инструменты, входящие в состав Android SDK:

Мы рассмотрели основные инструменты, входящие в состав Android SDK, разумеется, не все и недостаточно подробно. Для более серьезного изучения инструментов имеет смысл обратиться к сайту разработчиков (http://developer.android.com/tools/help/index.html). Для разработки мобильных приложений под Android уверенного владения инструментами из SDK вполне достаточно. Если же возникают какие-то вопросы, дополнительные инструкции по созданию проектов, компиляции, запуску из командной строки содержатся в руководстве от Google (http://developer.android.com/training/basics/firstapp/index.html).

В современных условиях разработка ПО в большинстве случаев ведется с использованием интегрированных сред разработки (IDE). IDE имеют несомненные достоинства: процесс компиляции, сборки и запуска приложения обычно автоматизирован, в связи с чем для начинающего разработчика создать свое первое приложение труда не составляет. Но чтобы заниматься разработкой всерьез, необходимо потратить силы и время на изучение возможностей самой среды. Рассмотрим IDE, пригодные для разработки под Android 1Разумеется, обзор не претендует на полноту и скорей всего найдутся не охваченные им инструменты (а то и появятся новые), но самые популярные на конец 2013 года будут рассмотрены. .

Для начала поговорим о двух средах разработки, которые рекомендует Google: Android IDE (ADT) и Android Studio.

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

Android Studio - среда разработки под Android, основанная на IntelliJ IDEA. Подобно Android IDE, она предоставляет интегрированные инструменты для разработки и отладки. Дополнительно ко всем возможностям, ожидаемым от IntelliJ, в Android Studio реализованы:

  • поддержка сборки приложения, основанной на Gradle;
  • специфичный для Android рефакторинг и быстрое исправление дефектов;
  • lint инструменты для поиска проблем с производительностью, с юзабилити, с совместимостью версий и других;
  • возможности ProGuard (утилита для сокращения, оптимизации и обфускации кода) и подписи приложений;
  • основанные на шаблонах мастера для создания общих Android конструкций и компонентов;
  • WYSIWYG редактор, работающий на многих размерах экранов и разрешений, окно предварительного просмотра, показывающее запущенное приложение сразу на нескольких устройствах и в реальном времени;
  • встроенная поддержка облачной платформы Google.

Перейдем к рассмотрению других инструментов, пригодных для разработки мобильных приложений под Android. Начнем с инструментов от Intel - Intel XDK и Intel Beacon Mountain.

Intel XDK позволяет легко разрабатывать кроссплатформенные мобильные приложения; включает в себя инструменты для создания, отладки и сборки ПО, а также эмулятор устройств; поддерживает разработку для Android, Apple iOS, Microsoft Windows 8, Tizen; поддерживает языки разработки: HTML5 и JavaScript.

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

Intel Beacon Mountain - среда разработки, позволяющая создавать приложения для устройств, работающих под управлением ОС Android. Предоставляет инструменты необходимые для проектирования, разработки, отладки и оптимизации приложений под Android. Освобождает разработчика от необходимости поддерживать систему разработки в актуальном состоянии, следит за обновлениями и добавляет их в среду разработки по мере появления. Поддерживает разработку для целевых платформ на основе процессоров Intel Atom и ARM.

Beacon Mountain построена на основе Android IDE (Eclipse, Android ADT, Android SDK), для более серьезной разработки и оптимизации добавлены следующие инструменты Intel:

  • Intel* Hardware Accelerated Execution Manager (Intel* HAXM) - аппаратно поддерживаемый процессор виртуализации, использующий технологию виртуализации Intel* (Intel* VT) для ускорения работы эмулятора в среде разработки.
  • Intel* Graphics Performance Analyzers (Intel* GPA) System Analyzer поддерживает мобильные устройства с процессором Intel Atom под управлением ОС Android. Позволяет разработчикам оптимизировать загруженность системы при использовании процедур OpenGL, предоставляя возможность получать множество системных метрик в реальном времени, отображающих загруженность CPU, GPU и OpenGL ES API. Разработчик может запустить несколько графических экспериментов для выявления узких мест в обработке графики.
  • Intel* Integrated Performance Primitives (Intel* IPP) Preview - библиотека оптимизированной обработки данных и изображений, поддерживающая мобильные устройства с платформой Intel под управлением ОС Android. Preview версия является частью полной версии Intel IPP, которая тоже поддерживает ОС Android.
  • Intel* Threading Building Blocks (Intel* TBB) - широко используемая, признанная библиотека шаблонов С++ для создания масштабируемых приложений и увеличения производительности. Поддерживает мобильные устройства с платформой Intel под управлением Android. Проверенные алгоритмы позволяют разработчикам эффективно распараллелить С++ мобильные приложения, что повышает производительность при снижении энергетических затрат.

Загрузить Intel Beacon Mountain можно по ссылке

Нельзя обойти вниманием инструментарий Marmalade SDK.

Marmalade SDK - кроссплатформенное SDK от Ideaworks3D Limited. Представляет собой набор библиотек, образцов, инструментов и документации, необходимых для разработки, тестирования и развертывания приложений для мобильных устройств. Используется, в основном, для разработки игр. Многие получившие признание игры, такие как Cut the Rope и Plants vs. Zombies, были разработаны с использованием этого программного средства. К сожалению, Marmalade SDK представляет собой проприетарное программное обеспечение (самая дешевая лицензия $15 в месяц) и не может быть рекомендована в данном учебном курсе, но читатель может самостоятельно попробовать бесплатную 30-дневную версию, доступную по ссылке https://www.madewithmarmalade.com/free-trial .

Нельзя не сказать об отечественных разработках. Например, компания 1С идет в ногу со временем, версия платформы 1С 8.3 позволяет разрабатывать мобильные приложения. Программный продукт "1С:Предприятие 8. Расширение для карманных компьютеров" обеспечивает возможность работы с данными информационных баз 1С:Предприятия 8 на мобильных устройствах (карманных компьютерах, коммуникаторах, терминалах сбора данных), а также на персональных компьютерах (в том числе ноутбуках), не имеющих прямого доступа к информационным базам 1С:Предприятия 8.

Некоторое время назад официальной IDE для Android был Eclipse (как стандарт де-факто для Java) с плагином ADT. Некоторое время спустя среди Java-программистов начала набирать популярность IDE от JetBrains, потом для нее появился плагин для разработки под Android, и народ начал потихоньку переходить на нее с Eclipse.

Еще чуть позже Google объявляет о том, что будет делать Android Studio на базе IDEA. И вот на подходе уже вторая версия Android Studio, и Eclipse вспоминается разве что как страшный сон:)

Android Studio — официальная среда разработки под Android. По сути, Android Studio — это известная Java IDE IntelliJ IDEA с плагинами.

На данный момент существуют следующие опции при выборе IDE для Android:

  1. Eclipse . Самая популярная какое-то время назад IDE для Java, сейчас использовать ее для разработки под Android крайне не рекомендуется .
  2. IntelliJ IDEA . Отличная IDE, хорошо подходит для Android.
  3. Android Studio . Лучшая IDE для Android . От IDEA отличается мелочами, но эти мелочи очень-очень приятны и сильно облегчают наш труд:) Именно на ней мы и остановимся.

В первую очередь, нужно убедиться, что у вас установлен JDK (Java Development Kit). Это обязательный компонент для разработки на Java, а поскольку разработка под Android ведется на Java — то и для разработки под Android тоже.

Во-вторых , поставьте галочки «show line numbers» и «show method separators»:

Первая будет отображать номера строк слева от текста, вторая — будет рисовать разделители между методами в коде.

Эти две опции невероятно важны, а особенно для новичков, и я не понимаю, почему они выключены по-умолчанию.

В-третьих , настройте автодополнение. Для этого в «Case sensitive completion» выберите «None»:

Поясню, почему именно так. Опция по-умолчанию подразумевает срабатывание автодополнения только в том случае, если первая буква набрана в правильном регистре. Опция None будет вызывать автодополнение независимо от того, в каком регистре вы начали набирать код.

Стандартное значение этой опции, как и прошлых двух, вызывает у меня недоумение.

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

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

В главном окне Android Studio нажмите на «Start a new Android Studio project «:

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

В первом нужно задать имя приложения, домен компании (из этих двух параметров будет создано имя пакета), и расположение проекта на диске:

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

Далее Android Studio спросит нас, какие и каких версий SDK мы хотим использовать. Пока что нам хватит «Phone and Tablet» SDK, версию API поставьте 16 вместо рекомендуемой 15-й, поскольку API 15 уже неактуально и совсем не распространено:

На следующем экране нас спросят, какие компоненты приложения мы хотим создать. Выберите «Empty Activity»:

На следующем шаге просто нажмите «Finish», ничего не меняя.

По завершению этого процесса вы увидите, наконец-то, свой первый проект:

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

Создание эмулятора Android

Для создания эмулятора Android нам понадобится Android AVD Manager (AVD = Android Virtual Device). Не беспокойтесь, ставить больше ничего не потребуется. Просто нажмите на эту кнопочку:

Потом на эту кнопочку:

А потом просто несколько раз кликните «Next» и, наконец, «Finish»

Запуск Hello World

Пришло время запустить наш первый проект, созданный в Android Studio !

Нажмите на вот эту кнопку (или Shift-F10):

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

Поставьте выделенную стрелкой галочку и нажмите «ОК». Начнется сборка проекта, запуск эмулятора, установка приложения на эмулятор, и запуск приложения.

На это уйдет некоторое время (чем мощнее ваш компьютер — тем меньше времени понадобится), поскольку эмулятор — вещь достаточно медлительная, несмотря на колоссальные улучшения в последние пару лет.

И вот, по прошествии 1-10 минут (после запуска эмулятора проекты, конечно же, будут собираться и запускаться быстрее), вы, наконец, увидите свой Hello World на экране эмулятора!

На этом все, а в следующем уроке мы рассмотрим .

Новые уроки добавляются каждый день! Чтобы ничего не пропустить, подпишитесь на нашу

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

Android Studio - интегрированная программная среда, созданная корпорацией Google. Она выгодно отличается от своих аналогов за счет того, что адаптирована и оптимизирована для разработки приложений на Андроид тем же, кто разрабатывает эту ОС. Программа предоставляет возможность проведения разного рода тестов и диагностики. Так, Android Studio в своем составе содержит инструменты для тестирования совместимости написанных вами приложений с разными версиями мобильной операционной системы и разными платформами. Есть в арсенале Студии и средства проектирования мобильных приложений и практически мгновенного просмотра внесенных изменений.

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

RAD Studio

Новая версия RAD Studio под названием Berlin — это полноценный инструмент разработки кроссплатформенных приложений, в том числе и мобильных программ, на языках Object Pascal и C++. Его главное преимущество перед другими аналогичными программными средами состоит в том, что он позволяет очень быстро вести разработку за счет использования облачных сервисов. Новые наработки этой среды позволяют в режиме реального времени видеть результат выполнения программы и все процессы, происходящие в приложении, что позволяет говорить о точности разработки.

Здесь можно гибко переключаться с одной платформы на другую или на серверные хранилища. Минус RAD Studio Berlin — это платная лицензия. Но при регистрации можно получить бесплатную триал-версию продукта на 30 дней. Интерфейс — английский.

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

Эта платформа предоставляет пользователям такие элементы коммерческих IDE, как удобный редактор с подсветкой синтаксиса, отладчик, работающий в потоковом режиме, классовый навигатор, менеджеры файлов и проектов, системы контроля версий, рефакторинг кода. Особенно радует возможность дополнительной установки необходимых для написания программы SDK. Но для использования Eclipse также придется выучить английский язык.

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

В этой статье предполагается, что вы используете среду разработки Eclipse и плагин Android Developer Tools для Eclipse. Простейшим путем для того, чтобы начать разработку приложений Android, станет загрузка набора средств разработки Android SDK и среды разработки Eclipse IDE (см. ). Разработка на Android может вестись на Microsoft® Windows®, Mac OS X, или Linux.

Приложения Android пишутся на языке Java, но компилируются и выполняются в виртуальной машине Dalvik (a non-Java virtual machine). Написание кода на языке Java в Eclipse очень интуитивно; Eclipse предоставляет широкие возможности Java, включая контекстно-зависимую помощь и подсказки с предлагаемым кодом. Когда код на Java будет скомпилирован, плагин Android Developer Tools удостоверится в том, что приложение правильно упаковано, включая файл AndroidManifest.xml.

Приложения Android можно разрабатывать не используя Eclipse и плагин Android Developer Tools, но для этого нужны познания в Android SDK.

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

- android.jar
Архивный файл Java, содержащий все классы Android SDK, необходимые для создания приложений

- documention.html и папка docs
Документация SDK, предоставляемая локально и в сети Интернет. В основном она представлена в форме JavaDocs, обеспечивая легкость навигации по множеству пакетов SDK. Документация содержит также хорошо организованное Руководство разработчика и ссылки обширного сообщества Android.

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

-Папка Tools
Содержит все инструменты командной строки для создания приложений Android. Наиболее часто используемым и наиболее полезным инструментом является утилита adb (Android Debug Bridge).

-Папка usb driver
Папка, содержащая драйверы, необходимые для обеспечения связи между средой разработки и устройством Android, таким, как смартфон G1 или Android Dev 1. Эти файлы необходимы только для разработчиков на платформе Windows.
Приложение Android может быть запущено на реальном устройстве или на Эмуляторе Android, который поставляется вместе с Android SDK. На Рисунке 3 представлен главный экран Эмулятора Android.

Рисунок 3. Эмулятор Android

Android Debug Bridge
Утилита командного процессора adb поддерживает несколько необязательных аргументов командной строки, которые обеспечивают такие мощные возможности, как копирование с устройства и на него. Аргумент командной строки позволяет соединяться непосредственно с телефоном и выдавать элементарные команды командного процессора.
На Рисунке 4 представлена утилита командного процессора adb, действующая по отношению к реальному устройству, соединенному при помощи кабеля USB к лэптопу под управлением Windows.

Рисунок 4. Использование утилиты adb


В данном окружении командной строки вы можете:
- Отобразить сетевую конфигурацию с указанием различных сетевых соединений. Обратите внимание на соединения:
-- локальное соединение или соединение с обратной связью.
-- tiwlan0 - WiFi соединение с адресом, предоставленным локальным сервером DHCP.
- Отобразить содержимое переменной окружения PATH.
- Выпольнить команду su для получения прав суперпользователя.
- Перейти в папку /data/app, где хранятся приложения пользователя.
- Сделать распечатку папок, можно увидеть единичное приложение. Файлы приложений Android в действительности являются архивными файлами, которые можно просмотреть при помощи WinZip или другой программы. Расширение - apk.
- Выдать команду ping для определения, доступен ли Google.com.
В данном окружении командной строки вы также можете взаимодействовать с базами данных SQLite, запускать программы, выполнять множество других задач системного уровня. Это довольно впечатляющая функция, учитывая, что вы соединены с телефоном.