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

Операционная система Android получила широчайшее распространение – по состоянию на конец 2015-го года, на ней работает более 80% мобильных устройства, а графики показывают неуклонный рост. Не угасает интерес и к мобильным приложениям, судя по количеству новинок в Playmarket’е. Как создать приложение для Android самостоятельно? Нужно ли быть для этого настоящим программистом? Об этом мы поговорим в нашей статье.

Профессиональный подход к программированию на Android

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

  • Книги по программированию;
  • Среда для разработки (включает в себя множество программ и плагинов);
  • Дополнительные мануалы по программированию под Android OS;
  • Знания в построении алгоритмов.

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

На самом деле, для программирования под Android написано немало мануалов и учебных пособий. Поэтому проблем с изучением азов программирования не возникнет – главное, иметь к этому способности.

Конструкторы приложений для Android

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

  • Новостные приложения;
  • Каталоги кулинарных рецептов;
  • Мобильные блоги;
  • Интернет-магазины;
  • Приложения для заказа услуг;
  • Фото- и видеогалереи;
  • Текстовые приложения и многое другое.

Также многие конструкторы предлагают инструменты для базового продвижения созданных приложений.

Конструктор App2b

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

Как и многие другие инструменты для бизнеса, конструктор App2b является платным . На выбор пользователей и разработчиков представлен единственный вариант оплаты — 9900 рублей за одно приложение единоразово. В оплату входят доступ ко всем указанным возможностям, техническая поддержка, инструменты для продвижения, а также размещение приложений в Playmarket.

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

Конструктор Appsmakerstore

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

Операционная система Android с каждым годом становится не только годной ОС для обычных пользователей, но и мощной платформой для разработчиков. Что ж поделать: Google всегда идёт навстречу девелоперам, предоставляя широкие возможности и мощный инструментарий, приправленный информативной документацией.
К тому же не стоит выпускать из внимания тот факт, что «зелёный робот» является лидером по популярности среди мобильных операционных систем. Это говорит о том, что, программируя под Android, вы будете иметь широкую аудиторию, которая впоследствии может принести прибыль. В общем, Android - своеобразный «оазис» для разработчиков. Поэтому мы подготовили для вас специальную подборку языков программирования, а также сред разработки для этой ОС.
Внимание, небольшое наставление новичкам
: программирование на Android может поначалу показаться сложным или слишком монотонным. Совет: предварительно рассмотрите ссылки на полезные документации прежде чем браться за дело, и тогда программирование на Android не станет для вас проблемой.

Java - основное средство для Android-разработчика

Среды разработки : Android Studio (IntelliJ IDEA) , Eclipse + плагин ADT
Подойдёт для широкого спектра задач
Java - основной язык для программистов под Android, обязательный маст-хев для новичков. Основной исходный код Android написан именно на этом языке, так что легко понять, почему большинство выбирают именно этот язык. Приложения, написанные на Java, запускаются в Android с помощью виртуальной машины ART (или Dalvik в Jelly Bean и более ранних версиях Android) - аналога виртуальной машины Java, из-за которой у Google присутствуют серьёзные судебные тяжбы с Oracle.

Google на данный момент официально поддерживает достаточно мощную среду разработки Android Studio, которая собрана на основе Intellij IDEA от JetBrains. Также не стоит забывать про очень подробную документацию от Google, в которой разбирается всё: от match_parent и wrap_content до конструкторов, констант и основных методов класса JavaHttpConnection - обязательно стоит почитать.

Кроме того, не стоит забывать о Eclipse - очень популярной среде для Java-программистов. С официальным плагином ADT от Google этот тулкит станет мощным и легковесным оружием в ваших руках. Но ребята из Маунтин-Вью ещё с лета прошлого года перестали поддерживать Eclipse, уступив место свежей Android Studio. Рекомендуется использовать на слабых ПК.

Необходимая документация:

С++ - мощный инструмент в руках мастера

Основные среды разработки : Android Studio (версия 1.3 и выше), Visual Studio 2015 , QtCreator
Подойдёт для игровых движков и ресурсоёмких приложений.
С++ - немолодой, но очень мощный язык программирования, отметивший в прошлом году своё тридцатилетие. Был изобретён в 1985 году благодаря стараниям товарища Бьёрна Страуструпа и до сих пор занимает верхние позиции самых популярных языков программирования. «Плюсы» предоставляют вам полную свободу действия, ограничивая вас лишь рамками разумного.


За всё существование Android было создано немало фреймворков и средств разработки для C++. Особенно хочется выделить широко известный Qt и IDE QtCreator, позволяющие разрабатывать кроссплатформенные приложения для Windows, Windows Phone, Windows RT, iOS, SailfishOS и Android (когда-то в этот список входил ещё и Symbian). Кроме того, вы получаете удобную библиотеку контейнеров, алгоритмов и шаблонов Tulip, впитавшую в себя всё лучшее из Java и Android. Ну и, наконец, вы получаете множество различных QT-модулей для высоко- и низкоуровневой работы с системой. Ваш покорный слуга кодит именно в связке C++ и Qt.

