Как создать программу для смартфона. Программирование под Android: как начать создавать свои приложения и игры

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

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

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

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

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

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

Четыре способа как сделать приложение для Андроид самому

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

Все программы, представленные здесь подбирались по таким критериям:

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

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

App Builder — простой инструмент для создания приложений

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

Возможности программы

  • Представлен огромный выбор шаблонов для того, чтобы создать приложение. Если у вас в задумке какое-то простое приложение, то эта программа с легкостью поможет подобрать шаблон;
  • После создания приложения, можно будет следить за его статистикой;
  • Если вы создадите приложение и оно пройдет проверку, то его можно просто и довольно понятно разместить в магазине Google Play.

AppsGeyser — сайт для создания качественных приложений на Андроид своими силами

Официальный сайт — https://www.appsgeyser.com

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

Преимущества AppsGeyser

  • Приложение пишется довольно быстро, буквально в пару кликов;
  • Оно позволяет создать простые игры для Android, ведь согласитесь, что не каждый инструмент сегодня может это сделать;
  • После того как приложение будет готово, его с легкостью можно будет разместить в магазине Гугл Плей;
  • Кроме этого, можно монетизировать вашу программу непосредственно через сервис AppsGeyser. Это полезная функция, ведь проявив свою фантазию, вы можете еще и заработать на этом;
  • Создавайте, редактируйте, публикуйте приложение в онлайн режиме в личном кабинете (чтобы сохранились результаты).

IbuildApp — мощный движок для разработки собственных проектов

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

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

Русский официальный сайт — https://russia.ibuildapp.com

Давайте посмотрим, на что оно способно:

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

AppsMakerstore — платформа создания простых программ

Официальный сайт — https://appsmakerstore.com

Четвертая крутая платформа которая разработана для создания Android приложений. Наверно одним из самых главных преимуществ является то, что с помощью сайта AppsMakerStore можно создавать программы которые будут мультиплатформенными (к примеру, на Андроид, iOS и Windows Phone)

Давайте рассмотрим преимущества платформы:

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

Видео инструкция по созданию приложения с помощью APK Creator


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

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

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

RAD Studio


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

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

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

Программирование - это интересно

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

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

Начинаем правильно

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

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

Читать - не перечитать!

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

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

На чем пишем?

С чего начать разработку приложений под Android? Как говорят опытные программисты, для начала нужно понять, с каким языком программирования проще и легче работать, что больше подходит для воплощения в жизнь поставленных перед новичком задач. В настоящее время активно используются Java, C++, Visual C#. Преимущественно останавливаются на «Джаве» как оптимальном варианте для создания разнообразного софта - вплоть до довольно интересных игр. Важное преимущество этого языка - возможность реализации кроссплатформенных приложений, то есть таких, которые одновременно могут функционировать под разными ОС. Да и, как известно, зарабатывают на разработке приложений под Android больше всех те, чьи приложения на этапе публикации подходят не только для этой ОС, но и iOS, Windows Phone. С другой стороны, воплотить в жизнь такой проект будет посложнее, чем под одну платформу.

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

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

Три первичных условия, обладание которыми позволяет ответить на все вопросы о том, как создать разработку приложений под Android:

  • Среда разработки.
  • Эмулятор ОС.
  • Сборщик кода.

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

Новейшие технологии для нового проекта

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

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

Инструментарий - первая необходимость

Невозможно представить себе плотника без молотка, строителя без мастерка и водителя без машины. Точно так же и программист не может работать без среды разработки. Есть несколько вариантов, нет универсального рецепта по выбору оптимального для себя. Чаще всего прибегают к вариантам «Эклипс» (разработка «Нетбинс») и «Визуал Студио» (авторство «Майкрософт»). Есть и пакеты помельче, имеющие свои положительные и отрицательные стороны. Чтобы понять, где работать легче, а процесс получается более продуктивным, стоит попробовать сначала два самых известных варианта, а затем - другие, более экзотические, если первые два не подходят.

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

А нужно ли мне это?

Уже из описанного (а это лишь верхушка айсберга под названием «Разработка мобильных приложений») у многих новичков может возникнуть впечатление, что «овчинка выделки не стоит», проще говоря, слишком много усилий нужно приложить, да и сама работа слишком сложна, поэтому не стоит даже и браться за нее. Но на самом деле все совсем не так. Действительно, начать писать хорошие приложения непросто, зато результат того стоит.

В настоящее время спрос на профессионалов в области программирования мобильных приложений растет изо дня в день. Это связано и с распространением смартфонов, и с политикой крупных компаний («Гугл», «Майкрософт»), поощряющих лучших разработчиков. Став действительно высококлассным профессионалом, можно попытаться попасть в штат даже этих всемирно известных фирм! Но для этого нужно приложить усилия и начинать нужно уже сейчас. Впрочем, если говорить о реальных перспективах, то тут лучше вспомнить о тенденции последних лет - почти каждая более-менее крупная фирма хочет иметь собственное мобильное приложение, так как считается, что это позволяет удержать клиента. Должен же кто-то разрабатывать эти приложения! А потом обновлять их, поддерживать, улучшать. Словом, работы непочатый край, если уметь делать свое дело.

Задачи специфические, требования общие

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

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

Стабильность и развитие

Как показывают проведённые исследования, преимущественно разработчики выбирают наиболее удобную для себя среду программирования и в будущем все время работают в ней, отслеживая все новейшие тенденции, методики и инструменты, словом, не распыляются. Во многом, из-за такого подхода многие считают, будто бы слова Android и Eclipse являются синонимами, ведь чаще всего именно к «Эклипс» прибегают, когда пишут приложения для "Андроид". Студия «Нетбинс» создала уникальный программный инструмент, подходящий для совсем небольших и очень крупных, масштабных проектов. Его универсальность и спровоцировала такую популярность.

Привет, мир!

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

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

Через тернии - к звездам!

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

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

Учтите, что студия постоянно обновляется, поэтому внешний вид окон и другие детали могут отличаться от данного примера. Большинство уроков на сайте сейчас используют версию 2.3. 25 октября 2017 года вышла версия 3.0, в которой многое поменялось. В этой статье я постарался заменить все картинки под новую версию.

В качестве языка программирования для Android используется Java. Для создания пользовательского интерфейса используется XML.

Здесь следует сделать небольшое отступление. В Android Studio 3.0 добавлена полноценная поддержка нового языка Kotlin, разработанная котанами. Google объявила о своих планах сделать новый "кошачий" язык основным. Но вы должны понимать, что за предыдущие годы было написано огромное количество примеров на Java. Если вы новичок в программировании, то лучше в первый период обучения полностью сосредоточиться на Java, вам будет проще находить ответы на вопросы. Kotlin от вас никуда не денется, перейти потом на него будет проще, а вот обратный процесс будет проходить тяжелее. Когда немного освоитесь в Java, то можете параллельно изучать примеры на Kotlin. Google сейчас активно переписывает документацию под Kotlin, но до полного перехода ещё далеко, даже меньше 50%. Чуть позже я также буду делать уроки под Kotlin, но это будет не скоро.

По традиции, заложенной в прошлом веке, каждый программист должен был написать «Hello World!» (Здравствуй, Мир!) в качестве первой программы. Времена меняются, и программа «Hello World!» уже встроена в среду разработки под Android в целях совместимости, а современные программисты должны писать программу Hello Kitty! (Привет, киска!). Согласитесь, что здороваться с котёнком имеет больше здравого смысла, чем с каким-то миром.

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

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

Запускаем Студию и выбираем File | New | New Project... . Появится диалоговое окно мастера.

Поле Application name - понятное имя для приложения, которое будет отображаться в заголовке приложения. По умолчанию у вас уже может быть My Application . Заменим на . В принципе вы могли написать здесь и Здравствуй, мир! , но у Android есть замечательная возможность выводить нужные строки на телефонах с разными языками. Скажем, у американца на телефоне появится надпись на английском, а у русского - на русском. Поэтому в первоначальных настройках всегда используются английские варианты, а локализованные строки подготовите позже. Необходимо сразу вырабатывать привычку к правильному коду.

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

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

Поле Package name формирует специальный Java-пакет на основе вашего имени из предыдущего поля. В Java используется перевёрнутый вариант для наименования пакетов, поэтому сначала идёт ru , а потом уже название сайта. Пакет служит для уникальной идентификации вашего приложения, когда вы будете его распространять. Если сто человек напишет сто приложений с названием "Cat", то будет непонятно, где приложение, написанное разработчиком Василием Котовым. А приложение с именем пакета ru.vaskakotov.cat проще найти. Обратите внимание, что Гугл в своей документации использует пакет com.example в демонстрационных целях. Если вы будете просто копировать примеры из документации и в таком виде попытаетесь выложить в Google Play, то у вас ничего не выйдет - это название зарезервировано и запрещено к использованию в магазине приложений. Кнопка Edit позволяет отредактировать подготовленный вариант. Например, вы пишете приложение на заказ и вам нужно использовать имя пакета, утверждённое заказчиком, а не ваш вариант по умолчанию.

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

Нажимаем на кнопку Next и переходим к следующему окну. Здесь мы выбираем типы устройств, под которые будем разрабатывать своё приложение. В большинстве случае мы будет писать для смартфонов и планшетов, поэтому оставляем флажок у первого пункта. Также вы можете писать приложения для Android TV, Android Wear, Android Auto и Android Things.

Кроме выбора типа устройств, надо выбрать минимальную версию системы, под которую будет работать приложение. Выберите свой вариант. На данный момент Гугл поддерживает версии, начиная с API 7, выпуская специальные библиотеки совместимости для старых устройств. Но вы можете выбрать более современный вариант. У меня в наличии телефон с минимальной версией Android 4.4, поэтому я выставляю этот вариант.

java

Папка java содержит три подпапки - рабочую и для тестов. Рабочая папка имеет название вашего пакета и содержит файлы классов. Сейчас там один класс MainActivity . Папки для тестов можете не трогать. Если вы знаете, как работают пакеты в Java, то можете создавать новые папки и подпапки.

res

Папка res содержит файлы ресурсов, разбитых на отдельные подпапки.

  • drawable - в этих папках хранят графические ресурсы - картинки и xml-файлы, описывающие цвет и фигуры.
  • layout - в данной папке содержатся xml-файлы, описывающие внешний вид форм и различных элементов форм. После создания проекта там уже имеется файл activity_main.xml , который отвечает за внешний вид главного окна приложения.
  • mipmap - здесь хранят значки приложения под разные разрешения экрана
  • values - тут размещаются строковые ресурсы, ресурсы цветов, тем, стилей и измерений, которые мы можем использовать в нашем проекте. Здесь вы можете видеть файлы colors.xml , strings.xml , styles.xml . В старых проектах был ещё файл dimens.xml , сейчас от него отказались

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

Работа с проектом - Здравствуй, Мир!

Как уже говорилось, программа Hello, World! уже встроена в любой новый проект, поэтому вам даже не нужно ничего писать. Просто нужно запустить проект и получить готовую программу!

Для изучения вам нужно открыть два файла - MainActivity (скорее всего он уже открыт) и activity_main.xml (res/layout ) в центральной части Студии. Если файлы не открыты, то откройте их самостоятельно двойным щелчком для редактирования (или просмотра). Таким способом вы можете открыть любой нужный вам файл.

Не будем пока изучать код, а просто нажмём на зелёный треугольник Run (Shift+F10) на панели инструментов в верхней части студии для запуска приложения.

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

Если всё сделали правильно, то в эмуляторе или на устройстве загрузится ваша программа. Поздравляю!

Итак, если программа запустилась, то увидите окно приложения с надписью . Заголовок у программы будет также . Все эти строки можно найти в файле res/values/strings.xml и отредактировать при желании.

Теперь посмотрим на код. Сначала изучим activity_main.xml .

Смотреть его можно в двух режимах - Design и Text .

Откройте в режиме Text .

Это новый код шаблона, который появился в Android Studio 2.3 в марте 2017 года. Раньше использовался другой код с RelativeLayout (а ещё раньше и другой код с LinearLayout ). Если вам будут попадаться старые примеры, то в студии есть контекстное меню, которое поможет сконвертировать старый код в новый.

Немного о XML-коде. Имеется специальный контейнер ConstraintLayout , в котором размещён компонент TextView , предназначенный для вывода текста.

Теперь посмотрим на Java-код (MainActivity.java )

Package ru.alexanderklimov.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

Перед вами открыт файл класса, где имя класса MainActivity совпадает с именем файла с расширением java (это правило, установленное языком Java). В первой строке идет название пакета - его мы задавали при создании проекта (Package Name ). Далее идут строки импорта необходимых классов для проекта. Для экономии места они свёрнуты в одну группу. Разверните её. Если однажды вы увидите, что имена классов выводятся серым цветом, значит они не используются в проекте (подсказка Unused import statement ) и можете спокойно удалить лишние строки. Также они могут удаляться автоматически (настраивается).

Далее идёт объявление самого класса, который наследуется (extends ) от абстрактного класса Activity . Это базовый класс для всех экранов приложения. Не исключено, что у вас будет AppCompatActivity , если при создании проекта вы оставили поддержку старых устройств (флажок Backwards Compatibilty (App Compat) ). В старых версиях не было плюшек, которые появились после Android 4, поэтому для них была создана специальная библиотека совместимости, которая позволяет использовать новинки от новых версий Android в старых программах. Класс AppCompatActivity как раз и относится к библиотеке совместимости. Считайте её бедным родственником базовой Activity . У неё есть все нужные методы и вспомогательные классы, но названия могут немного различаться. И смешивать названия нельзя. Если уж используете класс из библиотеки совместимости, то методы берите соответствующие.

На разных этапах использовались разные названия класса активности, которые могут вам встретиться в старых проектах. Например, сначала использовался FragmenActivity , затем ActionBarActivity , а 22 апреля 2015 года вышла новая версия библиотеки совместимости и на данный момент используется новый класс AppCompatActivity .

В самом классе мы видим метод onCreate() – он вызывается, когда приложение создаёт и отображает разметку активности. Метод помечен как protected и сопровождается аннотацией @Override (переопределён из базового класса). Аннотация может пригодиться вам. Если вы сделаете опечатку в имени метода, то компилятор сможет предупредить вас, сообщив об отсутствии такого метода у родительского класса Activity .

Разберём код метода.

Строка super.onCreate(savedInstanceState); – это конструктор родительского класса, выполняющий необходимые операции для работы активности. Эту строчку вам не придётся трогать, оставляйте без изменений.

Вторая строчка setContentView(R.layout.activity_main); представляет больший интерес. Метод setContentView(int) подключает содержимое из файла разметки. В качестве аргумента мы указываем имя файла без расширения из папки res/layout . По умолчанию проект создаёт в нём файл activity_main.xml . Вы можете переименовать файл или создать свой файл с именем cat.xml и подключить его к своей активности. Тогда код будет выглядеть так:

SetContentView(R.layout.cat);

Чтобы ваш код был аккуратным, старайтесь придерживаться стандартов. Если вы создаёте разметку для активности, то используйте префикс activity_ для имени файла. Например, разметка для второй активности может иметь имя activity_second.xml .

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

Платформа Android

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

Необходимые инструменты

C чего начать писать приложение для Android? Первым делом установите программу Android Studio . Это официальная среда разработки (IDE) для Android, она выпускается для Windows, macOS и Linux . Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.

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

Полезно установить на свой компьютер и эмулятор Android , чтобы потом запускать в нем приложения APK. Эмулятор тоже поставляется в комплекте с Android Studio .

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

Что из себя представляет Android-приложение

Стандартный язык программирования Android-приложений - это Java . Правда, сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java . Приложения также можно писать на C++ .

Инструменты Android SDK компилируют ваш код вместе с любыми данными и ресурсами в файл APK (пакет Android) с расширением .apk . Этот файл содержит всё необходимое для установки приложения на Android-устройство.

Каждое Android-приложение живет в собственной «песочнице», которая подчиняется правилам безопасности Linux :

  1. Каждое приложение - это отдельный пользователь в многопользовательской системе Linux.
  2. По умолчанию система назначает каждому приложению уникальный user ID, неизвестный приложению; система устанавливает разрешения для всех файлов приложения, так что они доступны только этому user ID.
  3. У каждого процесса своя виртуальная машина (VM), так что исполняемый код изолирован от других приложений.
  4. По умолчанию каждое приложение запускает собственный Linux-процесс.

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

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

  1. Активность (activity) - элемент интерактивного пользовательского интерфейса в приложении. Обычно под активностью понимается группа элементов пользовательского интерфейса, которая занимает целый экран. Когда вы создаете интерактивную программу Android, то начинаете с создания подклассов на основе класса Activity . Одна активность активизирует другую и передает информацию о том, что намерен делать пользователь, через класс Intent (в переводе с английского «намерение»). Это абстрактное описание операции, которую одна активность должна выполнить по требованию другой. Если сравнивать приложения Android с веб-приложениями, то активности подобны страницам, а намерения - ссылкам между ними. Когда пользователь нажимает иконку приложения, то запускается активность Main . Однако из других мест (например, из уведомлений) можно отправлять пользователя напрямую к другим активностям.
  2. Сервис (service) - универсальная точка входа для поддержания работы приложения в фоновом режиме. Этот компонент выполняет в фоне длительные операции или работу для удаленных процессов. У служб нет визуального интерфейса.
  3. Широковещательный приемник (broadcast receiver) - компонент, который позволяет позволяет нескольким участникам слушать намерения, которые транслируются приложениями в системе.
  4. Поставщик содержимого (content provider) - компонент, который управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или любого постоянного хранилища, к которому может обратиться приложение.

Теперь попробуем сделать свое приложение для Android.

Создаем Android-приложение

Как сделать простое приложение для Android? Этот процесс состоит из нескольких этапов: создания проекта в Android Studio, запуска приложения в эмуляторе, формирования простого пользовательского интерфейса и добавления новых активностей в приложение.

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

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

Затем нужно задать одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Данный инструмент позволяет устанавливать в SDK пакеты, которые будут поддерживать несколько версий операционной системы Android и несколько уровней API (интерфейсов программирования приложений).

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

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

Указываем название для этой активности.

Нажимаем кнопку Next, затем Finish - и после нескольких минут сборки Android Studio открывает интерфейс IDE.

Если выбрать в выпадающем меню вид Android , то можно посмотреть основные файлы своего проекта. Например, наша основная активность называется app > java > ru.skillbox.skillboxapp > FullscreenActivity , потому что при создании проекта мы указали вместо активности Main запускать приложение в полноэкранном режиме (Fullscreen ).

Наконец, третий важный файл: app > manifests > AndroidManifest.xml , который описывает фундаментальные характеристики приложения и определяет все его компоненты.

Содержимое манифеста


package="ru.skillbox.skillboxapp">

android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name=".FullscreenActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:theme="@style/FullscreenTheme">




Запуск на реальном устройстве

Созданное нами приложение представляет собой одну активность, которая запускается в полноэкранном режиме и не имеет никаких графических элементов. Тем не менее это приложение уже можно запустить на реальном Android-устройстве или в эмуляторе. Смартфон или планшет для этого нужно подключить в режиме USB-отладки, которая активируется в «Настройках разработчика» в меню «Настройки».

Для запуска в эмуляторе нажимаем в Android Studio кнопку Run в меню Run (Shift+F10) . Там выбираем подходящее устройство и версию ОС, портретную или ландшафтную (альбомную) ориентацию.

Android Studio установит эмулятор и запустит его.

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

Пришло время создать базовый интерфейс для главного экрана. Пользовательский интерфейс Android-приложения создается через иерархию макетов (layouts, объекты ViewGroup ) и виджетов (объекты View ). Макеты - это невидимые контейнеры, которые управляют расположением дочерних виджетов на экране. Сами виджеты - это непосредственно компоненты UI, такие как кнопки и текстовые поля на экране.

Интерфейс активностей хранится по большей части в XML-файлах. А создается в Android Studio в Редакторе макетов (Layout Editor).

Снова открываем файл app > res > layout > activity_fullscreen.xml. В левом верхнем углу мы видим Палитру (Palette) со всеми виджетами, которые можно добавить на экран. Добавляются они просто перетягиванием мышью. Например, перетянем на экран текстовое поле (PlainText) . Это виджет EditText , куда пользователь может вводить текст.

Также на экран можно перетащить кнопки и другие элементы.

Новые действия, активности и навигация

Предположим, что мы создали активность с текстовым полем и кнопкой «Отправить». После этого нужно написать, что конкретно будет происходить при нажатии кнопки «Отправить». Для этого заходим в код app > java > FullscreenActivity и добавляем метод SendMessage() в класс FullscreenActivity , чтобы при нажатии пользователя на кнопку вызывался этот метод.

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

Курс «Мобильный разработчик»

Детально все этапы разработки приложения объясняются в курсе . Участники этой 12-месячной программы научатся создавать приложения под Android и iOS. Кроме того, они получат полноценное портфолио разработчика и могут устроиться на работу в качестве джуниор-программиста или попытать участия в качестве инди-разработчика, то есть индивидуалиста, который сам создает приложения, распространяет их, зарабатывает и ни с кем не делится доходами, кроме налоговых отчислений в бюджет.




Top