Как создать платное приложение для андроид. Как создать приложение для Android: Инструкция по настройке программ
Приветствую вас, уважаемые любители операционной системы Андроид (Android). В сегодняшней статье я постараюсь максимально полно осветить очень интересную тему – подборку инструментов для создания своего приложения (онлайн) для гаджетов на базе, популярной, операционной системы Android.
С развитием мобильных технологий, развивается и рынок мобильных приложений, в том числе и рынок мобильных приложений для ОС Андроид (Android) . Если раньше сделать приложение мог только продвинутый программист с толстыми очками, прошедший пять лет обучения в университете, то теперь эта возможность доступна любому желающему, причем абсолютно незнакомому с языками программирования, причем, также, не выключаясь от интернета, т.е. онлайн.
В подборке вы найдёте четыре инструмента, которые позволят вас сделать приложение - быстро и просто. Все предложенные инструменты похожи на конструкторы, вам предстоит собрать ваше первое приложение из различных готовых компонентов, создать приложение можно точно также, как вы собираете конструктор лего.
Все инструменты отбирались по следующим критериям :
- Удобство использования . Так как пользоваться таким инструментом будут, в основном, люди не знакомые с программированием и сложными элементами, то главный упор, в этой небольшой подборке, был сделан на удобство и простоту использования предложенных инструментов;
- Интуитивно понятный интерфейс . Этот пункт и условие логически вытекает из предыдущего. Помимо того, что интерфейс инструмента создания приложений для ОС Андроид (Android) должен быть простым, он еще должен быть интуитивно-понятным;
- Возможности . Чем больше различных вещей “умеет” делать инструмент – тем лучше. По сути, все представленные приложения имеют один и тот же набор инструментов, с небольшими различиями и изменениями.
Итак, пишем, начинаем делать приложение (все приложение можно создать в режиме онлайн), ниже вы можете ознакомиться с подборкой программных продуктов и выбрать для себя наиболее удобный и функциональный инструмент.
TheAppBuilder
Неплохой инструмент создания приложений. Несомненно, радует тот факт, что данным инструментом вы можете пользоваться абсолютно бесплатно. Минус в том, что данный программный продукт не поддерживает русский язык, но если вы учили в школе английский, хотя бы немного, то проблем с использованием TheAppBuilder возникнуть не должно. Из всех возможностей данного программного продукта хочется отметить следующие :
- Большой выбор шаблонов для создания вашего Андроид (Android) приложений. Если вы хотите сделать простую программку, то из предложенных вариантов шаблонов вы без труда подберете нужный;
- Возможность просматривать подробную статистику по созданному вами приложению;
- Простая и понятная публикация, созданного вами, приложения в Google Play.
AppsGeyser
Еще один хороший, качественный инструмент заслуживающий пристального внимания. Как я уже говорил выше, чтобы создать )) вам не понадобится уметь программировать под Андроид (Android), в данной программе все настолько просто, что создать приложение для своего проекта вы сможете за несколько минут, просто собрав его из частей “конструктора”. Ниже, вы можете ознакомиться с возможностями предложенного инструмента
:
- Большой архив шаблонов на различные тематики: рестораны, пиццерии, фото-студии, праздники, спорт, радио, грузоперевозки и много, много других шаблонов. Вам нужно только выбрать подходящий и начать его редактирование под свои нужды;
- Встроенные инструменты продвижения вашего нового приложения. Порой, чтобы продвинуть и раскрутить ваше новое приложение нужно потратит много сил и времени, строенные инструменты продвижения в конструкторе смогут облегчить вашу задачу;
- Возможность подключения вашей программы к рекламной сети, таким образом вы сможете зарабатывать деньги на созданных вами приложениях.
AppsMakerstore
Очень простой инструмент для создания программ для вашей операционки Андроид (Android). Основной плюс данного приложения в том, что за одни раз вы сможете создать приложение для шести различных мобильных операционных систем. Также из достоинств данного инструмента можно выделить следующие
:
- Возможность работать с конструктором в режиме онлайн;
- Есть возможность зарегистрировать бесплатный аккаунт;
- Большой архив шаблонов для вашего Android (Андроид) приложения, написать необходимое приложение сможете в два клика мышкой.
На сегодня это все. Надеюсь, что вы подобрали для себя подходящий инструмент и знаете как сделать ваше первое приложение . Также пишем свое мнение в комментариях к данному материалу.
Операционная система 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-разработчиком не так уж и сложно, хотя это зачастую требует стараний и упорства. Мир разработки под мобильные платформы открыт для вас, но помните: первый шаг всегда за вами.В этом руководстве вы усвоите, как начать разработку под Андроид, а именно: мобильных приложений на платформе 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
Как вы можете видеть, файлов в Android XML много, но это позволит вам контролировать практически каждый элемент на экране.
Одним из наиболее важных элементов интерфейса в Android являются контейнеры Layout, такие как LinearLayout, используемый в этом примере. Эти элементы невидимы для пользователя, но выступают в качестве контейнеров для других элементов, таких как Buttons и TextViews.
Есть несколько типов расположения макета, каждый из которых используется для построения различных типов планировки. Как и LinearLayout и AbsoluteLayout, TableLayout позволяет использование интерфейса с использованием сетки. Вы можете узнать больше об этом в общий макет объектов разделе API-документации.
Привязка вашего макета к коду
После сохранения макет, попробуйте запустить приложение в эмуляторе, нажав Ctrl + F11, или нажмите значок Run в Eclipse. Теперь вместо сообщения "Hello World" вы увидите, что в Android теперь отображается интерфейс приложения.
Если нажать любую кнопку, они будут подсвечиваться, как и ожидалось, но не делайте что-нибудь помимо этого. Давайте продолжим написание кода вслед за интерфейсом макета:
# /src/com/example/brewclock/BrewClockActivity.java ... import android.widget.Button; import android.widget.TextView; public class BrewClockActivity extends Activity { /** Properties **/ protected Button brewAddTime; protected Button brewDecreaseTime; protected Button startBrew; protected TextView brewCountLabel; protected TextView brewTimeLabel; ... }
Далее, мы изменим вызов onCreate. Это вызов происходит всякий раз, когда на Android запускается приложение. В коде, сгенерированном Eclipse, onCreateсоздает вид активности на R.layout.main. Это та строка кода, которая дает команду Android декодировать макет документа XML и отображать его пользователю.
Объект ресурса (Resource Object)
В Android, R - это специальный объект, который автоматически создается для обеспечения доступа к ресурсам вашего проекта (макеты, строки, меню, иконки...) внутри кода. Каждому ресурсу присваивается свой id. В файле макета (см. выше) это @+id атрибуты XML. Мы будем использовать их для привязки Buttons и TextViews в нашем макете:
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity { ... public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Connect interface elements to properties brewAddTime = (Button) findViewById(R.id.brew_time_up); brewDecreaseTime = (Button) findViewById(R.id.brew_time_down); startBrew = (Button) findViewById(R.id.brew_start); brewCountLabel = (TextView) findViewById(R.id.brew_count_label); brewTimeLabel = (TextView) findViewById(R.id.brew_time); } }
"Прослушка" событий
Для определения нажатия кнопок нам необходимо реализовать их прослушивание. Вы можете быть знакомы со слушателями обратного вызова, или callbacks, из других платформ, таких как Javascript / JQuery или Rails.
Android обеспечивает аналогичный механизм путем предоставления интерфейса Listener, такие как OnClickListener, которые определяют методы, которые будут срабатывать при возникновении события. OnClickListener интерфейс уведомит ваше приложение, когда пользователь нажимает на экран или определенную кнопку. Кроме того, необходимо сказать каждой кнопке о ClickListener:
# /src/com/example/brewclock/BrewClockActivity.java ... // Be sure not to import // `android.content.dialoginterface.OnClickListener`. import android.view.View.OnClickListener; public class BrewClockActivity extends Activity implements OnClickListener { ... public void onCreate(Bundle savedInstanceState) { ... // Setup ClickListeners brewAddTime.setOnClickListener(this); brewDecreaseTime.setOnClickListener(this); startBrew.setOnClickListener(this); } ... public void onClick(View v) { // TODO: Add code to handle button taps } }
Далее мы добавим код, который обрабатывает каждое из наших нажатий кнопок. Мы также добавим четыре новые свойства Activity, что позволит пользователю установить и отслеживать время пивоварения: сколько варок было сделано и запущен ли таймер.
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity implements OnClickListener { ... protected int brewTime = 3; protected CountDownTimer brewCountDownTimer; protected int brewCount = 0; protected boolean isBrewing = false; ... public void onClick(View v) { if(v == brewAddTime) setBrewTime(brewTime + 1); else if(v == brewDecreaseTime) setBrewTime(brewTime -1); else if(v == startBrew) { if(isBrewing) stopBrew(); else startBrew(); } } }
Обратите внимание, что мы используем CountDownTimer класс, предоставляемый Android. Это позволяет легко создать и запустить простой счетчик и получать уведомления через регулярные промежутки времени в то время, как идет обратный отсчет. Вы будете использовать это в методе startBrew, читайте об этом ниже.
Следующие методы - модели поведения ползунка настройки времени варки, запуска и остановки варения, а также счетчика. Мы также инициализируем свойства brewTime и brewCount в onCreate.
Было бы хорошей практикой переместить этот код в отдельный класс модели, но для простоты мы добавим код в BrewClockActivity:
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity implements OnClickListener { ... public void onCreate(Bundle savedInstanceState) { ... // Set the initial brew values setBrewCount(0); setBrewTime(3); } /** * Set an absolute value for the number of minutes to brew. * Has no effect if a brew is currently running. * @param minutes The number of minutes to brew. */ public void setBrewTime(int minutes) { if(isBrewing) return; brewTime = minutes; if(brewTime < 1) brewTime = 1; brewTimeLabel.setText(String.valueOf(brewTime) + "m"); } /** * Set the number of brews that have been made, and update * the interface. * @param count The new number of brews */ public void setBrewCount(int count) { brewCount = count; brewCountLabel.setText(String.valueOf(brewCount)); } /** * Start the brew timer */ public void startBrew() { // Create a new CountDownTimer to track the brew time brewCountDownTimer = new CountDownTimer(brewTime * 60 * 1000, 1000) { @Override public void onTick(long millisUntilFinished) { brewTimeLabel.setText(String.valueOf(millisUntilFinished / 1000) + "s"); } @Override public void onFinish() { isBrewing = false; setBrewCount(brewCount + 1); brewTimeLabel.setText("Brew Up!"); startBrew.setText("Start"); } }; brewCountDownTimer.start(); startBrew.setText("Stop"); isBrewing = true; } /** * Stop the brew timer */ public void stopBrew() { if(brewCountDownTimer != null) brewCountDownTimer.cancel(); isBrewing = false; startBrew.setText("Start"); } ... }
Только части этого кода, характерные для Android, создают отображения меток, используя метод setText. В startBrew мы создаем и запускаем CountDownTimer для начала посекундного отсчета, когда варка/кипячение окончео. Обратите внимание, что мы определяем слушателей CountDownTimer (onTick и onFinish). onTick будет вызываться каждые 1000 миллисекунд (1 секунду), в то время как вызов onFinish происходит тогда, когда таймер достигнет нуля.
Избегаем сложности в программировании на Android
Чтобы сохранить это руководство для разработки под Android простым, я намеренно применял надписи непосредственно в коде (например, "Brew Up!", "Start", "Stop"). На самом деле, это не очень хорошая практика, так как затрудняет поиск и изменение этих строк в крупных проектах.
Android обеспечивает аккуратный способ хранения ваших текстовых строк отдельно от кода R-объекта. R позволяет определить все строки приложения в XML-файле (res/values/strings.xml), к которому можно получить доступ в коде по ссылке. Например:
# /res/values/strings.xml
Теперь, если вы хотите изменить Brew Up! что-то другое, нужно изменить его единожды в файле strings.xml. Если ваше приложение содержит десятки файлов кода, надписей в одном месте приобретает огромный смысл!
Проверяем BrewClock
Мы завершили написание кода, и пришло время "опробовать" приложение. Нажмите "Run" или Ctrl + F11, чтобы запустить BrewClock в эмуляторе. Если все прошло хорошо, вы увидите интерфейс настройки и готовы к заварке чая! Попробуйте установить разное время заварки и нажмите Start для обратного отсчета.
Резюме
В этом кратком введении в разработку под Андроид, вы скачали и установили Android SDK и плагин Eclipse Android Development Tools (ADT). Вы настроили эмулятор или виртуальное устройство для тестирования ваших приложений. Вы также создали рабочее приложение для Android который подчеркнул ряд ключевых понятий, которые вы будете использовать при разработке будущих Android приложений.
Будем надеяться, что это разбудит ваш аппетит для создания мобильных приложений и экспериментов в этой захватывающей области. Android предлагает отличный способ к написанию приложений для ряда нынешних и будущих мобильных устройств. Если вы уже написали рабочее приложение под эту платформу, не забудьте сообщить нам об этом в комментариях!
Многие программисты хотят заняться разработкой приложений под Android. Но немногие представляют, какие шаги здесь надо предпринять. Эта подборка призвана помочь новичкам в освоении Android-разработки.
Начало работы
Новичкам в программировании поможет наша .
Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android . Кроме того, есть курс от Google на Udacity.
Если у вас возникают проблемы с Android , крайне рекомендуется сперва проверить StackOverflow . Он создан для ответов на технические вопросы и даже является .
Вы всегда можете найти у нас на сайте.
FAQ
Я хочу начать разрабатывать под Android. С чего мне начать?
Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!
Нужно ли мне Android-устройство для разработки?
Вы можете писать приложения без какого-либо Android-устройства, используя включённый в поставку эмулятор (или усовершенствованный Genymotion). Однако для учёта аппаратных требований ничто не заменит тестирование на настоящем устройстве.
Какую IDE мне лучше использовать?
- Android Studio - официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
- Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
- IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.
Может, мне стоит забыть про Java и начать учить Kotlin?
Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin - более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.
Ресурсы
Здесь представлены основные ресурсы по обучению разработке под Android на английском языке. Это далеко не полный список, но достаточный для старта.
Официальные ресурсы Android
Дизайн
- Красивости для Android – вдохновение для создания графических интерфейсов под Android.
Рассылки
- Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.
Коллекции библиотек
Инструменты
- Genymotion – крайне полезный и функциональный эмулятор.
- Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
- Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.
Примеры open source приложений
Идеи для приложений
Итак, у вас есть идея для приложения… Люди каждый день об этом пишут. Но перед тем, как просить помощи в реализации проекта, нужно ответить на следующие ключевые вопросы:
Каков мой бюджет?
Если вы настроены серьёзно и хотите выпустить свой продукт, вы должны подумать о своём бюджете. Даже в случае простого приложения нужно подумать о нескольких тысячах долларов. Хотя бы.
Какая у меня маркетинговая стратегия?
Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?
Какой список задач у данного проекта?
А также, какие есть ограничения? Сколько мне нужно разработчиков?
Откуда будут приходить/где будут храниться данные?
А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?
Есть ли цель заработать денег?
Если да, как вы собрались её достигать? Через рекламу, IAP , подписки, платные приложения? Всё вышеперечисленное?
Как вы будете платить вашим разработчикам?
Есть ли у вас капитал или вы собрались платить им после того, как приложение начнём приносить доход? Часто независимые контрактники требуют часть полной стоимости авансом. Большинству разработчиков неинтересно разделение доходов, за исключением случаев, когда они сами вкладываются в приложение.
Какой будет способ тестирования?
На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?
Как скоро вы хотите опубликовать приложение в магазине?
Это однозначно повлияет на конечный доход.
Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?
Продумайте реализацию этой функциональности.
Какова ваша целевая аудитория?
Это нишевое приложение или оно может быть распространено повсюду?
Реализована ли уже моя идея?
Если да, как я могу улучшить её или что в ней отсутствует?
Что делать с идеями для приложений, если вы не разработчик?
Вы, возможно, ищете разработчиков в вашу команду для реализации приложения. Если у вас есть деньги и вы можете заплатить разработчику или фирме, то всё просто и понятно. Далее мы поговорим о том, что делать, если у вас недостаточно денег, чтобы платить кому-то.
Осознайте, что ваша идея может быть не уникальна, а разработка требует значительных усилий.
- Нарисуйте дизайн вашего приложения (внешний вид и функциональность). Он может быть грубым и нарисован на бумаге. Но он должен быть достаточно конкретным, а не размытым.
- Составьте список своих навыков, связанных с идеей.
- Составьте список того, что вы вложите в свою идею.
Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.
Пересмотр вашей идеи
Если разработчик выполняет больше работы, чем вы, нужно пересмотреть идею, чтобы распределить работу более справедливо. Это даст преимущества от совместной работы. Посмотрите на ваш список навыков и подумайте, как их можно применить. Это нормально, если приложение будет отличаться от начальной задумки. Пересматривайте его до тех пор, пока количество вашей работы и работы разработчика, как минимум, не сравняются.
- Распределяйте работу настолько справедливо, насколько это возможно.
- Фокусируйтесь прежде всего на ваших навыках.
- Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например,
Мобильные приложения могут создавать не только специализированные фирмы с высококвалифицированными программистами, но и рядовые пользователи. Какие инструменты им можно задействовать в этих целях? На что следует обращать внимание при разработке собственного ПО для мобильных девайсов?
Предназначение мобильных приложений
Прежде чем рассматривать то, с помощью каких инструментов разрабатываются мобильные приложения, как создавать их, изучим то, собственно, в чем может заключаться цель их выпуска исходя из того, в чем предназначение соответствующих решений. Мобильные приложения могут быть классифицированы на следующие основные разновидности:
Информационные;
Транзакционные;
Коммуникационные;
Мобильные версии компьютерного ПО - редакторы, просмотрщики, браузеры;
Аналитические приложения и планировщики;
Обучающие решения.
Собственно, игры также являются мобильными приложениями, но чаще всего они выделяются в отдельную категорию программного обеспечения. Изучим более подробно то, что представляют собой отмеченные мобильные приложения, как создавать их с учетом возможных затрат.
Информационные приложения
Сущность информационных приложений — в предоставлении их пользователям доступа к тем или иным полезным сведениям, новостям. Пример соответствующего решения — приложение от фирмы-производителя одежды или обуви, которое информирует пользователей о скидках и спецпредложениях данной компании. Это может быть и мобильный каталог или брошюра в соответствующем формате.
Создать мобильное приложение iOS или Android в соответствующей разновидности, вероятно, проще всего. Дело в том, что основой для ПО данного типа может быть, к примеру, уже работающий сайт компании или его мобильная версия. Достаточно адаптировать его интерфейс, а также реализованные в нем коммуникационные механизмы под программные алгоритмы мобильных операционных систем — то, с помощью каких инструментов это можно сделать, мы рассмотрим далее, и мобильное приложение будет готово.
Транзакционные приложения
Транзакционные приложения предназначены для осуществления оплаты различных товаров и услуг, приобретаемых через интернет. Данные типы ПО могут выпускаться банками, платежными системами. Стоит отметить, что наиболее сложные по структуре и коду — во многих случаях именно транзакционные мобильные приложения. Как создавать их и, что самое главное, адаптировать к требованиям законодательства, знает только самый высококвалифицированный специалист.
Поэтому, если у пользователя отсутствуют такие навыки - как в части решения технических задач, так и в области обеспечения соответствия приложений требованиям законодательства, - то самостоятельно такие решения стоит, если и разрабатывать, то, прежде всего, в ознакомительных целях, в ходе самообучения. Внедрение подобных разработок на практике потребует дополнительного времени и во многих случаях дополнительных расходов.
Коммуникационные приложения
Коммуникационные приложения — это те программы, которые предназначены для обеспечения связи между пользователями с использованием ресурсов разработчика или сторонних брендов. Создавать подобные решения самому, как и в случае с транзакционными приложениями, довольно сложно. Опять же имеет смысл это делать главным образом тогда, когда есть желание в принципе научиться разрабатывать соответствующего типа продукты. Но внедрение их на практике потребует значительных ресурсов, которые есть в распоряжении немногих частных пользователей.
То, каким образом внедряются данные мобильные приложения, как создавать условия для их стабильной работы, в большинстве случаев знают только высококвалифицированные специалисты. Но, безусловно, умелый программист, готовый потратить значительное количество времени и вложений, в принципе, может разработать несложный по структуре, но востребованный в силу простоты и удобства мессенджер или небольшую социальную сеть.
Однако конкурировать они со «Скайпом», «Вконтакте» или Viber, наверное, не смогут. Поэтому на этапе планирования разработки традиционных приложений разработчику следует реально оценивать перспективы выведения своего продукта на рынок.
Мобильные версии компьютерного ПО
Редакторы, просмотрщики, браузеры — приложения, которые аналогичны или близки по своим функциям к соответствующим решениям, задействуемым пользователями традиционных компьютеров. Но, безусловно, далеко не только они могут иметь аналоги, адаптированные для запуска на ПК. Собственно, любые типы приложений в приведенной нами классификации могут быть компьютерными. Однако рассматриваемые решения — в числе тех, которые все же стали знакомы пользователям до того, как на рынке вычислительной техники стали массово появляться смартфоны и планшеты. Поэтому программы соответствующего типа в оригинале, как правило, представлены именно в версиях, адаптированных для запуска именно на ПК, и только по факту появления на рынке смартфонов и планшетов оформлены в виде мобильных версий.
То, как создать мобильное приложение для Android или iOS соответствующего типа самостоятельно, зависит прежде всего от того, является ли оригинальная — компьютерная, версия ПО лицензионной или же она распространяется как свободное ПО, имеющее открытый код. В первом случае создание мобильной версии программы в большинстве случаев потребует согласования с правообладателями. И если те откажутся санкционировать разработку соответствующей версии программы, то ее мобильная версия, даже если пользователь ее создаст по своей инициативе, скорее всего, будет признана нелегальной. В случае если оригинальное ПО имеет открытый код, то разработать ее версию для мобильного девайса — вопрос техники.
Аналитическое ПО и планировщики
Аналитические приложения и планировщики позволяют осуществлять различные статистические наблюдения, формировать бюджет, планировать встречи и т. д. Можно отметить, что данный сегмент мобильных приложений — в числе тех, в которых частным разработчикам, как правило, предоставляется наибольшая свобода действий. Существует не так много брендов, знающих то, как создать мобильное приложение для Android или iOS соответствующего типа намного лучше, чем это сделает частный разработчик. Самое главное в таких решениях — это концепция. Ее разработка зависит главным образом от умений конкретного программиста, дизайнера, специалиста по финансам, и не исключено, что предложенные им подходы окажутся эффективнее тех, которые будут разработаны крупной компанией.
Обучающие программы
То же самое, в принципе, можно сказать и об обучающих программах, разработанных для мобильных устройств. Они предназначены для облегчения освоения пользователями тех или иных языков, норм, навыков. Частный разработчик вполне может предложить пользователям решение соответствующего типа, более удобное и эффективное в сравнении с тем, что может быть создано крупной компанией.
Разработка мобильных приложений самостоятельно: структура ПО
Как создать мобильное приложение самостоятельно? Для успешного решения данной задачи разработчику прежде всего следует определиться с оптимальной структурой создаваемой программы для мобильного устройства. Вне зависимости от предназначения ПО, оно будет состоять из 2 основных компонентов: модуля front-end и back-end. Первый представляет собой интерфейсы, посредством которых возможности приложения будет задействовать пользователь. Второй модуль отвечает за прием и передачу данных в рамках взаимодействия соответствующего ПО и пользователя (в ряде случаев — также разработчика, если, к примеру, с его стороны требуется предоставление тех или иных обновлений или обратной связи).
Каким может быть интерфейс приложения?
Более детальные характеристики по структуре мобильных приложений зависят от их назначения. Так, например, если создается информационное ПО интернет-магазина, то в его интерфейсе могут присутствовать:
Навигационные опции, с помощью которых пользователь сможет получать доступ к тем или иным данным;
Блок обратной связи с продавцом или поставщиком;
Личный кабинет, в котором будут отражаться данные о запросах пользователя, его покупках;
Новостной блок, в котором будут размещаться сведения о скидках и спецпредложениях интернет-магазина, а также иная значимая информация.
Возможно, что владельцу магазина будет лучше создать мобильное приложение сайта, повторяющее как раз таки его структуру, чтобы пользователи, которым ресурс уже знаком, без проблем смогли сориентироваться в структуре соответствующего ПО для мобильных устройств.
приложений: инструменты
Изучим теперь ряд практических нюансов разработки рассматриваемых решений. Вопрос о том, как самому создать мобильное приложение, может быть решен с помощью удобных конструкторов, которые на рынке соответствующего ПО представлены в достаточно большом количестве. В частности, можно обратить внимание на такие решения, как: MobiCart, BusinessApps, My-Apps, Net2Share. Все они представлены в формате облачного ПО, и доступ к ним можно получить с любого устройства через интернет. Рассмотрим то, как создать мобильное приложение, задействуя возможности указанных программ, подробнее.
Инструменты для разработки приложений: MobiCart
Данный сервис может пригодиться владельцу интернет-магазина как раз таки в том случае, если у него изначально нет собственного сайта. С помощью MobiCart разработчик может создать функциональное приложение, посредством которого пользователи получат возможность выстраивать самый широкий спектр коммуникаций с продавцом: делать заказы, оплачивать их, получать сведения о скидках, обращаться к поставщику.
Основные функции рассматриваемого сервиса предоставляются на коммерческой основе, но ознакомиться с его возможностями разработчик может и бесплатно.
Инструменты для создания мобильных приложений: BusinessApps
Данный конструктор приложений оптимален главным образом для небольших интернет-магазинов. Он позволяет реализовать:
Интерфейсы для обмена сообщениями, добавление товаров в корзину;
Организацию переговоров между поставщиком и покупателем товара;
Новостной блок.
Примечательно, что данный конструктор приложений позволяет задействовать шаблоны, адаптированные для создания приложений для предприятий, представляющих конкретные сферы бизнеса, например общепит, фитнес. Рассматриваемый сервис не бесплатен, абонплата по нему составляет 59 долларов в месяц. Однако можно задействовать пробную версию. К тому же, если пользователю данный конструктор не понравился, то он может потребовать вернуть назад уплаченные средства.
Инструменты разработки приложений: My-Apps
Данный конструктор, в свою очередь, является бесплатным. Задача "как создать мобильное приложение для iPhone или Android с его использованием" может быть решена при задействовании 10 шаблонов, которые адаптированы для обеспечения коммуникаций с потребителями предприятий в широком спектре сфер бизнеса. В числе наиболее примечательных возможностей рассматриваемого сервиса — оперативное опубликование приложения в крупнейших каталогах — App Store и Google Play.
Инструменты разработки приложений: Net2Share
Рассматриваемый конструктор — в числе самых удобных решений, позволяющих быстро понять, как создать мобильное приложение для Android самостоятельно. Данный ресурс адаптирован как раз таки для разработки продуктов на соответствующей платформе. Он характеризуется довольно большим набором функций, а также возможностью зарабатывать на создаваемом приложении с помощью сервисов внутренней рекламы. То есть пользователь может, разработав тот или иной продукт, загрузить его на корпоративном аккаунте. Кроме того, самые активные разработчики получают бесплатный профиль в Google Play.
Кроме того, компания Net2Share проводит бесплатные обучающие курсы для пользователей, благодаря участию в которых разработчик может повысить свою квалификацию в вопросах создания, а также продвижения приложений на рынке.
Безусловно, есть большое количество иных специализированных сервисов, позволяющих создать мобильное приложение, игру. Во многих случаях для разработчика предпочтительнее может быть не облачный сервис, а дистрибутив, позволяющий реализовывать тот или иной программный код. Но рассмотренные нами выше ресурсы рассчитаны главным образом на пользователей с минимальным опытом и потому могут быть задействованы даже без специальной подготовки. Они универсальны и позволяют разработчикам создавать приложения, оптимизированные для самых разных сфер деятельности.