В прошлом году на конференции Windows: The Next Champter было уделено широкое внимание достаточно популярной среде разработки Visual Studio 2015. Одним из главных нововведений стала поддержка разработки приложений как под Windows Phone, так и под Android - Microsoft пыталась хоть как-то увеличить количество приложений для своей ОС.

Нельзя также не упомянуть о том, что официальный Android Studio стал поддерживать NDK. С помощью NDK вы сможете использовать при работе с Android графику OpenGL. Если вам нужна быстрота и эффективность - выбирайте NDK! Этот способ разработки отлично подойдёт для игровых движков, требующих большой производительности.

Android разработка на C или C++ может показаться более простой чем на Java, но, несмотря на то, что язык предлагает вам полную свободу производимых действий и не ограничивает вас в ваших шагах, он имеет некоторые специфические особенности, на изучение которых уйдёт немало времени - недаром C++ сравнивают с нунчаками (превосходным оружием, которое, к сожалению требует огромного мастерства). Тем не менее разработка приложений под Android на C и C++ может оказаться занятным делом.

Необходимая документация:

Другие языки

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

Corona (LUA Script)


Подойдёт для создания игр и простых приложений
Если вам по каким-то причинам не хочется изучать Java или разбираться в построении интерфейса через XML, то вы можете выбрать для себя данное IDE. Corona - это достаточно легковесная среда разработки, код в которой необходимо писать на достаточно лёгком LUA (любители Pascal оценят по достоинству).

Данный тулкит поможет вам при написании простых 2D-игр, для коих здесь присутствуют библиотеки для 2D=объектов, звуков, сети и игрового движка. Созданные игры работают с OpenGL, что означает высокую эффективность. Отлично подходит для новичков, возможно, именно на нём вы сможете создать своё первое мобильное приложение на Android!


Необходимая документация:

Adobe PhoneGap (HTML5, JavaScript, CSS)


Подойдёт для создания нересурсоёмких приложений
Если вы уже знакомы с HTML, CSS и JavaScript, в качестве альтернативы вы можете попробовать PhoneGap. Это IDE позволит собирать полноценные приложения, разработанные на вышеупомянутых языках программирования и разметки.

На самом деле готовые приложения из PhoneGap представляют из себя простейшие WebView, оживлённые при помощи JavaScript. При помощи разнообразных API вы сможете использовать различный функционал устройства прямо как на нативных приложениях. Что интересно - приложения компилируются на сервере и затем уже доступны для использования на iOS, Android, Windows Phone, Web OS и BlackBerry OS. С такой широкой кроссплатформенностью разработка приложений может значительно ускориться.


Необходимая документация:

Fuse (JavaScript и UX)


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

Основная логика Fuse-приложений строится на JavaScript - простом и понятном языке с низким порогом вхождения. Интерфейсный же фундамент представляет UX-разметка - интуитивно понятная каждому. Ну а «плюшки» среды позволят вам применять изменения прямо во время работы приложения на вашем устройстве или эмуляторе - прямо как в Android Studio 2.0 и выше. С помощью Fuse разработка приложений для Android может оказаться несложной и приятной.

Необходимая документация:

Слова «под занавес»

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

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

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

ПОДГОТОВИТЕЛЬНЫЙ ЭТАП

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

  • Есть ли у меня конкретное видение того, что будет представлять собой готовый продукт и каким будет его функционал?
  • Какие задачи программа призвана решать и какова будет польза для конкретного пользователя?
  • На каких платформах будет работать готовый программный продукт (iOS, Android, Windows Phone)?
  • Потребуется ли ежедневный контроль за его функционированием?
  • Какую сумму я готов потратить?
  • Буду ли я создавать приложение самостоятельно или же обращусь к разработчикам-профессионалам.

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

СПОСОБЫ И СТОИМОСТЬ СОЗДАНИЯ ПРИЛОЖЕНИЯ

В создании приложений для мобильных устройств есть два пути. Первый подразумевает самостоятельное формирование программ для электронных устройств на основе Андроид или IOS по шаблонному типу при помощи специальных сайтов-конструкторов. Второй путь, более затратный, однако в результате позволяющий получить серьезные и функциональные продукты, - обратиться за помощью к частным лицам или компаниям, занимающимся написанием программного обеспечения. Второй вариант подходит, если речь идет о создании серьезных программных продуктов с конкретными характеристиками, которые выходят за пределы готовых наборов, доступных на сайтах-конструкторах. Следует учитывать также, что профессиональная разработка для iOS или Android требует значительных расходов. Какова стоимость создания приложения для платформ Android и IOS на российском рынке? Диапазон цен достаточно широкий - от нескольких сотен до десятков тысяч долларов - все зависит типа программного обеспечения и его функционала. Однако такие серьезные вложения с лихвой окупаются в перспективе. При планировании конечной стоимости также стоит учесть и расходы на размещения нового продукта в AppStore и Android Market. Если Вы ограничены небольшим бюджетом и у Вас совсем нет времени, тогда можно попробовать сконструировать приложение для электронных устройств самостоятельно. Для этого не нужно быть программистом. О том как это легко сделать, читайте далее.

КАК СОЗДАТЬ ПРИЛОЖЕНИЕ БЕСПЛАТНО

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

  1. Appsgeyser.com (appsgeyser.ru - русскоязычный вариант).

А теперь рассмотрим, как за несколько минут осуществляется разработка мобильного приложения на примере сайта ibuildapp. Мы выбрали именно эту площадку, так как она очень проста и понятна в использовании. Кстати, ресурс iBuidApp имеет и русскоязычную версию, что еще больше облегчает пользование конструктором. Перед началом работы регистрируемся на сайте. Далее на главной страничке кликаем вкладку “Создать” и выбираем подходящий нам шаблон.

ВЫБОР ШАБЛОНА И КАТЕГОРИИ

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

РЕДАКТИРОВАНИЕ КОНТЕНТА

Административная панель конструктора открывает широкие возможности для редактирования элементов меню. Можно изменить фон, добавить логотип, настроить навигацию главного и нижнего меню на экране электронного устройства, редактировать содержимое внутренних страниц. Кстати, в правой части экрана можно увидеть, как внесенные изменения будут выглядеть на экране электронного устройства. Конструктор позволяет также протестировать ваше приложение на планшете или смартфоне. Также готовую программу можно публиковать в Appstore или в Google Play, однако эта функция доступна только для платных версий. Сайт предлагает 3 платных пакета стоимостью 490 руб., 2400 руб., 3700 руб. в месяц.

ПЛАТНЫЕ ПАКЕТЫ

Если вас не устраивает внешний вид доступных на сайте шаблонов, вы можете создать собственный дизайн, нажав в учетной записи вкладку “Мои шаблоны”. Возможности индивидуального конструктора достаточно ограничены, они позволяют наделить программный продукт только самыми необходимыми элементами.
Теперь Ваша очередь взяться за создание приложений и установить его на свой смартфон. Попробуйте, это достаточно просто!

В этом руководстве вы усвоите, как начать разработку под Андроид, а именно: мобильных приложений на платформе Android Eclipse + SDK. Сегодня существует множество подходов к разработке и созданию мобильных приложений для Android. Сложные аппаратные устройства, планшетные ПК и различные программные платформы (Symbian OS, iOS, WebOS, Windows Phone 7…) открывают бескрайнее пространство для разработчиков.

Итак, список приложений для начала разработки мобильных приложений под Android огромен. Какую платформу выбрать? Какой язык программирования учить? Какой набор приложений выбрать для планирования проекта? В этом руководстве вы усвоите, как начать разработку мобильных приложений для платформы Android, открытую мобильную ОС от Google.

Почему платформа Android?

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

Бесплатные инструменты разработки для Android позволяют быстро начать создание бесплатных или почти бесплатных приложений. Когда вы готовы явить миру вашу программку, вы можете опубликовать ее посредством Android Market. Публикация в Android Market требует одноразового регистрационного взноса (25 долл. США на момент написания статьи) и, в отличие от App Store Apple (который очень строго подходит к цензу), делает ваше приложение доступным для скачивания и покупки после быстрого обзора - если приложение не нарушает правила и закон.

Вот несколько других отличий Android SDK, которые предлагает Вам преимущества как разработчику:

  • Пакет Android SDK доступен для Windows, Mac и Linux, поэтому вам не нужно платить за новое "железо" для написания приложений.
  • SDK встроен в Java. Если вы знакомы с языком программирования Java, вы уже на полпути к освоению.
  • С учетом распространения приложения через Android Market, оно будет доступно сразу для сотен тысяч пользователей. Вы не ограничивается только официальным Market"ом, поскольку есть альтернативы. Например, вы можете опубликовать приложение на своем блоги. Amazon по слухам, готовит собственный магазин Android-приложений.
  • Равно как техническая документация SDK, для разработчиков Android создаются новые ресурсы. Платформа набирает все большую популярность среди пользователей и разработчиков.

Хватит говорить - давайте начнем разработку приложений для Android!

Установка Eclipse и Android SDK

Ориентация под платформу Android при разработке

Перед тем, как начать написание приложений для Android, нужно скачать SDK для платформы Android. Каждая платформа имеет собственную версию Android SDK, которая установлена на устройствах пользователей. Для версии Android 1.5 и выше существует две платформы: Android Open Source Project и Google.

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

  • Выберите Window->Android SDK and AVD Manager.
  • Нажмите Available Packagesв левой колонке и проверьте репозиторий, чтобы показать список доступных платформ Android.
  • Вы можете выбрать платформы для загрузки из списка или оставить все отмеченными, чтобы загрузить все доступные платформы. По завершению, нажмите Install Selected и следуйте инструкции по установке.

После того как все было успешно загружено, вы готовы приступить к разработке под Android.

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

Мастер настройки Eclipse New Project Wizard поможет создать приложение Android, сгенерировав файлы и код, готовые к запуску, справа от блока. Это быстрый способ убедиться в работоспособности и хорошая начальная точка при начале разработки приложений:

После нажатия Finish, Eclipse создаст новый проект Android, готовый к запуску и разработке под Android. Помните, вы говорили Eclipse сгенерировать Activity, названный BrewClockActivity? Это код, который Android на самом деле использует для запуска приложения. Сгенерированный код будет отображен в виде простого сообщения в духе ‘Hello World’.

Пакеты

Имя пакета - идентификатор для вашего приложения. Когда настанет время публикации результата на Android Market, этот идентификатор будет использоваться для отслеживания обновлений для приложения, поэтому важно убедиться, что этот идентификатор уникален. Хотя здесь мы используем имя com.example.brewclock,для реального приложения лучше выбрать что-то вроде com.yourcompanyname.yourapplication.

Версии SDK

Версия Min SDK Version (название говорит само за себя) - самая ранняя версия Android, на которой приложение будет работать. С каждым новым выпуском Android, SDK добавляет и изменяет различные методы. При выборе версии SDK, Android (и Android Market) знает, что ваше приложение будет работать только на устройствах с версией платформы Android указанной версии и выше.

Запуск вашего приложения

Сейчас попробуем запустить наше приложение в Eclipse. Поскольку это первый запуск, Eclipse спросит, с каким из типов проекта вы работаете:

  • Выберите Run->Run или нажмите Ctrl+F11.
  • Выберите Android Application и нажмите OK.

Eclipse попробует запустить приложение на устройстве с Android. На данный момент, однако, у вас нет устройств под управлением Android, так что запустить проект не удастся, и вам будет предложено создать новое устройство Android Virtual Device (AVD).

Виртуальные устройства (Android Virtual Devices)

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

Перед тем как запустить приложение, вы должны создать свой первое устройство AVD с платформой SDK (Google API, 1,6).

Давайте сделаем это сейчас:

  • Если вы еще не пробовали запустить приложение, нажмите Run (или сочетание клавиш Ctrl+F11)
  • Когда всплывает предупреждение, нажмите Yes для создания AVD.
  • Нажмите New в диалоге Android SDK and AVD Manager.
  • Установите следующие параметры для AVD: Name: Android_1.6 Target: Google APIs (Google Inc.) - API Level 4 SD Card Size: 16 MiB Skin Built In: Default (HVGA)
  • Нажмите Create AVD.
  • Закройте диалог Android SDK and AVD Manager.

Запуск кода

Попробуйте запустить приложение снова (Ctrl + F11). Eclipse теперь будет создавать ваш проект и запускать новый AVD. Помните, AVD полностью эмулирует среду Android, причем вам даже не нужно наблюдать достаточно медленный процесс загрузки, как в случае с реальным устройством. По этой причине, как только AVD будет готов к работе, лучше не закрывать окно, пока вы закончили программировать, в течение всего дня.

Разработка под андроид: проектирование пользовательского интерфейса

Одним из первых шагов к созданию какой-либо программы вообще - проектирование пользовательского интерфейса. Вот небольшой набросок нашего приложения:

Пользователь сможет установить время кипячения в минутах, используя кнопки + и -. Когда он нажмет Start, отсчет времени начнется в течение указанного количества минут. Если пользователь отменяет кипячение, нажав на кнопку еще раз, время будет увеличено, когда таймер достигнет 0.

Построение интерфейса

Пользовательский интерфейс Android, или оболочка, которые описаны в документации XML, могут быть найдены в папке res/layouts. Код шаблона, уже сгенерированный Eclipse, объявлен в res/layouts/main.xml и, как вы заметили, уже работает в эмуляторе.

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

Давайте сделаем это сейчас, изменив main.xml в соответствии с эскизом выше:

  • Откройте res/layouts/main.xml в Eclipse двойным нажатием из Package Explorer.
  • Выберите вкладку main.xml в нижней части экрана, чтобы перейти в режим XML.

Сейчас изменим содержание main.xml на следующее:

# /res/layouts/main.xml