как создавать приложения для android самостоятельно
Как сделать приложение для Android самостоятельно
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Создаем приложение для ANDROID быстро и просто
После успешной установки мы можем создать свой первый проект.
Мы можем его запустить в эмуляторе, который идет комплекте с Visual Studio нажав клавишу F5.
Приводим код к такому виду. Здесь мы создаем WebView контейнер который будет грузить локальный HTML файл, который находится в проекте в папке Assets.
По такому принципу можно создать приложение быстро и просто. Файлы html будут выглядеть одинаково на всех устройствах. То есть, Вы можете сделать приложения для Android и iOS с одинаковым интерфейсом. Не надо изучать сложные языки разметки, не надо изучать сложные макеты (сториборды) на iOS. Все можно сделать на HTML.
В идеале, вместо локальных файлов можно сделать загрузку со стороннего сайта. В этом случае Вы можете менять контент приложения без его обновления в AppStore и Google Play.
Q: Но как быть с функциями самой платформы? Пуш сообщения? Как взаимодействовать с самой платформой?
Все очень просто! JavaScript можно использовать для вызова функций Android:
Мы видим, что теперь программа ругается на Export так как не знает что это такое.
Так вы можете подключать библиотеки если вдруг Visual Studio ругается на что то.
Данная функция это показ всплывающей информации на экране. Она выполняется именно на платформе Андроида. То есть мы можем написать в HTML файле вызов функции Андроида. Получается полное дружелюбие двух платформ по JavaScript интерфейсу. Данные можно передавать туда сюда. Вызывать переход от одной активити в другую. Все через HTML + JavaScript.
Немного модифицируем файл login.htm:
Теперь при нажатии на кнопку HTML вызывается функция Toast андроида и выводиться сообщение пользователю.
Пишем своё первое приложение на Android
Предисловие
Подготовка к разработке
Установка среды разработки Eclipse
Тут всё просто. Идём в раздел Downloads на официальном сайте и качаем версию Classic. Далее просто распакуйте архив, куда вам хочется, я же решил это сделать в почетную директорию C:\Eclipse
Установка ADT плагина к Eclipse
Запускаем Eclipse, и открываем диалог установки плагина через меню Help → Install new software. В поле Work with вписываем адрес загрузки плагина dl-ssl.google.com/android/eclipse (если не получилось, то плагин можно скачать и установить вручную по ссылке http://developer.android.com/sdk/eclipse-adt.html), далее в таблице ниже появится Developer Tools, отмечаем его и идем далее.
После успешной установки, можно перезапустить среду Eclipse.
Установка среды для Java: JDK и JRE
Если у вас еще не установлены Java Development Kit (JDK) и Java Runtime Environment (JRE), то их необходимо установить. Сделать это можно на сайте Oracle. Скачайте и установите JDK и JRE.
Установка Android SDK
Дело осталось за малым — это скачать и установить свежий Android SDK. Это делается на сайте для Android разработчиков. Я лично установил SDK опять-таки в почётную директорию C:\Android. После этого необходимо добавить платформы и прочие дополнительные элементы SDK. Я добавил все доступные версии, так как планирую делать приложения и для ранних платформ, а также USB-драйвер и примеры приложений.
Подготовка к разработке завершена. Теперь следующий этап — создание приложения.
Создание Android-приложения
Перед тем как создать своё первое приложение, можно создать виртуальное Android-устройство, чтобы быстро тестировать на нём свой свеженаписанный софт. Вначале я хочу сказать вам несколько слов по поводу Android Virtual Device (AVD). Это виртуальный смартфон с ОС Android, на котором вы с легкостью сможете запускать созданную вами программу. Как можно заметить, преимущество Android Virtual Device состоит в том, что наглядно можно увидеть как будет работать Ваша программа на разных смартфонах с Android, а не покупать весь модельный ряд и тестировать приложение на каждом из них.
Приступим к созданию виртуального устройства Android. Следуем в меню по пути Window → Android SDK and AVD Manager.
Выбираем New в правой части окна, в появившемся окне вписываем имя виртуального устройства, платформу (допустим Android 2.1), размер карты памяти (допустим 512 Mb), тип дисплея (допустим HVGA). Затем жмем внизу на кнопку Create AVD.
Теперь создадим проект. Для этого идем по пути в меню File → New → Other, в появившемся списке Android → Android Project.
В качестве примера расскажу о разработке одной моей простейшей программы UfaTermometr, показывающей текущую температуру с датчиков, расположенных на одном из объектов местной энерго-компании.
Подробно останавливаться на разметке элементов управления не буду, так как это всё достаточно подробно описано в мануале и вообще интуитивно понятно, особенно тому, кто имел дело с html/css-вёрсткой и/или разработкой в какой-либо визуальной среде (например, Delphi). Единственное, обратите внимание как я загрузил произвольное изображение в ImageView. В поле src указывается путь, начинающийся с символа @ и далее указываете адрес по дереву. В папке res я заблаговременно создал подпапку drawable и «закинул» туда логотип, а затем просто указал ImageView путь. Легко? По мне так очень.
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.*;
public class UfaTermometr extends Activity
<
@Override
public void onCreate(Bundle savedInstanceState)
<
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.refrbutton);
button.setOnClickListener( new Button.OnClickListener() <
public void onClick(View v) // клик на кнопку
<
RefreshTemper();
>
>);
RefreshTemper(); // при запуске грузим температуру сразу
>;
//—————————————————————-
public String GetTemper(String urlsite) // фукция загрузки температуры
<
String matchtemper = «» ;
try
<
// загрузка страницы
URL url = new URL(urlsite);
URLConnection conn = url.openConnection();
InputStreamReader rd = new InputStreamReader(conn.getInputStream());
StringBuilder allpage = new StringBuilder();
int n = 0;
char [] buffer = new char [40000];
while (n >= 0)
<
n = rd.read(buffer, 0, buffer.length);
if (n > 0)
<
allpage.append(buffer, 0, n);
>
>
// работаем с регулярками
final Pattern pattern = Pattern.compile
( » [^-+0]+([-+0-9]+)[^ [^(а-яА-ЯёЁa-zA-Z0-9)]+([а-яА-ЯёЁa-zA-Z ]+)» );
Matcher matcher = pattern.matcher(allpage.toString());
if (matcher.find())
<
matchtemper = matcher.group(1);
>
return matchtemper;
>
catch (Exception e)
<
>
return matchtemper;
>;
//—————————————————————-
public void RefreshTemper()
<
final TextView tTemper = (TextView) findViewById(R.id.temper);
String bashtemp = «» ;
bashtemp = GetTemper( «be.bashkirenergo.ru/weather/ufa» );
tTemper.setText(bashtemp.concat( «°» )); // отображение температуры
>;
>
После того как приложение написано, можно уже его отлаживать и тестировать.
Запуск и тестирование приложения
Вспоминаем про нашу виртуальную машину и запускаем привычной кнопкой или менюшкой Run → Run
Вот такую картину мы можем затем созерцать:
Заключение
В заключении хотелось бы сказать, что безусловно разработка приложений для Android приятна, достаточно проста и интересна. Конечно, мы рассмотрели лишь верхушку айсберга, но я надеюсь, что в умах тех из вас, кто раньше не пробовал делать ничего подобного «загорелась лампочка» и вполне возможно, что когда-то вашим приложением будут пользоваться миллионы.
Источники, ссылки
UPD: Устранение возможных ошибок
ERROR: Unable to open class file C:\workspace\Test\gen\com\example\test\R.java: No such file or directory
emulator: ERROR: no search paths found in this AVD’s configuration. Weird, the AVD’s config.ini file is malformed. Try re-creating it
— это следствие того, что у Вас кириллица в имени пользователя. Решается: идем в Компьютер → Свойства системы → Дополнительные параметры системы → Переменные среды. Создаем новую переменную с именем ANDROID_SDK_HOME и значением – путем, где находится папка AVD (например, C:\Android\). Создаем, далее ищем там же переменную Path, открываем и в поле значений через точку с запятой добавляем путь до папки tools Android SDK (например, C:\Android\tools). Сохраняем. Запускаем Eclipse, запускаем программу.
UPD 05.10.2011, во что превратилось данное приложение можно лицезреть на следующих скринах:
Это результат развития той самой болванки, которая выше дана в качестве примера.
Разработка и создание Android-приложений
Создание сайтов
📱 Разработка приложений на Android с нуля: установка среды разработки
Vlada Korzun
За последний год 53% интернет-трафика пришло с мобильных устройств, а приложения для Android используются значительно чаще прочих – до 71% смартфонов и планшетов работают под управлением самой популярной ОС в мире.
Знание Kotlin очень востребовано у работодателей. Диаграмма показывает соотношение вызовов на интервью владеющих разными языками программирования специалистов:
Источник: Hired.
В то же время Kotlin – не самый популярный язык среди программистов, следовательно конкуренция среди владеющих им специалистов значительно меньше:
Источник: Hired.
С какого языка программирования начать
Несмотря на более высокую востребованность Kotlin, если вы совсем новичок в программировании, начинать стоит с изучения Java. Тому есть несколько причин:
Тем не менее, в 2019 году Google объявил Kotlin как предпочтительный язык для разработки мобильных приложений на Android.
Структура приложений на Android
Приложение для Андроида состоит из четырех основных блоков, каждый из которых живет своей жизнью (имеет независимый жизненный цикл) – это означает, что создается и удаляется каждый компонент по-разному.
Компонентов одного вида может быть несколько, и они тоже работают независимо друг от друга.
1. Активности (activities) – это части приложения, которые видит (есть интерфейс) и с которыми взаимодействует пользователь. Например, в мессенджере отображаются непрочитанные сообщения, и пользователь что-то с ними делает.
2. Службы (services) – этот блок осуществляет свои действия на фоне работы с активностями или с другими приложениями. Можно выделить два типа: начатые, которые работают пока не завершат определенное действие (музыкальный проигрыватель, синхронизация), а также обязанные сервисы (bound services) – они запускаются по указанию системы или другого приложения.
3. Широковещательные приемники (Broadcast receivers) – это компоненты, которые постоянно сканируют указанную область (систему, другие приложение, ваше приложение) и доставляют в приложение сообщения об отслеживаемых изменениях.
Эти блоки могут запускаться системой (уведомление о низком заряде батареи), а также другими приложениями. Они, например, уведомляют другие приложения, что определенный файл был скачан и теперь доступен для использования.
4. Контент-провайдеры управляют данными приложения. Другие приложения могут запрашивать или изменять какие-то данные в хранилищах контент-провайдеров с их разрешения. Например, контент-провайдер системы Android по запросам от других приложений предоставляет им информацию о списке контактов пользователя.
Этот компонент также может использоваться для чтения и записи приватных данных, которые не предназначены для передачи другому приложению.
В системе каждое приложение работает в отдельном процессе, поэтому чтобы активировать какой-то из компонентов, используются такие объекты как намерения (intents). Они активируют сервисы, активности и широковещательные приемники.
Ресурсы – некодовые компоненты, вроде картинок, звуков, макетов и т.д. Они хранятся в отдельных файлах.
Базовые инструменты для начала
1. Android Studio – интегрированная среда разработки (IDE) для создания андроид-приложений. В ней вы найдете все необходимое: редактор кода, быстрый и многофункциональный эмулятор, образцы кода, интеграцию с GitHub, фреймворки и инструменты для тестирования, встроенную поддержку для облачной платформы Google и т.д.
Чтобы IDE работала быстро, рекомендуется запускать ее на: Windows 7, 8, или 10 (32-bit или 64-bit), Mac OS X от 10.10 (Yosemite) до 10.14 (Mojave), Linux (Ubuntu 14.04 LTS), Chrome OS.
2. Java Development Kit – это набор инструментов, которые помогают писать и запускать код на Java. Туда входят, например, компилятор и дебаггер.
3. Android-устройство – не обязательно телефон. Это может быть планшет, смарт-часы, телевизор, холодильник или какие-то другие умные вещи.
Если под рукой нет нужного устройства, для запуска приложений можно использовать виртуальный эмулятор. Он представляет собой программу, которая запускается на компьютере, но выглядит и ведет себя как физическое устройство.
Создаем приложение в Android Studio
Инсталлируем среду разработки в Windows
3. Когда студия запускается, просто нажимаем несколько раз «next», там все нужное уже отмечено.
4. Когда у вас появляется окошко «Import Android Studio Settings», выбираем «do not import settings».
5. В «Install type» выбираем «Standard».
6. Выбираем светлую или темную тему.
8. Когда появилось окошко для начала нового проекта, нажимаем «Configure», а потом «Settings».
9. В открывшемся окне слева выбираем «System settings», а потом «Andoid SDK». Тут рекомендуется выбрать среды для всех версий Android, так как они пригодятся, когда вы будете создавать приложения под разные устройства. Если у вас не хватает памяти, можно не скачивать – для первого раза они не понадобятся.
Структура проекта в Android Studio
Каждый проект делится на модули, которые имеют отдельные файлы, настройки, функциональность. В проекте может быть один модуль или множество. Они по отдельности разрабатываются, тестируются и очищаются от неполадок.
Когда вы впервые создаете приложение, в новом проекте сразу появятся модули: «Android app module» и «Gradle».
Источник: Developer. Android
«Android app module» состоит из следующих элементов:
«Gradle» – это система сборки приложения. Она настраивается отдельно для каждого приложения.
Можно добавить следующие модули:
Как добавить новые модули: File —> New —> New Module.
Как запустить простое приложение с «Hello world»
1. Открываем Android Studio.
2. В первом же окне вам нужно нажать «Start a new Android Studio project».
3. Далее необходимо выбрать тип устройства (телефон, часы, телевизор, автомобиль, интернет вещей). В каждом есть различные шаблоны. Для начала выбираем «Empty Activity» и нажимаем «next».
4. Теперь появляется окошко, где выбирается название проекта, язык и место на диске, куда сохранится проект.
Остальное пока менять не нужно, но уже в реальном приложении в «package name» вы сможете вписать свое доменное имя вместо «com.example».
Что касается «minimum API level», то приложения разработанные на более старой версии будут доступны для большего количества устройств, а на более новых легче работать.
5. Терпеливо ждем, пока подгрузятся все файлы нового проекта. Следующие будут открываться быстрее.
Запускаем на эмуляторе
Без виртуального устройства приложение не запустится. Поэтому создаем его в Android Studio:
Запускаем на реальном устройстве
1. В настройках устройства нужно найти «Параметры разработчика —> Отладка USB».
2. Убедитесь, что на на вашем компьютере установлен «USB Driver».
3. Подключите андроид-устройство через порт USB.
4. В Android Studio в панели инструментов выберите ваше устройство.
5. Нажмите «Run». Приложение загрузится и запустится.
Если вас интересует полное погружение в профессию разработчика приложений для Android и обучение, после которого сразу можно выйти на рынок и получить оффер, стоит обратить внимание на факультет Андроид-разработки образовательной платформы GeekBrains.
В течение года под руководством экспертов-практиков вы освоите языки программирования Java и Kotlin, основные компоненты и элементы пользовательского интерфейса, жизненный цикл компонентов Activity и Fragment, работу с базами данных, архитектурные шаблоны проектирования, работу со сторонними библиотеками и тестирование приложений.
Успешно завершившим курс студентам выдается диплом о профессиональной переподготовке, а кроме того онлайн-академия оказывает им помощь в трудоустройстве.
Как создать приложение для Android самому
Уже несколько лет на рынке разработки приложений под Андроид спрос превышает предложение, и такое состояние рынка сохранится в ближайшие годы. Если говорить о специфике разработки, то речь здесь идёт не только о смартфонах и планшетах. Каждый сможет найти направление себе по вкусу: носимая электроника, Android TV, Android в автоиндустрии, дополненная и виртуальная реальность, интернет вещей.
Но наиболее актуальной и востребованной сегодня является именно разработка мобильных приложений под Android. В этой статье я расскажу, как создать приложение для Андроид с нуля и какие инструменты вообще для этого понадобятся.
Разработка андроид приложений: минимальный набор знаний
На самом деле требований здесь немного, но глубина познаний в нужных областях должна постоянно расти. Вот чем очень не помешает овладеть:
На чём писать приложения для Android
В принципе для разработки нужна только Android Studio, которую можно бесплатно скачать с официального сайта. Это лучшая среда разработки андроид приложений из существующих на рынке. Подойдёт любая операционная система (Mac OS, Windows, Linux). Что касается аппаратной части, желательно иметь процессор не старше пяти лет и 8 гигабайт оперативной памяти (+ 1,5 ГБ свободного места на диске).
Если вы не знаете ничего о программировании и имеете только жгучее желание создавать, для начала нужно выучить хотя бы один язык программирования. На данный момент написать приложение для Android можно на Java или на Kotlin. Предпочтительный язык — Kotlin, но если вы планируете стать профессиональным разработчиком, то Java вам нужно хотя бы уметь «читать» (а лучше и писать на ней). Эти языки очень похожи, работают по одинаковым принципам и имеют очень похожий синтаксис. У нас на факультете Android-разработки мы начинаем изучать Java, а в середине обучения переходим на Kotlin. Так выпускник оказывается полностью подготовлен к профессии андроид-разработчика в плане языков программирования.
Чтобы с удобством изучать Java, установите среду разработки на Джаве — IntelliJ Idea Community Edition. Это бесплатная программа, лучшая на рынке. Инструкцию по установке можно найти в конце этой статьи, в дополнительных материалах.
Устанавливаем Git для хранения кода
Git — это полезный инструмент, который вам как разработчику рано или поздно понадобится. С его помощью можно хранить разные версии вашего приложения на компьютере или в облаке. Скачайте, установите его, а также прочитайте первые несколько глав из руководства. Достаточно первых трёх глав (Введение, Основы, Ветвление), чтобы освоиться с самыми полезными функциями:
После установки Git вы сможете сохранять разные версии кода вашего андроид-приложения на компьютере или в облаке:
Среда разработки андроид-приложений
Если вы уже освоились с Джавой или Котлином, можно переходить непосредственно к разработке андроид-приложений. Для этого нам понадобится Android Studio. Если у вас уже стоит Git, то к нему можно подключиться как показано на скриншоте выше.
Если вам по какой-то причине не нравится Android Studio, то можно установить Eclipse в качестве среды разработки андроид-приложений. Но Эклипс — это скорее исключение из правил. Подавляющее большинство разработчиков работают в Студии.
Также, если у вас процессор от AMD, то рекомендуется поставить в качестве эмулятора смартфона Genymotion. Если у вас процессор от Intel, то встроенного в Android Studio эмулятора будет более чем достаточно.
Разработка приложений под Android: начало
Давайте создадим наш первый проект и посмотрим, из каких компонентов он состоит. Если вы первый раз открыли Студию, то вам будет предложено выбрать какой-нибудь шаблон из набора:
Выберем Empty Activity и нажмём «Далее»:
Здесь по аналогии с IntelliJ Idea вы вводите название вашего проекта, пэкедж, выбираете язык программирования и нажимаете Finish. Перед вами откроется готовый проект, где вы и будете создавать своё приложение на Android.
Создаём эмулятор
Чтобы создать эмулятор, нажмите на AVD Manager:
В появившемся окне нажмите Create Virtual Device:
Выберите подходящий смартфон, который нужно сэмулировать:
Выберите версию операционной системы, для которой мы в первую очередь пишем приложение под Android (скорее всего, вам нужно будет её предварительно скачать, нажав Download):
В появившемся окне выберите созданный эмулятор и запустите его:
Эмулятор запустится в отдельном окне и появится рядом с кнопкой старта приложения. Нажмите на эту кнопку:
На эмуляторе запустится ваш проект:
Из чего состоит Android-приложение
Теперь давайте разберём, из каких компонентов состоит любое, даже самое простое приложение под Андроид. В папке java находится непосредственно код вашего приложения — тут вы будете создавать экраны и наполнять их содержанием:
В папке res находятся все ресурсы приложения, в том числе макеты ваших экранов и другие элементы дизайна. Тут вы будете заниматься вёрсткой экранов:
Манифест приложения содержит информацию обо всех экранах приложения:
Три основных экрана Android Studio — вот с чего начинается любое приложение под андроид. В том числе и ваше 🙂
Как разместить приложение в Google Play
Основной способ распространения андроид-приложений — это размещение на площадке Google Play. Кроме этого, приложения можно размещать и в Amazon AppStore, и в Yandex Store, в Shop Samsung App. Но следует помнить, что основной площадкой является Google Play. Магазин приложений Google устанавливается практически на все устройства с Android (кроме ряда «китайцев» и «индийцев»), и по умолчанию на всех этих устройствах включена опция установки приложений только с этой площадки.
Основные особенности Google Play:
Давайте посмотрим, как выложить своё приложение в Google Play. Перед загрузкой приложения необходимо зарегистрировать аккаунт разработчика в Google Play. Обычно советуют использовать для этого не свой личный аккаунт (если у вас почта на Gmail), а специально создать для этого ещё один аккаунт. Это связано с тем, что если робот Google Play решит заблокировать аккаунт разработчика, то ваш личный аккаунт это не затронет. Откроем страницу регистрации:
И следуем простым шагам:
Важный момент: регистрация разработчика стоит 25 долларов США. Плата берётся единовременно.
Далее, чтобы опубликовать приложение, надо зайти в аккаунт разработчика и нажать «Новое приложение». Вы попадёте в консоль разработчика:
При заполнении различных форм перед публикацией приложения можно выбрать тип и описание вашего приложения (категория, ограничения аудитории по возрасту и т.п.), языки и страны распространения, цену в каждой из стран. Также необходимо выбрать изображения с приложением, экраны этого приложения, создать подписи и сделать ряд других вещей.
После этого необходимо проверить, что все формы заполнены
Кстати, у Google есть и свой список рекомендаций по поводу того, как опубликовать своё приложение.
Для заполнения формы с версиями приложений надо подготовить релизную версию вашего приложения. то уже не debug-версия вашего приложения, которая запускалась у вас до этого момента, в эмуляторе или под отладкой на устройстве, через кнопку Run.
Как подготовить релиз-версию приложения
Вы создали приложение под Android, и теперь, чтобы его выложить, необходимо сделать следующие шаги:
Пройдёмся по важным понятиям на этом этапе.
Уникальный ключ приложения (сертификат)
Чтобы загрузить приложение на площадку и установить на устройство, требуется, чтобы приложение было подписано вашим уникальным криптографическим ключом. По этому ключу всегда можно отличить подлинность приложения и обновлений. Этот ключ находится у разработчика, он называется app singing key. А Keystore — это файл, в котором хранится ключ. У ключа есть имя и пароль, хранится ключ в keystore, от которого тоже должен быть пароль. Так много паролей нужно, чтобы никто не смог украсть ваше приложение.
Существует два способа хранения ключа. Исходя из того, какой вы выберете, будет определяться схема подписи приложения:
Сервис Google Play
Если вы выбрали использовать Google Play App singing, вы подписываете приложение с ключом для загрузки его в Google Play (upload key), и уже сам Google Play подписывает приложение уникальным ключом, а впоследствии несёт ответственность за его хранение. Тогда при потере upload key (ключа для загрузки приложения) вы сможете верифицироваться с Google, и сгенерировать новый. Таким образом, вы сможете в любом случае загрузить обновления вашего приложения, даже если вы поменяли загрузочный ключ.
Самостоятельное хранение
Если вы сами храните ключ, то вся ответственность в этом случае лежит на вас. При потере ключа Google Play не сможет вам помочь и обновить приложение вы уже не сможете.
Как подписать приложение в Android Studio
Подпись можно сделать вручную или настроить всё так, чтобы приложение подписывалось в процессе сборки. Вот как сгенерировать новый ключ и keystore файл.
Зайдите в Build и выберите Generate Signed APK:
Выберите тип подписи:
В окне New Key Store заполните форму:
После компиляции проекта найдите получившийся файл:
Это уже готовый файл для загрузки его в Play Google.
Кроме того, нужно учесть, что иконка вашего приложения должна соответствовать определённым требованиям. Их можно прочитать на сайте, посвящённом Material Design.
Для публикации приложения после его загрузки обязательно нажмите кнопку «Просмотреть»:
И только после этого можно опубликовать приложение:
Перед публикацией приложения Google проверяет его, его описание, прочую информацию, и только после этого приложение появляется в Маркете.
Где ещё можно опубликовать приложение
Кроме Google Play, существуют и другие площадки для размещения приложений — Amazon Appstore, Shop Samsung App, Yandex Store. Некоторые разработчики также добавляют свои приложения и в эти альтернативные магазины. Вот некоторые причины:
Как монетизировать приложение
Если вы не крупная компания, которая распространяет свой продукт бесплатно (например какой-нибудь интернет-магазин, или банк), у вас есть несколько способов заработать на своём приложении:
Вам, как разработчику, нужно определиться со способом монетизации, который лучше всего соответствует вашему приложению. Баланс между количеством пользователей и прибылью — вещь очень хрупкая. Вот несколько рекомендаций от разработчиков Google, как его достичь:
После того как вы определитесь со способом монетизации, её можно будет настроить для вашего приложения в консоли разработчика. Вот и все основные шаги, который нужно учесть для создания и публикации приложения!
Полезные материалы для чтения и самоподготовки
Head First. Программирование для Android. Хотя эта книга немного устарела, она объясняет ключевые концепции очень интересным способом. Если вам понравился стиль Head First, вам будет приятно читать эту книгу.
Филлипс Б., Стюарт К., Марсикано К.Android. Программирование для профессионалов. 3-е издание. Действительно неплохая книга, которую можно смело рекомендовать начинающим разработчикам. В ней они смогут найти множество приёмов разработки приложений для Android, самостоятельный путь к которым довольно долог. Книга начинается с «Hello, world» и через теорию, упражнения и написание небольших приложений, обучает основному стеку технологий для создания Android-приложения. Требует среднего знания Java.
Исакова С., Жемеров Д. Kotlin в действии. Книга от создателей языка. Очень хорошо написана, советую.
Нуркевич Т., Кристенсен Б. Реактивное программирование с применением RxJava. Разработка асинхронных событийно-ориентированных приложений. Книга, которая на примере RxJava поможет понять вам, что такое реактивное программирование. Требует неплохого знания Java (по крайней мере, вы должны понимать, что такое обобщённые типы и лямбда-выражения) и предполагает последовательное чтение, так как материал подаётся шаг за шагом. Внимательный читатель получит полное представление об RxJava.
Если вам было бы интересно почитать о каких-либо конкретных аспектах разработки под андроид — пишите в комментариях.
В этой статье я дал лишь базовые, минимально необходимые сведения, чтобы начать разработку андроид приложений с нуля. Чтобы стать полноценным, квалифицированным Android-разработчиком, эффективней всего будет пройти полноценную учебную программу, например, на факультете Android-разработки GeekUniversity.
Другие полезные статьи для начинающих Android-разработчиков:
Мобильная разработка развивается быстрыми темпами, но несмотря на более чем десятилетний путь, можно с уверенностью говорить, что разработка мобильных приложений и вся индустрия в целом находятся в самом начале своего пути. Далеко не у всех в мире есть смартфоны, далеко не все области применения и использования исследованы и раскрыты. В будущем обязательно появятся новые направления в разработке, отрасль будет расти вместе с востребованностью мобильных разработчиков.
Уже несколько лет на рынке разработки приложений под Андроид спрос превышает предложение, и такое состояние рынка сохранится в ближайшие годы. Если говорить о специфике разработки, то речь здесь идёт не только о смартфонах и планшетах. Каждый сможет найти направление себе по вкусу: носимая электроника, Android TV, Android в автоиндустрии, дополненная и виртуальная реальность, интернет вещей.
Но наиболее актуальной и востребованной сегодня является именно разработка мобильных приложений под Android. В этой статье я расскажу, как создать приложение для Андроид с нуля и какие инструменты вообще для этого понадобятся.
Разработка андроид приложений: минимальный набор знаний
На самом деле требований здесь немного, но глубина познаний в нужных областях должна постоянно расти. Вот чем очень не помешает овладеть:
На чём писать приложения для Android
В принципе для разработки нужна только Android Studio, которую можно бесплатно скачать с официального сайта. Это лучшая среда разработки андроид приложений из существующих на рынке. Подойдёт любая операционная система (Mac OS, Windows, Linux). Что касается аппаратной части, желательно иметь процессор не старше пяти лет и 8 гигабайт оперативной памяти (+ 1,5 ГБ свободного места на диске).
Если вы не знаете ничего о программировании и имеете только жгучее желание создавать, для начала нужно выучить хотя бы один язык программирования. На данный момент написать приложение для Android можно на Java или на Kotlin. Предпочтительный язык — Kotlin, но если вы планируете стать профессиональным разработчиком, то Java вам нужно хотя бы уметь «читать» (а лучше и писать на ней). Эти языки очень похожи, работают по одинаковым принципам и имеют очень похожий синтаксис. У нас на факультете Android-разработки мы начинаем изучать Java, а в середине обучения переходим на Kotlin. Так выпускник оказывается полностью подготовлен к профессии андроид-разработчика в плане языков программирования.
Чтобы с удобством изучать Java, установите среду разработки на Джаве — IntelliJ Idea Community Edition. Это бесплатная программа, лучшая на рынке. Инструкцию по установке можно найти в конце этой статьи, в дополнительных материалах.
Устанавливаем Git для хранения кода
Git — это полезный инструмент, который вам как разработчику рано или поздно понадобится. С его помощью можно хранить разные версии вашего приложения на компьютере или в облаке. Скачайте, установите его, а также прочитайте первые несколько глав из руководства. Достаточно первых трёх глав (Введение, Основы, Ветвление), чтобы освоиться с самыми полезными функциями:
После установки Git вы сможете сохранять разные версии кода вашего андроид-приложения на компьютере или в облаке:
Среда разработки андроид-приложений
Если вы уже освоились с Джавой или Котлином, можно переходить непосредственно к разработке андроид-приложений. Для этого нам понадобится Android Studio. Если у вас уже стоит Git, то к нему можно подключиться как показано на скриншоте выше.
Если вам по какой-то причине не нравится Android Studio, то можно установить Eclipse в качестве среды разработки андроид-приложений. Но Эклипс — это скорее исключение из правил. Подавляющее большинство разработчиков работают в Студии.
Также, если у вас процессор от AMD, то рекомендуется поставить в качестве эмулятора смартфона Genymotion. Если у вас процессор от Intel, то встроенного в Android Studio эмулятора будет более чем достаточно.
Разработка приложений под Android: начало
Давайте создадим наш первый проект и посмотрим, из каких компонентов он состоит. Если вы первый раз открыли Студию, то вам будет предложено выбрать какой-нибудь шаблон из набора:
Выберем Empty Activity и нажмём «Далее»:
Здесь по аналогии с IntelliJ Idea вы вводите название вашего проекта, пэкедж, выбираете язык программирования и нажимаете Finish. Перед вами откроется готовый проект, где вы и будете создавать своё приложение на Android.
Создаём эмулятор
Чтобы создать эмулятор, нажмите на AVD Manager:
В появившемся окне нажмите Create Virtual Device:
Выберите подходящий смартфон, который нужно сэмулировать:
Выберите версию операционной системы, для которой мы в первую очередь пишем приложение под Android (скорее всего, вам нужно будет её предварительно скачать, нажав Download):
В появившемся окне выберите созданный эмулятор и запустите его:
Эмулятор запустится в отдельном окне и появится рядом с кнопкой старта приложения. Нажмите на эту кнопку:
На эмуляторе запустится ваш проект:
Из чего состоит Android-приложение
Теперь давайте разберём, из каких компонентов состоит любое, даже самое простое приложение под Андроид. В папке java находится непосредственно код вашего приложения — тут вы будете создавать экраны и наполнять их содержанием:
В папке res находятся все ресурсы приложения, в том числе макеты ваших экранов и другие элементы дизайна. Тут вы будете заниматься вёрсткой экранов:
Манифест приложения содержит информацию обо всех экранах приложения:
Три основных экрана Android Studio — вот с чего начинается любое приложение под андроид. В том числе и ваше 🙂
Как разместить приложение в Google Play
Основной способ распространения андроид-приложений — это размещение на площадке Google Play. Кроме этого, приложения можно размещать и в Amazon AppStore, и в Yandex Store, в Shop Samsung App. Но следует помнить, что основной площадкой является Google Play. Магазин приложений Google устанавливается практически на все устройства с Android (кроме ряда «китайцев» и «индийцев»), и по умолчанию на всех этих устройствах включена опция установки приложений только с этой площадки.
Основные особенности Google Play:
Давайте посмотрим, как выложить своё приложение в Google Play. Перед загрузкой приложения необходимо зарегистрировать аккаунт разработчика в Google Play. Обычно советуют использовать для этого не свой личный аккаунт (если у вас почта на Gmail), а специально создать для этого ещё один аккаунт. Это связано с тем, что если робот Google Play решит заблокировать аккаунт разработчика, то ваш личный аккаунт это не затронет. Откроем страницу регистрации:
И следуем простым шагам:
Важный момент: регистрация разработчика стоит 25 долларов США. Плата берётся единовременно.
Далее, чтобы опубликовать приложение, надо зайти в аккаунт разработчика и нажать «Новое приложение». Вы попадёте в консоль разработчика:
При заполнении различных форм перед публикацией приложения можно выбрать тип и описание вашего приложения (категория, ограничения аудитории по возрасту и т.п.), языки и страны распространения, цену в каждой из стран. Также необходимо выбрать изображения с приложением, экраны этого приложения, создать подписи и сделать ряд других вещей.
После этого необходимо проверить, что все формы заполнены
Кстати, у Google есть и свой список рекомендаций по поводу того, как опубликовать своё приложение.
Для заполнения формы с версиями приложений надо подготовить релизную версию вашего приложения. то уже не debug-версия вашего приложения, которая запускалась у вас до этого момента, в эмуляторе или под отладкой на устройстве, через кнопку Run.
Как подготовить релиз-версию приложения
Вы создали приложение под Android, и теперь, чтобы его выложить, необходимо сделать следующие шаги:
Пройдёмся по важным понятиям на этом этапе.
Уникальный ключ приложения (сертификат)
Чтобы загрузить приложение на площадку и установить на устройство, требуется, чтобы приложение было подписано вашим уникальным криптографическим ключом. По этому ключу всегда можно отличить подлинность приложения и обновлений. Этот ключ находится у разработчика, он называется app singing key. А Keystore — это файл, в котором хранится ключ. У ключа есть имя и пароль, хранится ключ в keystore, от которого тоже должен быть пароль. Так много паролей нужно, чтобы никто не смог украсть ваше приложение.
Существует два способа хранения ключа. Исходя из того, какой вы выберете, будет определяться схема подписи приложения:
Сервис Google Play
Если вы выбрали использовать Google Play App singing, вы подписываете приложение с ключом для загрузки его в Google Play (upload key), и уже сам Google Play подписывает приложение уникальным ключом, а впоследствии несёт ответственность за его хранение. Тогда при потере upload key (ключа для загрузки приложения) вы сможете верифицироваться с Google, и сгенерировать новый. Таким образом, вы сможете в любом случае загрузить обновления вашего приложения, даже если вы поменяли загрузочный ключ.
Самостоятельное хранение
Если вы сами храните ключ, то вся ответственность в этом случае лежит на вас. При потере ключа Google Play не сможет вам помочь и обновить приложение вы уже не сможете.
Как подписать приложение в Android Studio
Подпись можно сделать вручную или настроить всё так, чтобы приложение подписывалось в процессе сборки. Вот как сгенерировать новый ключ и keystore файл.
Зайдите в Build и выберите Generate Signed APK:
Выберите тип подписи:
В окне New Key Store заполните форму:
После компиляции проекта найдите получившийся файл:
Это уже готовый файл для загрузки его в Play Google.
Кроме того, нужно учесть, что иконка вашего приложения должна соответствовать определённым требованиям. Их можно прочитать на сайте, посвящённом Material Design.
Для публикации приложения после его загрузки обязательно нажмите кнопку «Просмотреть»:
И только после этого можно опубликовать приложение:
Перед публикацией приложения Google проверяет его, его описание, прочую информацию, и только после этого приложение появляется в Маркете.
Где ещё можно опубликовать приложение
Кроме Google Play, существуют и другие площадки для размещения приложений — Amazon Appstore, Shop Samsung App, Yandex Store. Некоторые разработчики также добавляют свои приложения и в эти альтернативные магазины. Вот некоторые причины:
Как монетизировать приложение
Если вы не крупная компания, которая распространяет свой продукт бесплатно (например какой-нибудь интернет-магазин, или банк), у вас есть несколько способов заработать на своём приложении:
Вам, как разработчику, нужно определиться со способом монетизации, который лучше всего соответствует вашему приложению. Баланс между количеством пользователей и прибылью — вещь очень хрупкая. Вот несколько рекомендаций от разработчиков Google, как его достичь:
После того как вы определитесь со способом монетизации, её можно будет настроить для вашего приложения в консоли разработчика. Вот и все основные шаги, который нужно учесть для создания и публикации приложения!
Полезные материалы для чтения и самоподготовки
Head First. Программирование для Android. Хотя эта книга немного устарела, она объясняет ключевые концепции очень интересным способом. Если вам понравился стиль Head First, вам будет приятно читать эту книгу.
Филлипс Б., Стюарт К., Марсикано К.Android. Программирование для профессионалов. 3-е издание. Действительно неплохая книга, которую можно смело рекомендовать начинающим разработчикам. В ней они смогут найти множество приёмов разработки приложений для Android, самостоятельный путь к которым довольно долог. Книга начинается с «Hello, world» и через теорию, упражнения и написание небольших приложений, обучает основному стеку технологий для создания Android-приложения. Требует среднего знания Java.
Исакова С., Жемеров Д. Kotlin в действии. Книга от создателей языка. Очень хорошо написана, советую.
Нуркевич Т., Кристенсен Б. Реактивное программирование с применением RxJava. Разработка асинхронных событийно-ориентированных приложений. Книга, которая на примере RxJava поможет понять вам, что такое реактивное программирование. Требует неплохого знания Java (по крайней мере, вы должны понимать, что такое обобщённые типы и лямбда-выражения) и предполагает последовательное чтение, так как материал подаётся шаг за шагом. Внимательный читатель получит полное представление об RxJava.
Если вам было бы интересно почитать о каких-либо конкретных аспектах разработки под андроид — пишите в комментариях.
В этой статье я дал лишь базовые, минимально необходимые сведения, чтобы начать разработку андроид приложений с нуля. Чтобы стать полноценным, квалифицированным Android-разработчиком, эффективней всего будет пройти полноценную учебную программу, например, на факультете Android-разработки GeekUniversity.
Другие полезные статьи для начинающих Android-разработчиков: