На самом деле воплотить в жизнь эту затею не так сложно и не так дорого, как может показаться на первый взгляд. Необходимо лишь достаточно хорошо представить, чего именно вы ожидаете от мобильного приложения и определить, какими способами достичь поставленных целей.
Проверка гипотезы: стоит ли использовать online сервисы для создания мобильных приложений?
Не секрет, что создание собственного мобильного приложения требует серьезных инвестиций, времени и сил. Но стоит ли оно того? В работе мы используем комплекс методов для проверки гипотез наших клиентов, чтобы удостовериться, что разрабатываемое приложение будет соответствовать ожиданиям бизнеса и пользователей.
В ряде случаев, аналитику программы перед началом Android или iOS разработки вы сможете провести самостоятельно, без серьезных финансовых вложений.
Одним из способов проверки ценности планируемых задач будущего проекта является короткий TTM (time to market), цель которого за короткий срок выпустить минимальную рабочую версию мобильного приложения и получить ускоренный фидбек от пользователей.
Способов достижения короткого TTM и быстрого сбора отзывов множество. Один из наименее затратных и позволяющих в короткий срок проверить необходимость создания программы на андроид для уже существующего бизнеса - online-конструкторы мобильных приложений.
Для каких задач подойдет такое решение:
- Создание мобильной версии вашего сайта
- Увеличение каналов продаж имеющегося on-line магазина
- Повышение коммуникационных каналов между сотрудниками и клиентами
- Увеличение новостных каналов для вашего блога, сайта, новостной рассылки
Когда использовать такие сервисы?
- Вы сильно ограничены в средствах
- Ваша идея не имеет технологически сложных решений и “типична” для рынка
- Успешность или неудача после запуска приложения не окажет существенного влияния на бизнес
- Вы в поиске нового канала привлечения клиентов и рассматриваете проект, как перспективу
Преимущества использования:
- Быстрая скорость девелопмента
- Минимальные стартовые вложения
- Возможность ускоренного получения обратной связи от клиентов
Недостатки:
- Ограниченные функциональные возможности калькуляторов
- Ограниченный дизайн, анимация
- Низкое качество работы при высоких нагрузках
- Ошибки кода, долгий процесс исправления ошибок
- В большинстве сервисов итоговый продукт публикуется и принадлежит принадлежит сервисам, через который он был создан
- Нет возможности провести проверку конкретной функции
- Нет UX тестирования
- Неконтролируемая реклама
Если вам необходима качественная и многофункциональная аналитика проекта, разработка приложений под ОС Android или iOS , обратитесь к профессионалам в InfoShell. Наши специалисты разработают для вас уникальное мобильное приложение, которое не оставит равнодушными ваших клиентов.
Если вы все же решились делать приложение самостоятельно, мы подобрали для вас несколько бесплатных / условно-бесплатных сервисов.
TOP-10 ПРОГРАММ ДЛЯ СОЗДАНИЯ ПРИЛОЖЕНИЙ ДЛЯ ANDROID И IOS
- www.theappbuilder.com
TheAppBuilder предлагает инструменты для служебных приложений и программ. С помощью данного сервиса вы сможете создать и настроить приложение, необходимое для внутренней работы вашей команды. Отправить всем уведомление об изменении графика работы ресторана, напомнить сотруднику об изменении графика его работы, отобразить последние новости компании.
Если вы планируете внутренний продукт, попробуйте сделать тестовую версию приложения с помощью данного сервиса, тем самым удостоверьтесь, будут ли сотрудники пользоваться таким приложением и в каком случае.
Цена: индивидуально по запросу.
- www.mobileroadie.com
– сервис по созданию событийных и новостных приложений. С помощью данного сервиса вы сможете объединить в одном месте информацию о вашей компании или загрузить данные по мероприятию занеся контакты, фото, видео, статьи и новости в одно приложение.
Цена на использования различается от пакета услуг: Пакет Core – 149 $ в месяц или 1 499 $ в год, позволит создать простое приложение без сложных технических решений и внешних сервисов. Пакет Pro – 799 $ в месяц или 7 999 $ в год, позволит подключить внешние сервисы и настраивать контент приложение из админки.
- www.viziapps.com
– сервис позволяет создавать мобильные приложения для бизнеса с помощью функционального визуального редактора. Через платформу легко внедрить новый интерфейсы для SalesForce, QuickBooks, QuickBase, Google Spreadsheets и SQL Databases. Приложения, созданные в Viziaapps, работают на всех популярных типах мобильных ОС.
Стоимость пакетов: Developer – 33 $ в месяц Pro – 79 $ в месяц Premium – 129 $ в месяц.
* Годовая оплата обязательна.
Так же, как и с сайтами, при создании своего продукта с помощью on-line конструкторов на вас накладывается множество ограничений. Примеры ограничений:
- Приложение сложно интегрировать со внешними сервисами, не предусмотренными конструктором.
- При использовании бесплатных on-line конструкторов на вас накладываются серьезные ограничения, такие как реклама внутри вашего продукта, сбор данные о продукте и клиентах, функциональные ограничения.
- Созданный продукт сложно масштабировать. В случае роста числа пользователей ваше решение будет виснуть или может стать недоступным для пользователей. Так же вы не сможете перенести приложение на альтернативные площадки использования (например, имеющий в СНГ популярность yandex.store или в США Amazon).
Созданные с помощью on-line конструкторов приложения служат для проверки гипотез вашего проекта. Однако, если вы получили отрицательный отзыв и ваш проект не оценили, перед тем как убрать его в дальний ящик, определите что именно стало залогом неудачи. Иначе вы рискуете потерять прибыльный проект из-за слабой реализации.
Сервис appsgeyser позволяет переделать ваш сайт, блог, видео или страницу в соц сетях в мобильное приложение для android с последующей публикацией в Google Play.
– полностью бесплатный и не ограничивает вас в количестве созданных пользователем приложений.
Преимущества платформы: удобный просмотр приложений, программ, быстрая конвертация любого контента (видео с YouTube, html документа, сайта) в мобильное приложение.
В первую очередь сервис подойдет блогерам и новостным сайтам. С помощью созданного приложения вы сможете оценить, на сколько увеличатся просмотры после первой публикации, а по количеству установок - на сколько актуальна потребность в мобильной версии сайта у ваших клиентов.
– сервис, предлагающий готовые решения для бизнеса – приложения для ресторанов, отелей, ночных клубов, общественных организаций. Конструктор рассчитан на создание мобильных программ для Android (Андроид), Apple iOS, Mobile Web, Webpage. Приложение можно сделать мультиязычным.
Сервис позволяет внесение неограниченного количества изменений в уже опубликованное приложение, безопасный хостинг.
Стоимость разработки одного мобильного приложения: 49 $.
– русскоязычный сайт-конструктор приложений, позволяющий без знания программирования создавать функциональные приложения по готовым шаблонам для всех популярных электронных устройств (iPhone, Android, iPad, Android Tablet). Так же сервис предлагает простой способ размещения приложения в магазинах Google Play и Apple Store.
Цены: Разработка мобильного приложения для Android и iOS – FREE. Пакет «Бизнес» – 2 400 руб./мес (1 приложение, 3 тыс. установок, публикация в магазинах, отсутствие рекламы). Пакет «Безлимитный» – 3 700 руб./мес (1 приложение, неограниченное количество установок, публикация в магазинах, отсутствие рекламы). Пакет «Корпоративный» – 27 100 руб./мес (10 приложений, неограниченное количество установок, дополнительная защита контента, техническая и консультативная поддержка).
– сервис для частных предпринимателей и малого бизнеса. Создатели уверяют, что на создание приложения у вас уйдет 20 минут. Созданные приложения позволят наладить новый канал коммуникации с клиентами и собирать отзывы, сделать мобильную версию вашего сайта или готовое мобильное приложение.
Важное преимущество сервиса – полное отсутствие рекламы и возможность разработки приложений для электронных устройств на iOS, Android (Андроид) и Windows Phone.
Цены: На сайте доступны бесплатный и платный пакет: App Basics – 1 $ в месяц App Pro – 9 $ в месяц Unlimited Reseller – 39 $ в месяц.
Аppery – платформа для разработки бизнес приложений для iOS, Android (Андроид) и Windows Phone. Конструктор развернут в облаке, что исключает необходимость установки программ на жесткий диск и предназначен для создания функциональных бизнес-приложений.
Преимущества: удобный визуальный редактор, возможность добавлять собственные плагины, широкий набор инструментов для Android и iOS разработчиков, подключение сторонних баз данных и сервисов.
Стоимость пакетов: Базовая версия: 30 $ Стандартная версия: 30 $ (оплата за 12 мес), 45 $ (помесячная оплата). Версия Pro: 57 $ (оплата за 12 мес); 85 $ (помесячная оплата).
– платформа для самостоятельного конструирования мобильных приложений для iPad, iPhone, Android, HTML5. Ко многим своим преимуществам, сервис позволяет создавать e-commerce приложения с подключением монетизации.
Цены: Basic – 22,90 $ в месяц или 19,90 $ в месяц (при годовой оплате) Advanced – 58,90 $ в месяц или 49 $ в месяц (при годовой оплате) Unlimited – 139,90 $ в месяц или 119,90 в месяц (при годовой оплате).
– платформа дает возможность пользователю без труда создать функциональное приложение для Android и iOS (iPhone, iPad) под малый и средний бизнес. На BiznessApps вы создаете мобильное приложение с использованием сотен готовых шаблонов.
Стоимость пакетов: Мобильный сайт – 29 $ в месяц Мобильного приложение – 59 $ в месяц.
В этом руководстве вы усвоите, как начать разработку под Андроид, а именно: мобильных приложений на платформе 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 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например,
Программирование является одним из тех направлений, где каждый может почувствовать себя в роли творца. Обычно под ним понимают разработку приложений под персональные компьютеры, единицы производственной техники или просто для электронных самоделок. Но с распространением сенсорных мобильных устройств всё популярней становится программирование под Android, iOS или другую системную оболочку подобного типа. Что ж, надо признать, занятие это перспективное. Поэтому в рамках статьи будет рассмотрено, под Android с нуля. Какие особенности здесь существуют? Какой язык используется?
Создание программ
Прежде чем самостоятельно писать программы, необходимо изучить все нужные для этого составляющие:
- Язык.
- Выбрать среду разработки. На языке мы ещё остановимся детально, как, впрочем, и на программных продуктах, где будут создаваться приложения. Но сначала немного поговорим о средах разработки. Условно их можно поделить на три составляющие:
- графические;
- обычные;
- онлайн.
По созданию программ надо отметить, что сейчас сложно выдвинуть идею, которая не была бы уже ранее проработана. Поэтому при возникновении проблемы или просто в случае отсутствия знаний необходимо грамотно сформулировать возникшее недоразумение и обратится к более опытным программистам. Они смогут помочь в деле создания программ конструктивным советом.
На каком языке пишутся программы?
Для этих целей используется Java. Следует отметить, что это довольно сложный язык программирования. Но для создания своих приложений вовсе не обязательно совершенно знать его. Достаточно будет базовых знаний и навыков работы со справочной информацией, чтобы получать ответы на свои вопросы. К тому же существуют определённые заготовки, воспользовавшись которыми, можно будет сделать некоторые шаги по созданию приложения без значительных проблем. Тогда программирование под Android превращается в одно удовольствие.
Выбираем обычную среду разработки
В качестве самых серьезных игроков рассматриваются Eclipse и Android SDK. Они обе являются бесплатными. В целом следует отметить, что эти среды разработки - серьезные конкуренты, и каждая из них обладает рядом сильных и слабых сторон. Изучать стоит каждую из них. Отдельно позволим себе только немного остановиться на одном аспекте Android SDK - эмуляторе. Он является программой, которая выдаёт себя за телефон или планшет, что работает на базе "Андроида". Эмулятор спокойно работает на обычном компьютере и на рабочем столе выглядит как стандартное мобильное устройство. Существует единственная особенность - управляется он с помощью мышки и клавиатуры, а не пальцем. В эмуляторе можно будет проверить работоспособность приложения под различные расширения экрана, а также на разных версиях мобильной операционной системы "Андроид". Поэтому, как бы это странно для вас ни звучало, но во время разработки приложений, нацеленных на Android, иметь телефон - вовсе не обязательно.
Что нужно для разработки своего приложения?
Графические среды разработки
Этот вариант подойдёт тем, кто не имеет понятия о программировании вообще, но желает получить своё приложение здесь и сейчас. Для начала следует ознакомиться с описанием и возможностями графических сред разработки. Так, некоторые могут размещать только простейшие элементы и прикреплять к ним минимальный функционал. Подобные ресурсы лучше не использовать, поскольку с их помощью будет сложно понять логику работы и создать развитой конечный продукт. Желательно делать отбор по таким параметрам:
- Наличие интуитивно понятного интерфейса.
- Использование понятной логики работы.
- Возможность создания элементов в графическом и кодовом режимах.
- Наличие документации по работе со средой разработки и форума поддержки.
Онлайн-среда разработки
Они могут предоставить довольно широкий функционал в простой точке доступа - интернете. «Онлайн-среда разработки» - вероятно, этим всё сказано. Хотя следует уточнить, что под Android всё же является нелегким делом. Так, наиболее сложно будет реализовать шутеры и похожие по сложности приложения. А вот программы с текстовым оформлением и передачей данных - это легко.
Заключение
Надеемся, вопросов по первым шагам подготовки к созданию своих программ больше нет. Если же вы решили всерьез заняться программированием, то можно воспользоваться специальной литературой. К примеру, книгой «Программирование под Android» Харди Браяна. Конечно, это не единственный хороший труд, но с чего-то же надо начинать. Вот с ознакомления с данным пособием и можно начать путь к успеху.
У вас есть идея по созданию мобильного приложения, но сомневаетесь, хватит ли вам знаний и навыков, чтобы его создать? Даже если вы ничего не понимаете в создании мобильных приложений, вы все равно можете его создать и даже заработать на этом.
Идея
Работа над созданием приложения начинается с идеи. Для начала подумайте для кого вы хотите сделать приложение. Например, если вы живете в большом городе, где много туристов, то можно подумать о создании приложения для них. Вариантов очень много.
Кроме того, подумайте о своих увлечениях и интересах. Допустим, вы часто путешествуете и хотите посетить самые знаменитые клубы по всему миру. Вы составили список ваших любимых мест. Почему бы не превратить эту базу данных в приложение для путешественников?
Много известных приложений не сосредоточены вокруг особых интересов, но они всегда в первых тройках рейтингов – это игры. Вы, наверное, уже загрузили в свой смартфон – Temple Run, Minecraft. Игровые приложения имеют тенденцию зарабатывать больше денег, поскольку пользователи охотнее готовы платить за них, особенно если они очень популярны среди ваших друзей.
Не отчаивайтесь, если вы найдете что-то похожее на вашу идею при поиске через App Store. Научитесь мыслить нестандартно. Например, есть несколько приложений, которые предоставляют информацию и карты обо всех самых популярных туристических местах в Москве. Но есть приложение, которое предоставляет информацию о необычных местах города, о которых не все знают.
Попробуйте придумать идею, у которой будет мало конкурентов. Но если вы решительно настроены в воплощении вашей идеи в приложение, несмотря на конкуренцию, взгляните на ваших конкурентов и попытайтесь выяснить, что вы можете сделать, чтобы ваше приложение было лучше их.
Вот некоторые важные моменты, которые необходимо учитывать пока вы размышляете над вашим приложением:
Варианты монетизации
Перед началом разработки приложения вам нужно определиться, как вы будите на нем зарабатывать. Существует несколько основных способов монетизации приложений:
- Бесплатное приложение. Обычно используется крупными компаниями, и приложение помогает продавать их товары или услуги.
- Бесплатное приложение с рекламой. Используется в популярных приложениях, активно взаимодействующих с пользователем
- Платное приложение. Самый популярный и доходный вид монетизации. С каждой продажи вашего приложения Apple берет комиссию в размере 30%.
- Lite и Pro. Lite приложение бесплатно, но с ограниченным набором функций. Покупая Pro вы разблокируете весь функционал
- Покупки внутри приложения - вы можете продавать новый функционал или новые уровни игры прямо из приложения
Разработка
Теперь у вас есть идея. Здорово, это уже полдела! Но что теперь? Мы предполагаем, что у вас, как и большинства людей, нет никакого опыта в программировании. И это прекрасно! Есть куча вариантов.
Если вы хотите пойти по легкому, но более дорогому пути, то загляните на сайты разработчиков мобильных приложений. Сайт AppBooker позволяет ввести нужную платформу, страну, ваш бюджет и затем он выдаст список разработчиков, которые отвечают вашим потребностям. Выбрав разработчика, вы можете увидеть список его клиентов и типы приложений, на которых они специализируются.
Хороший список отечественных разработчиков можно посмотреть здесь – ratingruneta .
Еще один вариант найти разработчика это обратиться на биржи флинасеров. Возможно, это даже будет дешевле, но более рискованно, так как вам может попасться недобросовестный работник.
Вот несколько вопросов, которые стоит задать вашему будущему разработчику:
Стоимость их работы?
На кого они работали в прошлом?
Являются ли их приложения успешными?
Буду ли я обладать всеми правами на приложение?
Есть ли у них опыт и знания, чтобы воплотить вашу идею в жизнь?
Под какие платформы (IOS, Android и т.д.), они могут создавать приложения?
Стоимость разработки
Как говорится, чтобы заработать деньги надо их сначала потратить. Это не совсем так если говорить о мобильных приложениях, но вернемся к этому ниже. А пока предположим, что вы решили заказать приложение у разработчика.
В зависимости от типа приложения, которое вы хотите сделать, цена может варьироваться от $500 до $100000. Такая цена может показаться очень высокой, но стоит иметь в виду, что прибыль от успешного приложения покрывает расходы в несколько раз. Кроме того, игровые приложения самые дорогостоящие в плане разработки, так же являются хитами продаж.
Если у вас уже есть некоторые наработки (например, макет и графика), вы можете значительно уменьшить цену. Еще один способ, снизить расход, предложить разработчику часть прибыли от приложения.
Чтобы приблизительно узнать, сколько будет стоить разработать приложение можно воспользоваться калькулятором howmuchtomakeanapp . Его создала канадская компания ooomf.com. Полученную цену можно смело делить на 2, и вы узнаете цену разработки у нас. Можно посмотреть также примеры уже созданных ими приложений с ценами – crew.co .
Размещение уже готового приложения на App store обойдется вам $99.9 в год. Размещение приложения на Android Market стоит $25.
Как создать приложение бесплатно
Если вы не хотите создать игру или какое-то уникальное по своим функциям приложение, то вы вполне можете воспользоваться специальными онлайн конструкторами мобильных приложений. С помощью этих сайтов вы можете бесплатно сделать простенькое приложение без знаний в программировании. Но если вы захотите чего то особенного, то вам придётся перейти на платный тариф.
Сколько можно заработать?
Очевидно, что деньги, которые вы заработаете на своем приложении, во многом будет зависеть от его популярности, и сколько вы заработаете трудно сказать.
Исследование, проведенное в GigaOM Pro показало, что более половины их 352 опрошенных разработчиков зарабатывают менее $500 в месяц.
Этого конечно недостаточно чтобы жить только от доходов с приложения, но прекрасно, если вы просто хотите заработать немного дополнительных денег.
Конечно, вы можете сделать еще один хит на подобии Angry Birds, которые будут зарабатывать для вас $100 000 в месяц!
Для того чтобы хорошо зарабатывать на своем приложении, прочтите несколько советов:
- ваше приложение должно быть интересно широкой аудитории
- исследуйте самые популярные приложения на рынке Оцените статью Проголосовало: 1152 Средняя оценка: 3.3