Android — Нужна помощь с проектом


Содержание
Цукерберг рекомендует:  Обучение - Ноутбук для программирования

Как начать разрабатывать под Andro >
    Переводы, 21 ноября 2020 в 18:16

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

Начало работы

Новичкам в программировании поможет наша вводная статья.

Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android. Кроме того, есть курс от Google на Udacity.

Если у вас возникают проблемы с Android, крайне рекомендуется сперва проверить StackOverflow. Он создан для ответов на технические вопросы и даже является официальной платформой Q&A для Android.

Статьи по Android вы всегда можете найти у нас на сайте.

Я хочу начать разрабатывать под 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.

Какое устройство/ОС/т.д. мне использовать?

По этим вопросам был проведён вопрос на Reddit, результаты можно посмотреть здесь.

Ресурсы

Здесь представлены основные ресурсы по обучению разработке под Android на английском языке. Это далеко не полный список, но достаточный для старта.

Официальные ресурсы Android

Дизайн

  • Шпаргалки по Android для графических дизайнеров
  • Красивости для Android – вдохновение для создания графических интерфейсов под Android.

Рассылки

  • Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.

Коллекции библиотек

Инструменты

  • Genymotion – крайне полезный и функциональный эмулятор.
  • Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
  • Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.

Примеры open source приложений

Идеи для приложений

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

Каков мой бюджет?

Если вы настроены серьёзно и хотите выпустить свой продукт, вы должны подумать о своём бюджете. Даже в случае простого приложения нужно подумать о нескольких тысячах долларов. Хотя бы.

Какая у меня маркетинговая стратегия?

Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?

Какой список задач у данного проекта?

А также, какие есть ограничения? Сколько мне нужно разработчиков?

Откуда будут приходить/где будут храниться данные?

А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?

Есть ли цель заработать денег?

Если да, как вы собрались её достигать? Через рекламу, IAP, подписки, платные приложения? Всё вышеперечисленное?


Как вы будете платить вашим разработчикам?

Есть ли у вас капитал или вы собрались платить им после того, как приложение начнём приносить доход? Часто независимые контрактники требуют часть полной стоимости авансом. Большинству разработчиков неинтересно разделение доходов, за исключением случаев, когда они сами вкладываются в приложение.

Какой будет способ тестирования?

На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?

Как скоро вы хотите опубликовать приложение в магазине?

Это однозначно повлияет на конечный доход.

Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?

Продумайте реализацию этой функциональности.

Какова ваша целевая аудитория?

Это нишевое приложение или оно может быть распространено повсюду?

Реализована ли уже моя идея?

Если да, как я могу улучшить её или что в ней отсутствует?

Что делать с идеями для приложений, если вы не разработчик?

Вы, возможно, ищете разработчиков в вашу команду для реализации приложения. Если у вас есть деньги и вы можете заплатить разработчику или фирме, то всё просто и понятно. Далее мы поговорим о том, что делать, если у вас недостаточно денег, чтобы платить кому-то.

«Росбанк», Москва, до 60 000 ₽ (до налогов)

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

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

Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.

Пересмотр вашей идеи

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

  • Распределяйте работу настолько справедливо, насколько это возможно.
  • Фокусируйтесь прежде всего на ваших навыках.
  • Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например, наше) помочь в оценке трудозатрат.

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

  • Представьте всё. Не беспокойтесь, что идею могут украсть. Поскольку теперь идея завязана на ваших навыках, а распределение работы более справедливое, разработчику выгоднее работать с вами вместо того, чтобы делать всё самому. Используйте картинки и диаграммы, где это уместно, чтобы описать идею. Не упускайте важных деталей или того, что вы считаете тайным преимуществом. Скорее всего, оно таковым не является, и замалчивание этих деталей сделает идею размытой и недостаточно убедительной.
  • Что вложите вы? Очень важно это обозначить.
  • Каких взаимоотношений вы ищете? Долевое участие? Будете платить разработчику? При долевом участии нужно принять факт того, что разработчик может изменять приложение, и вам нужно будет вместе работать над тем, чего вы оба хотите. Не только вы обладаете видением того, какое направление является наилучшим.

Возможно, вам надо будет пересмотреть свою идею и внести изменения. И повторить это много раз.

Переделать проект с С++ на Andro >12.03.2015, 13:12. Просмотров 796. Ответов 7

Вложения

Пробник4.rar (348.4 Кб, 20 просмотров)
12.03.2015, 13:12

Как добавить Android-проект в Eclipse с Android SDK, чтобы после его можно было запустить на виртуальной машине?
Вот у меня с интернета скачан готовый андрой-проект, но я не знаю как его добавить в остальные.

Переделать программу под Android
Добрый день, Уважаемые программисты! Писал как то программу на С++ Builder с помощью Вашего.

Приложение на Android (дипломный проект)
Всем доброго времени суток! Друзья, помогите с идеей приложения под Android. Предыдущую тему.

Открыть проект на Android Studio
Д,Д, помогите открыть проект Open source на android studio При открытие выдает ошибку связанный с.

Как создать Android проект?
Подскажите новичку как создать новый проект в Eclipse на базе уже имеющегося.

Android — Нужна помощь с проектом

14 Способов сделать вклад в открытое программное обеспечение, не будучи Гениальным Программистом или Рок-Звездой

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

Открытое программное обеспечение изменило мир, и многие хотят внести свой вклад. К сожалению, люди ужасаются от барьера на вступление в open source проект. Я часто слышу от людей, которые хотят помочь, но не могут:

«Я не очень хороший программист.»
«Я не смогу выделять достаточно времени.»
«Я не знаю к какому проекту подключится.»

Существует 3 основных принципа, которые следует помнить, если вы ищете возможность внести свой вклад:

Проектам нужны люди с любым уровнем знаний и опыта.
Маленький вклад лучше, чем никакой.
Если не знаешь с чего начать — начни с того, что используешь!

Среди новичков самая разрушительная мысль которую я наблюдал — мнение что для вклада в open source ты должен быть гениальным разработчиком. Это не так! Конечно, есть некоторые «рок-звёзды» в open source и они даже могут быть гениальными программистами. Тем не менее, подавляющее большинство таковыми не являются! Мы просто люди которые делают своё дело. Иногда мало, иногда много. Иногда это программирование, а иногда и нет.

Большинство из того, что делает open source это работа и время потраченное на проект. Большинство таких вещей не требуют интеллекта или взгляда как у Ларри Уолла, создателя Perl’а, или Давида Ханссона, создателя Rails. Для разработки нового языка программирования или web-фреймворка вдохновение надо, но остальное, что делает проекты уровня Perl и Rails успешными — тяжкий труд. За это вы, возможно, и не получите славу, но всё равно необходимо и через какое-то время ваш вклад будет замечен.

Прислушайтесь к другим

Всё в open source включает себя других людей. Желание присоединиться к команде значит, что ты понимаешь сообщество проекта и как в нём всё крутится. Прогулка в проект со словами «Привет! Я думаю что делать следует вот так.», как правило, не расценивается хорошим тоном. Некоторые проекты может и приветствуют такого рода подход, но если проект уже устоявшийся, такой подход имеет мало шансов на успех. Слушать — это лучший способ узнать в чём проект нуждается.

Списки рассылок: Для многих проектов, списки рассылок являются основным каналом связи по разработке проекта. У больших проектов есть много рассылок и есть из чего выбрать. К примеру, для PostgreSQL существует не менее 12 рассылок для пользователей и 6 для разработчиков. Я предлагаю подключится к основной рассылке как для пользователей, так и для разработчиков, чтобы начать слушать.

Подпишитесь на блог: Блоги которые ведут основные разработчики часто полны информацией про будущие релизы. Существуют агрегаторы новостей и блогозаписей проекта. Если такой сайт есть, к примеру planet.gnome.org или planet.mysql.com, начните оттуда. Попробуйте поискать в Google «planet ».

Подключитесь к IRC каналу: Многие open source проекты имею IRC-каналы где разработчики и пользователи зависают для обсуждения разработки и решения проблем. Посмотрите на странице проекты как называется канал и в какой сети IRC он находится. (прим. перев. Как показывает практика самой популярной сетью есть Freenode, а потом — собственные серверы проектов. Не редки случаи запуска собственных серверов Jabber и конференций.)


Работа с ошибками

Код — сердце практически любого open source проекта, но не думайте что писать код это единственная возможность сделать вклад. Поддержкой кода и системы в целом часто пренебрегается в погоне за новыми возможностями и исправлениями ошибок. Осмотритесь, возможно это ваш путь вступления в проект.

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

Диагностика ошибок: Ошибки часто имеют плохое описание. Диагностика и сортировка ошибок сильно помогут разработчикам (даже более того, сэкономят им время) в определении в чём же действительно проблема. Если пользователь сообщает, что «Приложение не работает когда я делаю X», потратьте немного время что бы уточнить что именно идёт не так. Ошибку можно воспроизвести? Можно сделать пошаговый мануал по проблеме? Можно ли сузить проблему: воспроизводится только в одном браузере, работает только в некоторых дистрибутивах? Если да, то в каких?

Даже если вы не знаете в чём именно проблема, затраченные усилия помогут кому-то уточнить или даже решить проблему. Заносите всё что вы нашли по проблеме в bug-трекер, что бы все имели доступ к актуальной информации.

Закрывайте исправленные тикеты: Часто в коде ошибки уже исправлены, но запись в bug-трекере ещё есть. Зачистка этого «хлама» может занять уйму времени, но принесёт неоценимый вклад для всего проекта.

Начните с поиска старых записей и посмотрите, действительно ли ошибка ещё присутствует. Проверьте, возможно в новых релизах ошибка уже исправлена и запись может быть закрыта. Если известно что исправлено — укажите версию и можете закрывать.

Если явных следов исправления нет — попробуйте воссоздать ошибку на новых версиях. Если не воспроизводится — откомментируйте тикет и закройте. При наличии ошибки отметьте это, но, оставьте открытым.

Программисты с любым уровнем знаний и опытом могут помочь проекту. Не думайте что надо быть настоящим гением для существенного вклада в проект.

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

К примеру для PostgreSQL процесс очень строгий: модификации кода, в виде заплатки, отправляются в список рассылок разработчикам, где они изучают каждый аспект изменений. С другой стороны, есть проекты, такие как Parrot, в которых очень просто получить привилегию делать commit в основную ветку кода. Если проект использует GitHub, вероятно рабочий процесс основан на системе pull-запросов. Нет двух одинаковых проектов!

Всякий раз когда вы изменяете код, следите что бы вы действовали как ответственный участник сообщества и ваш код соответствовал стилю всего остального проекта. Добавленный или изменённый вами код не должен отличаться от остального! Вам может и не нравится использование текущего стиля скобок или пробелов для создания отступов, но это грубо когда вы добавляете код, который не соответствует стандарту. Это тоже самое: «Мне не нравится ваш стиль, мой лучше, делайте как я.»

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

Как правило, нужно лишь скачать, собрать и начать использовать приложение. Но вклад может быть огромен если у вас непопулярная платформа или аппаратное обеспечение (прим. перев. К примеру помочь разработчикам nouveau сделать поддержку современной видеокарты, что переводчик и сделал летом.). Просто комментарий о том, что сборка и испытания прошли успешно, дают знать что предстоящий релиз проверен и может быть опубликован.

Исправляйте ошибки: Это, как правило, путь для людей которые хотят сразу влиться в код. Тут всё просто: ищем интересную ошибку в bug-трекере и исправляем её в коде. Документируем исправления в коде, если это принято.

Хорошая идея — это создание тестов для кода, который вы исправили; а некоторые проекты даже требуют исправление ошибок с тестами! Возьмите блокнот и ручку для записей при копании в незнакомом коде. Даже если вы не можете исправить ошибку, запись в bug-трекере это отметка что вы пытались сделать. Это поможет другим, кто придёт после вас.

Пишите тесты: Большинство проектов имеют наборы тестов, но сложно себе представить такой набор, в котором больше нечего тестировать. Используйте такие инструменты для исследования покрытия кода как gcov для C или Devel::Cover для Perl. А затем, добавьте тесты для улучшения покрытия.

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

Убедитесь что код действительно содержит ошибку. Если нет, исправьте код так что бы избавиться от ложного срабатывания (или, не совсем ложного).

Добавьте комментарии: Если вы копаетесь в чужом коде, вы часто находите места которые вас сбивают с толку. Если даже вас он сбивает, то какие чувства у остальных на этом месте? Сделайте полезный комментарий и отправьте заплатку.

Работа с документацией

Документация это важная часть любого проекта. Она может страдать от того, что была написана с точки зрения человека знакомого с проектом, а не глазами человека, который только хочет туда попасть. Если вы когда-то читали документацию с мыслью «Он что, думает что я знаю как это делать?» то вы понимаете о чём я говорю. Свежий взгляд всегда благотворно влияет на документацию и указывает на недостатки, которые остальные уже не замечают.

Создавайте примеры: Нет ни одного проекта в котором достаточно примеров. Web-API, библиотеки, графические приложения (такие как, GIMP) или командные утилиты, для всех них хороший пример лучше покажет использование, чем сухая документация.

Для API или библиотеки не лишним будет написать приложение которое её использует. Это могут быть даже куски ранее написанного кода с отсечением всего ненужного. Живой пример использования в повседневной жизни также будет не лишним! Если приложение графическое — рассмотрите создание скрин-каста разных процессов.

Работа с сообществом

Открытое программное обеспечение это только отчасти код. Сообщество, вот что движет им. Вот способы которым вы можете тут помочь.

Отвечайте на вопросы: Лучший способ построить сообщество — помогать друг-другу. Отвечать на вопросы, особенно новичков, это важный шаг в росте и процветание. Время затраченное на помощь «нубу», даже если его вопрос можно легко найти в документации (с ответом: «RTFM»), оплатится новым, активным участником. Каждый с чего-то начинал, а приток новых пользователей это жизненно важно для любого сообщества.

Пишете блогозаписи: Если у вас есть блог, поделитесь опытом. Расскажите о проблемах с которым вы столкнулись и как вы их решили. Этим вы сразу поможете в двух направлениях: продвижения проекта и помощь людям, которые столкнулись с такой же проблемой. Блог ваших технических похождений также очень неплохой способ показать опыт использования технологий и приложений и будет полезен при поиске новой работы.

Улучшите сайт проекта: Большинство программистов — дерьмовые дизайнеры и редкий проект которому не нужна помощь талантливого дизайнера. Помогите улучшить дизайн сайта, всё-таки это лицо проекта. Поверьте, затраченное время окупится с лихвой! Возможно проекту нужен капитально новый дизайн или логотип, а таких способностей может не хватать у сообщества. Я знаю это, потому-что сам хотел бы улучшить дизайн сайтов собственных проектов.

В конце-концов. Прежде всего, слушайте о чём люди говорят. Смотрите, возможно именно тут вы можете чем-то помочь. Например, недавно в рассылке проекта Parrot было решено использовать GitHub и их систему bug-трекера взамен старого Trac. Некоторые люди были против — не было способа перенести всю старую базу Trac на новую платформу. После целого дня споров, я влез и сказал: «А что если я напишу преобразователь?». Люди пришли в восторг от моей идеи! Я потратил время, чтобы написать программу для преобразования 450+ тикетов. Ведь в противном случае была б потеряна история. Это был успех! Я взялся за дело, а в это время основные разработчики оставались сосредоточены на развитии Parrot.

Существует так много способов внести свой вклад, особенно если мы посмотрим мимо очевидного — добавление нового функционала. Каждый, кто использует open source, может помочь своими талантами и способностями в развитии проекта и его сообщества.

FDroid — F-Droid сетевой репозиторий Open Source проектов, сам является открытым ПО, исходники сервер и клиент, и хвалебная ода на хабре.

AOpenSource — база данных Open Source проектов включает

Как сайт превратить в приложение andro >

Добрый день. Имеется веб сайт состоящий из:

  • CSS стили
  • Статичный HTML
  • Несколько картинок

Страницы взаимосвязаны между собой, все ссылки прописаны по принципу href=»/index.html»
Как этот сайт превратить в автономное приложение? Сразу замечу что говорю о мобильной версии и она стабильно работает. Хочется иметь моб.версию оффлайн на смартфоне. Уровень знаний Android SDK очень низкий. Поэтому это самый быстрый вариант.

За наводку с вариантом для ios — отдельное спасибо. Больше интересует андроид.

  • Вопрос задан более трёх лет назад
  • 38028 просмотров

Посмотрите в сторону phonegap.com, там и Android, iOS, WP, BADA, webOS, blackberry

Самый простой и быстрой способ, не требуется разбираться что такое android, как под него писать, куда что добавлять, где взять эмуляторы, что такое webview, папки assets и т.д.:

1. Ставите Intel XDK и создаете новый проект
2. Тут же просто перетягиваете нужные файлы в папку www
3. В эмуляторе (который кстати тут быстрый и ничего дополнительно ставить не требуется) тут же смотрим на результат

Если всё устраивает то нажимаете build и выбираете android (лучше всего crosswalk, работает намного быстрее, но весит больше). В итоге получаете apk файл

AterLux › Блог › Моё первое приложение для Android

Не знаю, что первым делом скачивают нормальные люди, когда им дарят андройдофон, но я первым делом пошёл на developer.android.com/sdk/index.html и скачал себе Android Studio.

Android Studio — это официальная среда разработки от гугла, основанная на IntelliJ IDEA, и доступна совершенно бесплатно. Кроме различных визуальных конструкторов для раскладок, она тесно интегрируется с эмулятором андройдофонов. Так что можно запускать и дебажить всё прямо в эмуляторе, не отходя от кассы.

Сам язык представляет собой обычную Java, на которую навешано всякое андроидовское API.
Сайт developer.android.com/develop/index.html даёт описание всех классов, а также советы и примеры по разработке. Хоть на английском, но очень удобно.

Из русскоязычных ресурсов по разработке мне очень помог начать Сайт Александра Климова
Первый курс — основы — доступны на сайте бесплатно и очень понятно на примерах с котиками рассказывают что к чему.


Начать с бухты барахты гадить своими приложениями на Гугель Плеймаркете не получится. Во-первых у них там всё серьёзно, приложения приходят проверку, обязательно требуют указать возрастные ограничения, строго следят за различными нарушениями, в особенности распространение недетских материалов и нарушение авторских прав. В интернете можно встретить очень много жалоб разработчиков, которых забанили из-за какой-нибудь мелочи.
Во-вторых, регистрация аккаунта разработчика платная и строит аж 25 американских баксов. Не странно что многие разработчики пытаются зарабатывать денежки. Заработать там можно тремя законными способами:
1) Сделать приложение платным. При обилии бесплатного контента приложение должно быть действительно полезным.
2) Добавить в приложение платный контент. Какие-нибудь докупаемые за деньги фичи. Гугл представляет разработчикам API для взаимодействия с плей-маркетом в части покупаемого контента.
3) Наконец, самый распространённый, напихать в приложение рекламу (опять таки, только через гугловый апи). За показы разрабу капает какая-то деньга, поэтому во всех бесплатных приложениях столько много всякой рекламы.

Как создать свое приложение для «Андроид»: пошаговая инструкция и особенности

В 2008 году компания Google впервые выпустила операционную систему «Андроид», которая тут же завоевала сердца любителей гаджетов. Разработчики сделали новую ОС бесплатной и с открытым исходным кодом. Помимо данного факта, стремительное развитие «Андроид» произошло за счёт обширной политики поддержки разработчиков. Таким образом, в сферу девелопмента ринулись сотни свободных программистов.

В то время было написано много руководств о том, как создать приложение для iOS, а вот серьёзных мануалов для «Андроид» было мало.

Работа операционной системы «Андроид» основана на ядре Linux. А каждое приложение выполняется в отдельной виртуальной машине. Их код для ОС «Андроид» пишется на языке программирования высокого уровня Java. Однако если требуется создать продукт, использующий доступ к устройствам напрямую или нужно максимальное быстродействие, применяется NDK — набор для разработки на C++.

На данный момент официальный магазин Google Play содержит около 2 млн программных продуктов, так как создать мобильное приложение сегодня может каждый.

Как создать своё приложение

Для написания программного кода для «Андроид» приложения применяется специальная среда разработки. С момента создания операционной системы для программирования использовались продукты Eclipse и IntelliJ IDEA. Для этого были выпущены плагины, специально ориентированные для создания приложений «Андроид». Однако после выхода официальной среды разработки от Google — Android Studio, плагины перестали поддерживаться, и программирование теперь происходит преимущественно в этом программном комплексе.

Для того чтобы Android Studio мог работать в системе, в ней должна присутствовать Java Development Kit — бесплатный комплекс для разработки, в который входит компилятор Java-кода, библиотеки и JRE — среда исполнения. Помимо JDK, для создания приложения понадобится скачать Android SDK — набор компонентов для разработки непосредственно для Android, содержащий комплекс тестирования и отладки приложений. С помощью данных средств автоматизации написать первую программу так же легко, как создать приложение «Вконтакте».

Среда разработки

В первую очередь устанавливается свежая версия JDK, скачать которую можно с официального сайта компании Oracle. Затем инсталлируется Android Studio, доступная для загрузки с developer.android.com. После установки среда сможет самостоятельно скачать Android SDK, проведя пользователя по всем необходимым этапам.

Перед тем как создать своё приложение, стоит понять, как реализована их загрузка и работа. После преобразования программного кода в специальный байт-код среда создаёт архив с расширением APK. Он содержит:

  • исходный код приложения, размещённый в файлах DEX;
  • дополнительные ресурсы, находящиеся в папке assets;
  • ресурсы для отображения;
  • главный файл архива — AndroidManifest, в котором указаны разрешения для приложений, требования к версиям, список участвующих в работе классов и т. д.

При запуске приложения виртуальная машина Dalvik, или действующая с версии «Андроид 5.0» система Art, создаёт отдельный процесс, в котором на лету компилируется исполняемый код.

Первые шаги

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

Далее программа попросит указать название будущего приложения, домен компании и физическое расположение проекта на диске компьютера.

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

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

Анатомия программирования для «Андроид»

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

Папка manifests содержит главный файл любой программы для «Андроид» — AndroidManifest. Он несёт в себе множество технической информации для работы приложения. В большинстве случаев вручную править его не придётся, так как SDK чаще всего автоматически генерирует нужные строки и их параметры.

Папка java содержит основной исходный код. Здесь расположены файлы с расширением .java. В них и будет происходить большая часть разработки.

В папке res определены несколько подпапок с ресурсами. Подкаталог drawable предназначен для графических файлов, необходимых для визуального оформления проекта. Layout содержит файлы с расширением .xml, которые определяют характеристики и расположение элементов на экране — кнопки, текстовые поля, переключатели и т. д. Внутри mipmap копируются иконки для приложения в нескольких разрешениях для оптимизации на разных диагоналях экранов. Именно из этой папки будет браться изображение для создания иконки на рабочем столе гаджета. В каталоге values определяются постоянные величины, периодически необходимые для приложения. Например, коды цветов, строки для часто встречающихся кнопок и описаний, характеристики стилей.

Раздел Gradle Scripts создан для хранения служебной информации. Она нужна для системы сборки проектов Gradle, которая на основе введённых параметров соберёт и скомпилирует проект.

Непосредственно код

Перед тем как создать приложение в ВК, необходимо пройти курс хотя бы поверхностного обучения его API и языка. Также и здесь, нужно будет предварительно подтянуть знания по Java.

Главный класс, создаваемый по умолчанию, называется MainActivity.java. Именно с него начнётся загрузка приложения на устройстве. Android Studio сама автоматически уже сгенерировала необходимый для первого запуска код.

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

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

Классы и методы

Сам класс начинается со спецификатора доступа public. Он служит для разграничения прав на использование классов. Слово public говорит о том, что MainActivity.java открыт и его можно использовать из других мест проекта. Далее идёт ключевое слово class, его имя и самое интересное — extends. Этот термин означает, что текущий класс наследуется от Activity. А стало быть, и получает все его методы и поля.

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

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

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

Ключевое слово void показывает тип метода, а точнее то, что он должен вернуть в результате работы. Данный тип говорит о том, что ничего не возвращает, а лишь выполняет то, что находится в теле. Методы могут иметь типы String, int, double и другие, в зависимости от значений.

Имя OnCreate — это имя переопределенного метода из родительского класса Activity. Чтобы показать системе исполнения, что вызывается именно то, что надо, в тело добавляется ключевое слово super с вызовом OnCreate.

Следующая строка представляет не меньший интерес. Метод setContentView() «прикручивает» к классу MainActivity.java файл разметки, говоря ему, как должен выглядеть экран данной Activity.

Отображение

За то, какие элементы буду расположены на экране, отвечают файлы разметки. Они содержат строки с параметрами, в которых указаны константные или переменные значения. Данный язык разметки выполнен по спецификации XML. Таким образом формат объявления параметра строго стандартизирован.

Чтобы правильно создать приложение для «Андроид», нужно немного разобраться в разметке. Android Studio любезно сама сгенерировала простой файл.

Элементы экрана

Корневой контейнер разметки в данном случае — RelativeLayout говорит о том, что все элементы внутри него будут размещаться относительно. Он содержит два параметра — andro . Первый обозначает ширину контейнера RelativeLayout, а второй — его высоту. Константа match_parent говорит о том, что оба показателя должны соответствовать родителю, а стало быть, элемент развернётся во весь экран.

Далее в RelativeLayout вложен TextView, который представляет собой не что иное, как обычную надпись.

В нем имеются знакомые параметры layout_width и layout_height, атрибут которых равен wrap_content, что значит — вокруг содержимого. То есть размеры элемента будут подстроены под объем текста.

Следующие два параметра означают выравнивание текста внутри элемента.

Параметр padding берет цифровое значение для создания отступа в надписи из папки с ресурсами value.

Самый главный параметр для надписи — строка с текстом. Ее можно вписать прямо в атрибут, но это называется хардкод и считается недопустимым, так как может сильно затруднить локализацию приложения. Стоит обратить внимание на то, что данные, которые нужно отобразить, а именно текстовая строка, также берётся из файла strings.xml, что в папке values.


Первый запуск

Штатный эмулятор устройства «Андроид» требует просто сверхъестественной производительности. Можно запустить приложение на нем, или скачать и установить альтернативный аналог, именуемый Genymotion.

Запуск приложения осуществляется путем нажатия зелёной кнопки Run, на панели управления Android Studio. Если никаких ошибок при сборке проекта не будет обнаружено, то приложение запустится и поприветствует мир.

Выводы

Вот теперь стало понятно, как создать мобильное приложение.

Программировать для «Андроид» немного проще, чем под iOS. Цена аккаунта разработчика ниже, чем у Apple. Весь необходимый софт бесплатен, и работает на многих платформах. Перед тем как создать приложение для iOS, так же, как и в «Андроид», требуется освоить язык программирования. Платформа набирает обороты, выпускаются новые версии, так что разработка приложений для мобильных становится все актуальнее.

На чём пишут приложения для Andro />

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

С каждым языком и фреймворком связаны свои сложности и нюансы, достоинства и недостатки. Рассмотрим основные языки для написания .

Официальный язык программирования, поддерживаемый средой разработки Android Studio. По данным ежегодного опроса ресурса Stackoverflow, в 2020 году Java вошёл в пятёрку самых популярных языков программирования. Большая часть приложений для Android, созданных в компании Лайв Тайпинг до 2020 года, написаны на Java.

Сделать первый шаг к освоению Java — это установить Android Studio. Это тип программного обеспечения под названием IDE — Integrated Development Environment, или встроенная среда разработки. В комплекте с Android Studio идёт Android SDK — набор инструментов для разработки под Android и всё, что нужно для надёжного старта.

На Java ссылается большинство официальной документации Google, а найти платные и бесплатные библиотеки и руководства не составит труда — их великое множество.

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

При разработке на Java под Android используются не только , содержащие код, но также файлы манифеста на языке XML, предоставляющие системе основную информацию о программе, и системы автоматической сборки Gradle, Maven или Ant, команды в которых пишутся на языках Groovy, POM и XML соответственно; по умолчанию в проектах используется Gradle, а на начальных этапах обучения разработке на Java править файлы, написанные на Groovy, практически не придётся. Для вёрстки обычно также используется язык XML.

Android Studio, в декабре 2014 года признанная Google официальной средой разработки под ОС Android, совершенствуется год от года, чем облегчает жизнь . Такие её возможности, как визуальный и автодополнение кода, помогают сделать процесс разработки более комфортным.

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

Kotlin

Язык был официально представлен в мае 2020 года на Google I/O. Уже в 2020 году Google признали его предпочтительным для , отодвинув Java на второй план. Это в том числе значит, что создание новых стандартных инструментов (библиотек, функций Android Studio) будет в первую очередь нацелено на Kotlin.

С 2020 года Лайв Тайпинг пишут исключительно на Kotlin. Такие проекты, как Кинологик, Лояка, LIME, Юрист в Кармане, Kaspersky Security Pulse, Superbro и Мой Доктор написаны на этом языке, а Sephora и ИЛЬ ДЕ БОТЭ постепенно переводятся на него.

Kotlin включил в себя лучшее из современных языков программирования, таких как Java, Scala, TypeScript. Среди основных преимуществ — автоматическое выявление типов данных, поддержка функциональной парадигмы, . В то же время язык получил защиту от ряда масштабных проблем, например, «ошибки на миллиард», или NullPointerException. Всё это объясняет его популярность — по данным опроса StackOverflow 2020 года Kotlin вошёл в пятёрку самых любимых сообществом языков.

Основой для Kotlin является Java, поэтому переход для бывалых разработчиков облегчён. Если же Java вам незнакома, советуем сначала поработать с ней. Крупные проекты с большим количеством legacy кода, скорее всего, написаны на Java. То есть в коммерческой разработке могут возникнуть задачи, где знание Java будет обязательно.

Более низкоуровневые языки, которые также поддерживаются Android Studio с использованием Java NDK. Это позволяет писать нативные приложения, что может пригодиться для создания игр или других ресурсоёмких программ. Android Studio предлагает поддержку C/ через Android NDK (Native Development Kit). Это значит, что код будет запускаться не через Java Virtual Machine, а непосредственно через девайс, что даст вам больше контроля над такими элементами системы, как память, сенсоры, жесты , а также возможность выжать из максимум ресурсов. Это также означает, что пользоваться вам придётся библиотеками, написанными на C или .

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

Python

Тот факт, что Android не поддерживает использование Python для создания нативных приложений, ещё не означает, что это невозможно. Любители этого языка разработали множество инструментов, позволяющих скомпилировать код на Python в требуемое состояние, а наличие различных библиотек позволит строить даже нативные интерфейсы с соблюдением гайдлайнов Material Design. Самым популярным фреймворком является Kivy, который позволит вам создать приложение для Play Market на чистом Python.

BASIC

Благодаря своей простоте и дружелюбности BASIC является оптимальной точкой входа для начинающих программистов.

Плохая новость: он не поддерживается Android Studio и не подходит для сред Unity и Xamarin. Хорошая новость: для BASIC есть специальная среда разработки B4A, в которой можно создавать . B4A воплощает концепцию визуального прототипирования RAD, которая подразумевает быстроту и удобство программирования. Здесь много удобных мелких дизайнерских решений, а отзывчивое сообщество поможет с любой проблемой.

Свой минус вносит и то, что ресурсоёмкие игры на BASIC не создать и на поддержку от Google в силу неофициального статуса ПО рассчитывать не стоит. Это значит, что приложения не будут соответствовать Material Design, а вы со знанием одного лишь BASIC не можете расцениваться как профессиональный разработчик. И среди всего списка языков и сред в этой статье, этот — единственный платный.

Lua (с использованием Corona SDK)

Баланс между простотой изучения и чувством контроля со стороны разработчика. На языке Lua основан кроссплатформенный графический движок Corona. LUA значительно проще Java, а Corona SDK сделает работу с этим языком лёгкой и приятной. Он поддерживает все нативные библиотеки, позволяя тем самым писать под множество платформ.

Чтобы писать код, вам понадобится Notepad++, а чтобы его запустить без предварительной компиляции, нужен эмулятор. Если APK собран и программа готова к развёртыванию, то запустить приложение можно через . С базовыми навыками программирования осилить через Corona можно без особых трудностей.

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

PhoneGap

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

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

Основными причинами использовать PhoneGap для разработки приложений в компании Live Typing были:

  • сокращение сроков и стоимости разработки приложения для нескольких платформ сразу (приложение для получения абонемента в спортивные заведения города Classboom);
  • возможность использовать уже имеющийся сайт клиента и его фрагменты (приложение для оплаты услуг и ВсеПлатежи).

Заключение

В целом, приложения под Android можно создать практически на любом популярном языке — фреймворки и утилиты найдутся под всё. Однако если вы хотите стать профессиональным , использовать все возможности операционной системы и иметь доступ к самым новым функциям Android, то вашими верными спутниками станут Java или Kotlin. Даже если эти языки вам не знакомы и кажутся сложными, их стоит изучить, чтобы писать разнообразные, красивые и функциональные приложения для операционной системы Android.

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

Приложения для разработки приложений: как сделать приложение для iOS и Andro >

Время чтения: 22 минуты Нет времени читать? Нет времени?

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

Гарантируем продажи и рост бизнеса в любой нише. Беремся за задачи любой сложности. Performance-маркетинг от TexTerra – продвижение бизнеса с оплатой за лиды.

Стоит ли делать свое мобильное приложение

Стоит. Если не верите на слово, вот несколько фактов:

  • По данным Flurry Analytics и comScore, владельцы смартфонов и планшетов пользуются браузером только 14 % от общего времени работы с девайсом. А 86 % времени они тратят на разные приложения.
  • Установленное приложение — ваш прямой канал связи с потребителем. Только подумайте: вам не нужно тратить деньги на рекламу или ждать, когда человек найдет вас с помощью «Яндекса». Остается поддерживать нужную пользователю функциональность и предоставлять ему релевантный контент.
  • Число покупок, сделанных с помощью планшетов и смартфонов, растет как в интернете в целом, так и в рунете. По информации маркетингового агентства Criteo, уже в 2020 году более половины онлайн-транзакций в рунете будут совершаться с помощью мобильных девайсов.


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

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

Когда можно создать приложение самостоятельно

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

Вы помните, когда бизнесу можно самостоятельно сделать сайт? Правильно, когда денег на сотрудничество с профессионалами еще нет, а время и желание разобраться с WordPress или «Джумлой» есть. Такая же ситуация с приложениями. Созданные самостоятельно программы для iOS и Android можно условно сравнить с сайтами на «движках» с открытым кодом.

Речь вот о чем: вы можете открыть интернет-магазин, классный портал, или корпоративный сайт на 1С-Битрикс или на «самописном движке». Эту же задачу можно решить с помощью Drupal, Joomla! или OpenCart. С приложениями так же: можно заплатить большие деньги топовым разработчикам, а можно удовлетворить потребности аудитории с помощью онлайн-конструкторов.

Попробуйте сделать приложение самостоятельно, если:

  • Вы делаете первые шаги в бизнесе и придерживаетесь принципов бутстрэппинга. Аудитория простит несущественные недоработки начинающему предпринимателю, но заклюет из-за них крупное предприятие. Поэтому не делайте приложение самостоятельно, если владеете бизнесом масштабов «Евросети».
  • Вашим клиентам необходима программа для смартфонов и планшетов с очень простой функциональностью. Например, можно обойтись без разработчиков, если вы хотите конвертировать сайт в приложение.
  • Вас и вашу аудиторию устраивает шаблонный дизайн приложения. Этот пункт можно сформулировать так: если контент и функциональность программы на высоте, мало кто будет обращать внимание на дизайн.
  • Успешный или неудачный запуск приложения не окажет немедленного и существенного влияния на бизнес. Например, если большую часть клиентов вы привлекаете и обслуживаете в офлайне, а приложение разрабатываете на перспективу, пространство для экспериментов есть.
  • Вам уже вчера необходимо приложение. Здесь придется выбрать один из двух вариантов: заплатить разработчикам за уже готовый типовой код или воспользоваться конструктором.
  • Вы не хотите зависеть от разработчиков. Если вы опасаетесь, что студия будет брать с вас слишком много за поддержку и обновления программы, используйте готовые решения. Только помните, что их тоже нужно поддерживать в актуальном состоянии.

Решили делать программу самостоятельно? Двигайтесь дальше.

Создаем приложение своими руками: что нужно знать

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

Что такое мобильное приложение

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

Пользователи смартфонов и планшетов загружают приложения с сайтов разработчиков или из магазинов. Самые известные магазины — Google Play и App Store. Аудитория считает приложения из магазинов безопасными, так как модераторы проверяют программы перед публикацией.

Как конвертировать теоретические знания об анатомии мобильных приложений в практические действия? При выборе конструктора обратите внимание на две позиции. Первая: сервис должен обеспечивать хостинг приложения. Вторая: выбранный ресурс должен обеспечить возможность управления приложением и его публикацию в Google Play, App Store и других популярных магазинах.

Как определить необходимую функциональность приложения

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

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

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

  • В приложении должна быть удобная навигация. Клиент должен иметь возможность искать продукты по категориям, заданным параметрам, производителям.
  • Программа должна иметь удобный блок оформления покупок: корзину, систему оплаты, отслеживание статуса заказа.
  • В приложении нужен личный кабинет. В нем будут разделы «История покупок», «Желания», «Избранное».
  • С помощью push-уведомлений клиент будет получать сообщения о новых поступлениях товаров и акциях.
  • В разделе «Информация» пользователь сможет прочитать новости и обзоры.

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

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

Обзор сервисов и приложений для создания мобильных приложений для Android и iOS

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

Сервис MobiCart

Сервис MobiCart предназначен для создания ecommerce-приложений. Вы можете сделать программу, которая заменит сайт интернет-магазина для мобильных пользователей. Также вы сможете сделать полноценный мобильный интернет-магазин, если у вас нет сайта.

MobiCart поддерживает русский язык. В конструкторе реализована оплата через PayPal. Также есть опция наличного расчета после получения товаров. Сервис платный, но начинающие предприниматели могут воспользоваться бесплатным тарифом с ограниченной функциональностью. Главное ограничение — вы можете добавить на витрину не более 10 товаров.

После регистрации вы попадете в личный кабинет пользователя. Чтобы создать приложение, выберите опцию Create Application.

Загрузите логотип магазина с помощью функции Upload logo. Выберите и сохраните цвет оформления приложения.

Выберите вкладки, которые будут отображаться на экране приложения. Также отметьте страницы, которые планируете создать. Сохраните настройки.

Перейдите в раздел настроек магазина. Для этого выберите раздел Store Settings. На вкладке Store укажите название магазина, электронный адрес администратора. С помощью выпадающего меню выберите валюту. Если хотите использовать в приложении Google Карты, зарегистрируйте ключ API и укажите его в соответствующем поле.

При необходимости активируйте опцию бесплатной доставки и отметьте ее условия. В поле Cash On Delivery укажите величину надбавки при выборе клиентом наложенного платежа. Вы должны указать десятичную дробь. Например, величина Cash On Delivery 1,07 значит, что при наложенном платеже стоимость товара увеличивается на 7 %.

На вкладке Shipping с помощью выпадающего меню выберите страну и регион доставки. Укажите стоимость доставки одного или нескольких товаров. Обратите внимание, стоимость доставки для каждого региона придется указывать вручную.

На вкладке Tax отметьте флажком опцию Prices to include tax. В отличие от международных, отечественные ритейлеры всегда указывают цену с НДС.

На вкладке Payments Gateway укажите данные платежных систем, через которые вы принимаете платежи. Обязательно включите опцию наложенного платежа, так как MobiCart не поддерживает популярные в РФ платежные системы, например, «Яндекс.Деньги».

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

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

В разделе App Vital укажите название приложение, выберите страну или страны, жители которых смогут пользоваться программой.

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

В разделе Home Gallery добавьте фото, которое будет отображаться на главном экране приложения. В разделе Store Builder добавьте информацию о продуктах. Выберите подходящий способ:


  • Добавьте информацию о категориях товаров и продуктах вручную с помощью формы в личном кабинете.
  • Загрузите сведения о продуктах с помощью файла в формате CSV.

Чтобы добавить информацию о разделах и продуктах вручную, воспользуйтесь вкладками Departments и Products.

Чтобы добавить продукт, выберите соответствующую вкладку. Нажмите кнопку Add Product. На открывшейся странице с помощью редактора добавьте информацию о продукте. Сохраните изменения.

В разделе More Pages отредактируйте информацию, которая будет отображаться на страницах приложения.

В разделе Push Notification можно создавать push-уведомления. Введите название и текст сообщения. Выберите варианты доставки уведомления. Вы можете отправить его всем клиентам, пользователям, находящимся на определенном расстоянии от вашего офиса, а также людям, находящимся в определенном регионе. Местоположение пользователей определяется по ZIP-коду или почтовому индексу. Чтобы отправить уведомление, нажмите кнопку Send Notification.

В разделе News Tab вы можете подключить RSS-ленты и аккаунты в Twitter, публикации которых будут отображаться на вкладке News в приложении. Укажите на вкладке Feeds в соответствующих полях URL RSS-ленты и имя пользователя в «Твиттере» и сохраните изменения.

На вкладке News вы можете создавать заметки самостоятельно. Для этого введите название и текст сообщения, загрузите изображение и нажмите кнопку Publish News.

Чтобы создать установочный файл приложения, вернитесь в раздел Create Application – Submit Apps. Нажмите кнопку Continue. Примите лицензионное соглашение и подождите, пока система создаст приложение.

Если вы выбрали платный тариф, после создания установочного файла менеджеры MobiCart опубликуют ваше приложение в App Store и Google Play. Если вы выбрали бесплатный тариф, приложение придется опубликовать самостоятельно. Инструкции по регистрации аккаунта разработчика в Google Play и публикации приложения вы получите на почту.

Убедитесь, что программа работает. Установите ее на мобильное устройство и проверьте содержание страниц. Попробуйте оформить заказ.

Проверьте, как отображаются новости. Для этого выберите вкладку News.

В личном кабинете MobiCart в разделе Manage Content вы можете в любой момент отредактировать контент страниц, добавить или удалить товары, создать новостную заметку или отправить пользователям push-уведомление. Изменения отображаются в приложении мгновенно.

Обратите внимание на вкладку My Dashboard. Здесь отображаются данные о заказах, просмотрах товаров, запасах на складе и купленных товарах.

7 бесплатных конструкторов аналогичных MobiCart

Вы создали рабочее мобильное приложение для интернет-магазина с помощью онлайн-конструктора MobiCart. Если по каким-то причинам сервис вас не устраивает, воспользуйтесь аналогичными специализированными инструментами:

  • Create My Free App. С помощью конструктора можно бесплатно написать приложение для интернет-магазина или кафе.
  • MobiCommerce. Используйте этот конструктор, если ваш магазин работает на CMS Magento или PrestaShop. Стоимость использования составляет 699 USD в год. Есть бесплатный тарифный план с ограниченной функциональностью.
  • Appy Pie. Конструктор создает приложения, совместимые с платформами PrestaShop, WooCommerce, Shopify и другими. Инструмент платный. Есть бесплатный тарифный план, предполагающий демонстрацию рекламы в созданном приложении.
  • iBuildApp. Огромный плюс этого конструктора — русскоязычный интерфейс кабинета. Стоимость использования составляет от 2700 рублей в месяц.
  • Apptuse. Конструктор создает приложения для iOS и Android, совместимые с 3Dcart, CS-Cart, Drupal Commerce, Magento, PrestaShop и другими популярными ecommerce-платформами. Также приложения интегрируются с Google Analytics. Сервис платный.
  • Elite mCommerce. Еще один конструктор, с помощью которого можно создать приложения для интернет-магазинов на PrestaShop и Magento. Инструмент платный.
  • BiznessApps. Конструктор для создания приложений разных типов для Android и iOS. Платный инструмент. В течение 30 дней вы можете отказаться от использования конструктора и получить потраченные средства назад.

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

Приложение AppsGeyser

Зачем создавать приложение для информационного ресурса, если вы используете адаптивную верстку или мобильную версию сайта? Вот несколько причин:

  • Если пользователь один раз посетил ваш мобильный или «резиновый» сайт, это не значит, что он сделает это еще раз. Если пользователь установил приложение, он знает и ценит публикуемую вами информацию. Клиент собирается регулярно получать ее с помощью специальной программы.
  • Приложение — это дополнительный канал продвижения проекта.
  • Программа для смартфонов и планшетов может стать дополнительным инструментом монетизации информационного проекта.

Этого достаточно? Тогда создайте приложение в AppsGeyser.

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

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

  • Manual. Этот шаблон позволяет сделать программу-гайд.
  • Blog. Приложение поможет аудитории вашего блога читать новые заметки с экрана смартфона или планшета.
  • Website. Шаблон конвертирует в приложение сайт.
  • Pages. С помощью этого шаблона можно сконвертировать в приложение с простой функциональностью любой контент.
  • News. Шаблон позволяет создать приложение агрегатор отраслевых или региональных новостей.
  • Page. Шаблон конвертирует в приложение офлайн-контент, например, электронную книгу.
  • VK Page и Facebook Page. Создайте приложение, позволяющее следить за обновлениями открытых групп во «Вконтакте» и в Facebook.
  • YouTube. Используйте шаблон для продвижения своего канала на YouTube.

Как создать приложение для блога

Воспользуйтесь шаблоном Blog. В соответствующем поле укажите URL блога или RSS-канала. Выберите цвет заголовка заметок.

Укажите название приложения.

Выберите стандартную или добавьте произвольную иконку. Подходящий размер изображения — 512 на 512 пикселей.

Для создания загрузочного файла нажмите кнопку Create App. После этого необходимо зарегистрироваться в системе. Подтвердите регистрацию и перейдите в личный кабинет. Здесь вы можете установить приложение на свое мобильное устройство, опубликовать его в Google Play и Amazon App Store. Также система предлагает опцию монетизации. Если вы воспользуетесь этой функцией, в приложении будет отображаться реклама.

Проверьте, как работает приложение на вашем мобильном устройстве. На планшете программа должна отображать список публикаций в блоге в формате заголовка и анонса.

После нажатия на ссылку Open in browser приложение открывает выбранную публикацию в браузере.

В личном кабинете AppsGeyser вы можете следить за количеством установок, создавать push-уведомления, опубликовать приложение в магазинах, монетизировать программу с помощью рекламы, а также отредактировать приложение.

Хотите больше приложений? Тогда создайте приложение-гайд с помощью шаблона Manual.

Создание приложения-гайда с помощью шаблона Manual

Представьте, что хотите оформить в виде приложения руководство по ньюсджекингу.

Откройте шаблон и настройте внешний вид приложения. Выберите способ отображения контента: по одному шагу на экране или список шагов.

С помощью редактора добавьте текст, изображения, видео или ссылки. Чтобы добавить в программу фото, загрузите его на хостинг Imgur и вставьте ссылку в соответствующее поле.

После редактирования контента укажите название приложения, добавьте описание и иконку. Нажмите кнопку Create App. После создания загрузочного файла установите его на мобильное устройство и проверьте работоспособность.

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

Чтобы решить эту проблему, опубликуйте приложение в App Store, Google Play или в других популярных магазинах. Чтобы опубликовать приложение в Google Play, воспользуйтесь пошаговой инструкцией в личном кабинете Apps Geyser, которая находится на вкладке Publish. Также вам может помочь инструкция для разработчиков от Google.

8 конструкторов аналогичных AppsGeyser

Если универсальный конструктор AppsGeyser вам не подошел, обратите внимание на аналогичные сервисы:

  • AppsMakerStore. С помощью сервиса можно создавать приложения разных типов: от программ для Ecommerce до решений для контент-проектов. Конструктор делает приложения для iOS и Android. Интерфейс сервиса русифицирован. Для новичков есть информативное руководство по использованию конструктора. Сервис платный.
  • Mobincube. Инструмент для создания и монетизации iOS и Android-приложений. Базовая функциональность сервиса доступна бесплатно. Конструктор позволяет сделать приложения разных типов.
  • Monomobi. Платный инструмент для создания универсальных приложений. Интерфейс конструктора русифицирован. Есть бесплатный период использования сервиса.
  • Appsbar. Бесплатный сервис для создания приложений. Вы можете создавать программы для Android и iOS с простой функциональностью.
  • Buildfire. Условно-бесплатный сервис, с помощью которого можно создать приложения разного типа. Для использования конструктора оплата не требуется. А вот если вы захотите опубликовать приложение в магазинах, придется подписаться на платный тариф.
  • AppYet. Бесплатный конструктор Android-приложений. Вы можете публиковать созданные программы в Google Play и монетизировать с помощью рекламы.
  • Appery. Платный конструктор для создания универсальных приложений. Вы можете оценить его функциональность, воспользовавшись бесплатным тестовым периодом доступа.
  • Good Barber. С помощью этого сервиса можно разрабатывать Android- и iOS-приложения. Конструктор платный, стоимость использования составляет 16 USD в месяц.

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

Конструкторы приложений: каменный топор или тонкий современный инструмент?

Не бросайтесь из крайности в крайность. С помощью предложенных сервисов действительно можно создавать работоспособные функциональные приложения. Полученные программы можно использовать для решения разных задач: от обеспечения онлайн-торговли до распространения контента и обучения аудитории. Созданные в конструкторе приложения можно опубликовать в Google Play и App Store, редактировать, монетизировать с помощью рекламы или платных установок.


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

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

Разработка под Andro >

С чего начать?

Каким образом проходит процесс разработки под Android? Выделим несколько основ:

  • В Java файлах вы описываете логику программы — то, что вы хотите, чтобы ваше приложение выполняло.
  • В XML файлах вы разрабатываете макеты — внешний вид.
  • Как только приложение будет написано, нужно использовать инструмент сборки для того, чтобы скомпилировать все файлы и упаковать их вместе в .apk файл, который можно запускать на устройствах Android и/или опубликовать в Google Play.
  • Все утилиты и файлы, которые используются для создания приложения под Android, объединены в интегрированную среду разработки (IDE). IDE — это программа, которую вы откроете для редактирования ваших файлов кода, а также компиляции и запуска.
  • Ранее стандартной IDE для разработки под Android была Eclipse, но сейчас ее заменила более функциональная Android Studio — продукт компании Google.

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

Но пока, давайте двигаться дальше. Вот что мы разберем в рамках данной статьи:

  • Загрузим и установим Android Studio.
  • Узнаем про запуск и тестирование приложений на устройствах и эмуляторах Android.
  • Создадим простое приложение на Android, которое выводит надпись «Hello World» на экран мобильного устройства.

В конце статьи вы можете ознакомиться с полезными рекомендациями начинающим разработчикам от компании.

Установка среды разработки Android Studio

Начать читать документацию и писать код что бы узнать на что способна платформа — это действительно заманчиво. И мы скоро это сделаем! Однако, для начала работы с платформой Android необходимо настроить среду разработки.

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

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

Наряду с тренировками в синтаксисе, важно обучить себя мышлению успешного программиста, которое не будет принимать сообщение об ошибке file X not found окончательным приговором. Такое мышление легко тренируется вами в случаях, если вы не сдаетесь и ищите решение возникшей проблемы.

Перейдите на страницу Android Studio developer.android.com/studio/index.html и найдите кнопку для загрузки последней версии для своей платформы.

Кликните по кнопке загрузки и вас попросят ознакомиться с правилами и условиями использования программного продукта. После внимательного прочтения (как вы всегда это делаете) и принятия, начинается загрузка. Вероятно, это займет несколько минут. После этого вы можете установить Android Studio аналогично любой другой программе. На начальной странице загрузки содержатся инструкции по установке под Mac и Windows.

Теперь, когда вы установили Android Studio, давайте запустим его! Запустите Android Studio. Программа спросит, хотите ли вы импортировать свои настройки. Поскольку вы начинаете с нуля, просто выберите второй пункт и продолжайте.

Вы должны увидеть красивый загрузочный экран в стиле Material Design.

По окончанию загрузки, вы попадете на экран приветствия.

Даже в том случае, если вы только что загрузили Android Studio, у вас может быть не самая последняя версия. Чтобы избежать проблем с версиями в дальнейшем, нажмите кнопку «Check for updates now» и, если необходимо, выполнить все инструкции для получения последней версии. Иногда Studio автоматически информирует вас о том, что есть обновление с помощью экрана, подобного этому:

В этом случае всегда выбирайте Update and Restart. Отлично! Мы успешно справились с установкой среды для разработки.

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

Пришло время создать первый проект. Начнем с простого. У программистов принято называть первую программу «Hello World». Давайте следовать этой традиции, а затем сделаем несколько небольших изменений, чтобы приложение использовало ваше имя для приветствия. В конце вы сможете загрузить его на устройство и показать своим знакомым. Android Studio имеет небольшой пошаговый инструмент, который поможет вам создать свой проект. Нажмите «New Project» на стартовом экране:

Далее вы должны увидеть окно, подобное следующему:

Заполните его подобным образом. Не стесняйтесь заменить «example» в имени пакета на что-то еще, чтобы удалить предупреждение внизу экрана. Вы также можете установить местоположение проекта, указав любую папку на жестком диске

Для раскрывающихся версий SDK обратите внимание на раздел «Описание» в нижней части диалогового окна. В нем объясняется, для чего предназначена каждая настройка.

Установите минимальный требуемый SDK, как показано на снимке экрана. Это устанавливает минимальную версию Android, необходимую для запуска приложения. Выбор этого значения для ваших собственных проектов — это вопрос балансировки возможностей SDK, которые вы хотите, и устройств, которые будут поддерживаться.

Для первого приложения я рекомендую использовать версию API 14, которая является Android 4.0 Ice Cream Sandwich. Каждое приложение будет иметь разные требования, и вы можете выбрать что-то другое, в зависимости от ситуации.

Для получения дополнительной информации о версиях API и их использовании, на сайте для разработчиков под Android существует специальная страничка Dashboards https://developer.android.com/about/dashboards/index.html.

После выбора версии, открывается экран выбора стартового шаблона. Вы можете создать приложение, которое уже взаимодействует с api google maps и отображает карту. В нашем тестовом примере выбираем Empty Activity и нажимаем кнопку «Next».

И сейчас вы находитесь на последнем шаге процесса создания приложения. Прежде чем нажать «Finish», обратите внимание на некоторые вещи. Тут вы впервые сталкиваетесь с упоминаниями о главных архитектурных компонентах любого приложения.

  • Activity Name — это первое, но не последнее упоминание слова Activity. В контексте Android, Activity обычно рассматривается как «экран» в вашем приложении. Этот элемент очень гибкий. Когда Android Studio создает класс MainActivity, он наследует его от класса Activity из пакета Android SDK. Те, кто знаком с объектно-ориентированным программированием, понимают эту концепцию, но для новичков, это, в основном, означает, что ваша MainActivity будет настраиваемой версией Activity.
  • Layout Name — макет того, что будет показано пользователю, определен в специальном виде Android XML. Вы скоро научитесь читать и редактировать эти файлы.

Нажимаем Finish. Некоторое время займет создание и загрузка проекта. Через некоторое время Android Studio завершит билд вашего проекта. Конечно, проект пока пуст, но в нем есть все необходимое для запуска на Android-устройстве или эмуляторе.

После загрузки проекта вы просматриваете файл макета в формате XML. Прежде чем перейти к программированию под Android, давайте поговорим о том, каким образом мы можем запустить это приложение. Пришло время сказать «Hello world!».

Запуск приложения на эмуляторе

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

Эту возможность предоставляет Android Virtual Device (AVD) Manager. По желанию вы можете настроить несколько эмуляторов, установить размер экрана и версию платформы для каждого нового эмулятора. Этот функционал очень полезен, поскольку избавляет разработчиков от необходимости покупать несколько устройств для тестирования программ.

Нажмите на кнопку Run в виде зеленой стрелки.

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

Мои поздравления! Вы сделали свое первое приложение для Android!

И так… Почему и как это сработало?

Чтобы начать делать изменения и добавлять интересные функции, необходимо получить рабочее знание о том, что происходит за кулисами. Взгляните на раздел проекта Android Studio с файлами и папками в левой части экрана. Возможно, вам понадобится нажать маленькую вкладку на краю (см. Ниже), если на данный момент проводник проекта не отображается.

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


Структура Android проекта: Команда

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

Java: Профессионал

Это часть вашего кода, которая отвечает за логику приложения. Ваш код будет находиться в каталоге src\main\java в основной папке проекта. Для изучения Java можно посоветовать книгу Брюса Эккеля «Философия Java»;

Resources: Артист

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

При инициализации, папка содержит следующие папки:

  • drawable, в которой хранятся иконки. Сейчас там лежит только стандартная иконка приложения.
  • layout с XML файлами, которые представляют собой дизайны экранов.
  • menu c XML файлами списков элементов, которые будут отображаться в панели действий.
  • values с XML файлами, содержащими размеры, цвета, строковые константы и стили.

AndroidManifest.xml: Босс

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

Внесение изменений

Перейдите к res/values/strings.xml и дважды щелкните файл. Когда вы откроете файл, вы увидите два строковых ресурса в XML.

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

Измените строку hello_world, которую приложение отображает на экране. Измените ее содержимое на нечто более личное, например используйте ваше собственное имя. Получится что-то вроде:

Matt is learning Android!

Нажмите Run. Приложение должно перезапуститься и вы увидите персональное сообщение:

Мы поздравляем вас — вы сделали первый проект и научились редактировать исходный код. Первый шаг в Android программировании сделан. Желаем удачи на этом непростом, но безумно интересном пути! Если вам нужна профессиональная разработка приложения для Android, обращайтесь к специалистам Infoshell.

Как добавить In-app Billing в приложение

Рано или поздно наступает момент, когда разработчику нужно задуматься о том, как монетизировать своё приложение, чтобы оно приносило доход. Есть различные бизнес-модели, с помощью которых можно этого достичь, однако наиболее популярной является использование рекламы в приложении. Одним из плюсов использования рекламы является то, что она хорошо сочетается с другой бизнес-моделью — покупками внутри приложения. Например, пользователь может заплатить некоторую сумму денег для того, чтобы отключить показ рекламы в приложении.

В этой статье мы рассмотрим, как можно реализовать встроенные покупки на примере своего приложения Менеджер паролей от Wi-Fi сетей.

Возможность покупок в приложениях реализована благодаря In-app Billing. In-app Billing — это сервис Google Play, который позволяет продавать цифровой контент внутри приложений. Этот сервис можно использовать для продажи широкого спектра контента, включая загружаемый контент, такой как мультимедийные файлы и фотографии, виртуальный контент, такой как уровни игры или различные вспомогательные предметы, премиальные услуги и многое другое.

Встроенные покупки можно подключить для любого приложения, опубликованного в Google Play. Ничего особенного для этого не требуется, только аккаунт разработчика Google Play Console и аккаунт продавца Google Wallet. Android SDK также содержит пример приложения с реализованными встроенными покупками.

Как работают встроенные покупки?

Ваше приложение обращается к сервису In-app Billing с помощью API, который предоставляется приложением Google Play, установленным на устройстве. Затем Google Play передает платежные запросы и ответы на запросы между вашим приложением и сервером Google Play. Таким образом, ваше приложение никогда напрямую не связывается с сервером Google Play. Вместо этого ваше приложение отправляет запросы в приложение Google Play через межпроцессную связь (IPC) и получает от него ответы, нет необходимости поддерживать какие-либо соединения между вашим приложением и сервером Google Play.

In-app Billing поддерживает широкую совместимость, он работает на устройствах под управлением Android 2.2 (API 8) или выше, на которых установлена последняя версия приложения Google Play.

API In-app Billing предоставляет следующие возможности:

  • Ваше приложение отправляет запросы с помощью модернизированного API, который позволяет пользователям легко запрашивать информацию о продукте из Google Play и заказывать продукты в приложении. API быстро восстанавливает продукты на основе прав пользователя.
  • API синхронно передает информацию о заказе на устройство при завершении покупки.
  • Все покупки регулируемы, т.е. Google Play отслеживает права пользователя на продукты. Пользователь не может владеть несколькими экземплярами одного продукта в приложении; только один экземпляр может принадлежать пользователю в любой момент времени.
  • Приобретённые продукты могут быть использованы. В таком случае они возвращаются в бесхозное состояние и могут быть куплены снова.
  • API обеспечивает поддержку подписки.

Интеграция In-app Billing в приложение

Есть разные способы, как встроить в своё приложение In-app Billing: можно это делать как вручную, так и используя сторонние библиотеки. Одной из таких библиотек является Checkout, которая уже содержит в себе готовую к применению реализацию сервиса. Ею и воспользуемся.

Checkout — это реализация In-app Billing API. Большим плюсом здесь является, что с помощью этой библиотеки можно сделать интеграцию встроенных покупок в приложение намного проще, чем если бы это делалось вручную с нуля.

Checkout решает общие проблемы, с которыми могут столкнуться разработчики при работе с покупками, например:

  • Как отменить все запросы, когда активность уничтожена?
  • Как запросить информацию о покупках в фоновом потоке?
  • Как проверить покупку?
  • Как загрузить все покупки с использованием данных continuationToken или SKU (уникальный идентификатор продукта)?
  • Как добавить покупки с минимумом шаблонного кода?

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

Перед началом работы библиотеку нужно добавить в проект. Для этого в файле build.gradle модуля приложения добавить зависимость в блок dependencies.

Для работы с покупками требуется специальное разрешение com.android.vending.BILLING, которое будет добавлено в AndroidManifest.xml автоматически с помощью Gradle. Вы также можете добавить его вручную, добавив в файл манифеста следующую строчку перед элементом :

Создадим экземпляр класса Billing в Application, откуда затем будем брать его при необходимости. Если у вас нет класса Application в проекте, вы можете легко создать его. Для этого нужно добавить в файле Andro , например:

После этого нужно поставить курсор на имя класса, нажать Alt + Enter и выбрать опцию «Create class», после чего Android Studio создаст его.

В этом классе нам нужно добавить следующий код:

BASE64_PUBLIC_KEY это ключ, который используется для установления безопасного подключения между вашим приложением и сервером Google Play. Получить этот ключ вы можете в Google Play Console, перейдя в раздел «Инструменты разработки»«Службы и API». Там в «Лицензирование и продажа контента» вы увидите сгенерированный для вашего приложения ключ, который нужно будет добавить в приложение, например, объявить как строковую константу в классе Application.

Класс Billing это основной класс для работы с библиотекой, он отвечает за:

  • подключение и отключение услуг биллинга;
  • выполнение платежных запросов;
  • кеширование результатов запросов;
  • создание объектов Checkout;
  • логирование;

Для того, чтобы избежать множественных подключений к службе In-app Billing, следует использовать только один экземпляр класса Billing, именно по этой причине мы и создаём его в классе Application.

Теперь в классе активности при её создании инициализируем экземпляр класса ActivityCheckout, который наследует от базового класса Checkout.

Класс Checkout это средний уровень библиотеки, он использует класс Billing в определённом контексте (в Application, активности или сервисе), проверяет, поддерживаются ли покупки на устройстве и выполняет запросы. ActivityCheckout это подкласс, который способен покупать различные предметы, для создания его экземпляра нужно вызвать метод Checkout.forActivity() и передать в параметры активность и экземпляр Billing.

Метод start() запускает созданный экземпляр и отправляет запрос, который проверяет, поддерживается ли биллинг на этом устройстве.

Метод createPurchaseFlow() создаёт постоянный поток для покупок со слушателем, который будет получать обновления данных о покупках. Код слушателя выглядит следующим образом:

Класс PurchaseListener наследует от EmptyRequestLisneter

, который имеет методы onSuccess() и onError(). В данном случае, если пользователь купит отключение рекламы или сделает пожертвование, то слушатель получит данные о покупке и выполнит нужные операции.

Теперь нужно создать экземпляр класса Invertory.

Класс Invertory загружает данные о продуктах, SKU и покупках. Его жизненный цикл связан с жизненным циклом Checkout, в котором он был создан.

Метод makeInvertory() создаёт экземпляр Invertory и привязывает его к нужному объекту Checkout.

Метод load() отправляет запрос на получение данных о продуктах и асинхронно загружает результат в callback. В параметрах формируется запрос, какие именно продукты нужно получить (в данном случае, все имеющиеся, а именно донаты и отключение рекламы). Код коллбека, который принимает результат запроса, представлен ниже:

Метод onLoaded() вызывается, когда все данные загружены. В нём проверяются различные данные о продуктах. Например, можно проверить с помощью поля supported можно проверить, поддерживается ли продукт, а метод getSku() возвращает идентификатор продукта. Если нужно узнать стоимость продукта на основе локали устройства, то следует вызывать getSku(TYPE).price.

Метод isPurchased() проверяет, был ли продукт куплен пользователем. В случае с рекламой это будет означать, что её следует отключать.

Теперь нужно отправлять платёжные запросы сервису. Для этого в настройках приложения есть две кнопки «Удалить рекламу» и «Поддержать проект материально».

Обработка кнопки отключения рекламы выглядит следующим образом:

С помощью данного метода формируется запрос на покупку продукта, результат которого будет получен коллбеком.

Аналогичным образом формируется запрос на донат.

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

Как добавить In-app Billing в приложение : 6 комментариев

А физ. лицо может зарегистрировать Google Wallet? Или нужно ИП открывать?

Может, в этом плене Google очень демократичная компания. Выплаты начнутся по достижении порога в 100$

А как тестировать покупки? Я прописал в play console тестового пользователя и через него покупаю например рекламу. Деньги не списываются но покупка числиться у него в google play.
Но в классе InventoryCallback mPurchases = 0.
Как правильно тестировать?

Здравствуйте! К сожалению, насчёт тестирования не получится что-либо подсказать, попробуйте написать автору библиотеки на гитхабе.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих