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

Время на прочтение
10 мин

Количество просмотров 1.8M

Предисловие

Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.

Подготовка к разработке

Для того, чтобы подготовиться к разработке не требуется каких-то особых действий и манипуляций. Буду описывать пошагово, что нужно сделать. У меня стоит Windows XP, поэтому и всё нижесказанное следует относить именно к данной ОС, хотя действия без каких-то сильных изменений можно применить и к другим ОС семейства Windows и даже Linux.

  • Установка среды разработки Eclipse
  • Установка ADT плагина к Eclipse
  • Установка JDK и JRE
  • Установка Android SDK
Установка среды разработки 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, показывающей текущую температуру с датчиков, расположенных на одном из объектов местной энерго-компании.

После создания проекта, слева вы увидите дерево директорий. Перво-наперво загрузим свою иконку приложения, а точнее 3 иконки под разные варианты. В папку drawable-hdpi грузим png-картинку с прозрачным фоном размером в 72×72, в drawable-mdpi соответственно 48×48 и в drawable-ldpi самую маленькую размером 36×36. Делать это можно простым перетаскиванием файлов прямо на дерево. Следующим шагом будут элементы управления. В моей программе было необходимо всего три элемента интерфейса: ImageView (просто картинка логотип приложения), Button (обновить значение температуры) и TextView (вывод значения температуры). Все эти элементы управления нужно описать в специальном xml-файле. В дереве он расположен по адресу res → layout → main.xml. Во-многом разметка элементов управления сходна с вёрсткой веб-страниц, тут есть и padding, и margin, и аналог align. Код main.xml моего приложения:

<?xml version=«1.0» encoding=«utf-8»?>
<LinearLayout xmlns:android=«schemas.android.com/apk/res/android»
    android:orientation=«vertical»
    android:layout_width=«fill_parent»
    android:layout_height=«fill_parent»
    >
<ImageView android:layout_width=«fill_parent»
    android:layout_height=«wrap_content»
    android:src=»@drawable/droid»
    android:layout_gravity=«center_horizontal|center»
    android:layout_margin=«0px»
    />
<Button
    android:id=»@+id/refrbutton»
    android:layout_width=«wrap_content»
    android:layout_height=«wrap_content»
    android:gravity=«center_horizontal»
    android:layout_gravity=«center_horizontal|center»
    android:textSize=«30px»
    android:padding=«20px»
    android:layout_marginTop=«10dip»
    android:text=«Обновить»
    />
<TextView 
    android:layout_width=«fill_parent»
    android:layout_height=«wrap_content»
    android:text=»…»
    android:textSize=«100dip»
    android:gravity=«center_horizontal»
    android:id=»@+id/temper»
    android:textColor=»#EEE3C4″
    />
</LinearLayout>

Подробно останавливаться на разметке элементов управления не буду, так как это всё достаточно подробно описано в мануале и вообще интуитивно понятно, особенно тому, кто имел дело с html/css-вёрсткой и/или разработкой в какой-либо визуальной среде (например, Delphi). Единственное, обратите внимание как я загрузил произвольное изображение в ImageView. В поле src указывается путь, начинающийся с символа @ и далее указываете адрес по дереву. В папке res я заблаговременно создал подпапку drawable и «закинул» туда логотип, а затем просто указал ImageView путь. Легко? По мне так очень.

Непосредственно код приложения располагается по пути src → «ваше название package» → «название приложения».java.
По-умолчанию создается «болванка» главного класса и от неё уже дальше можно плясать. Не буду останавливаться на тонкостях такого простого кода как у меня в примере, но поясню, что логика работы объясняется тремя простыми шагами:

  • Загрузить HTML-страницу со значениями температуры
  • С помощью регулярок «вытащить» температуру
  • Показать в TextView значение температуры

Заметьте, что когда приложению требуются какие-то системные разрешения, нужно указывать их в манифесте AndroidManifest.xml. В данном конкретном случае мы используем подключение к Интернет, соответственно добавляем строчку <uses-permission android:name=«android.permission.INTERNET»/> в указанный выше xml-файл.
Собственно сам код, реализующий указанную выше логику работы:
package app.test.ufatermometr;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
            («<span style=«color:#[a-zA-Z0-9]+»>[^-+0]+([-+0-9]+)[^<]+</span>[^(а-яА-ЯёЁ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

Вот такую картину мы можем затем созерцать:

Теперь, если вы хотите поделиться приложением, то нужно собрать apk-файл. Для этого воспользуемся меню File → Export и в списке Android → Export Android application. Далее выберите проект, затем создайте хранилище ключей keystore и ключ key, для этого нужно будет заполнить несколько полей с всякого рода справочной информацией. Получившийся apk-файл можно распространять и даже выложить в Android Market, но для этого придется зарегистрироваться и уплатить $25, что в общем-то немного, особенно для стоящего проекта. Но регистрация в Маркете, пожалуй, тема отдельной статьи.

Заключение

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

Источники, ссылки

В посте использованы материалы:
www.ibm.com
www.itblog.name
Википедия

APK-файл приложения

UPD: Устранение возможных ошибок

Defite:
1. Ошибка

ERROR: Unable to open class file C:workspaceTestgencomexampletestR.java: No such file or directory

решается очисткой проекта через меню Project → Clean или перезапуском Eclipse.
2. Когда возникает ошибка

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:Androidtools). Сохраняем. Запускаем Eclipse, запускаем программу.

UPD 05.10.2011, во что превратилось данное приложение можно лицезреть на следующих скринах:

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

#Руководства

  • 18 июл 2018

  • 1

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

 vlada_maestro / shutterstock

Анатолий Ализар

Пишет про разработку в Skillbox Media. Работал главным редактором сайта «Хабрахабр», ведёт корпоративные блоги.

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

Создание простейшего приложения состоит из нескольких этапов:

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

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

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

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

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

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

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

  • Активность (activity) — элементы интерактивного пользовательского интерфейса.
    Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main.
  • Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
    Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса.
  • Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
  • Поставщик содержимого (content provider) управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или другого хранилища.

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

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

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


Справка

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


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

После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.

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

Далее можно посмотреть файл app > res > layout > activity_fullscreen.xml. Это XML-файл с макетом для UI нашей основной активности.

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.skillbox.skillboxapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".FullscreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

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

Запускаем на Android-устройстве или в эмуляторе.

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

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

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

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

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

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

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

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

  • Заходим в код app > java > FullscreenActivity.
  • Добавляем метод SendMessage() в класс FullscreenActivity, чтобы при нажатии на кнопку вызывался этот метод.
  • Создаём намерения (класс Intent) для перехода от одной активности к другой, новые активности, навигацию и всё остальное, что необходимо для приложения.

И, конечно, начинаем мечтать, как монетизировать приложение.

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

Участвовать

Научитесь: Профессия Мобильный разработчик
Узнать больше

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

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

Их очень много: бэкенд, фронтенд, создание мобильных приложений, программирование «железа» и т. д.

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

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

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

Это мощный инструмент разработки (IDE), в котором собраны все необходимые возможности для быстрого создания приложений на смартфоны с операционной системой «Андроид». Если вы хотите заниматься программированием для смартфона, установка и использование данной среды будет необходимостью.

Как установить Android Studio? Все очень просто – данное средство разработки распространяется бесплатно самой компанией Google, и скачать его можно со страницы https://developer.android.com/studio.

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

Рабочая среда в Android Studio

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

  • гибкая настройка системы дает возможность подстроить работу под себя;
  • встроенный эмулятор приложений позволяет запускать создаваемые программы и тестировать прямо на ПК;
  • унифицированное рабочее пространство дает возможность легко подгонять проект под любые смартфоны и задавать перечень версий Android, которые должны поддерживаться
    приложением;
  • можно вносить изменения в проект уже с запущенным эмулятором, не перезапуская его заново, что очень удобно и облегчает работу;
  • в программу встроена масса полезных функций, таких как поддержка Google Cloud Platform, интеграция с GitHub и другое.

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

Создаем первые проекты

После того, как вы скачали установочный файл Android Studio, который занимает около 1 Гб, установили его стандартным путем, остается только начать работать. Для новичка все кажется сложным, но первые простые проекты для старта можно смело делать. Рассмотрим наиболее типичный пример – создадим приложение Hello World!

Чтобы начать, запустите программу и создайте свой первый проект, нажав в появившемся окне на строчку «New Project». Далее необходимо задать такие параметры проекта, как название, имя компании-разработчика (пишем что угодно), локализация проекта – путь размещения рабочих файлов.

В следующем окне разработчику предлагается выбрать, для каких версий Android создается его программа, на какие устройства: смартфоны и планшеты, смарт-часы, ТВ и прочее. В следующем окне выбирается шаблон пользовательского интерфейса, который максимально подходит для будущей программы. Для «HelloWorld!» подойдет базовый вариант Empty Activity. Далее после ввода основной информации о проекте касательно его имени и тайтла остается лишь нажать на кнопку «Finish» и начать работать.

Чтобы создать надпись «HelloWorld!» на экране приложения, используем инструмент TextView. Также давайте добавим Button с надписью «Click Me». Если открыть текстовый редактор кода, то приложение должно выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView"
        android:text="HelloWorld!"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="24dp"
        android:gravity="center"
        android:textSize="25sp"/>
    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="24dp"
        android:text="Click Me"/>
</LinearLayout>

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

Далее откроем класс MainActivity и добавим для обработки нажатие и после-нажатие изменяем текст. Пример кода:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val textView = findViewById<TextView>(R.id.textView)
    val button = findViewById<Button>(R.id.button)
    button.setOnClickListener {
        textView.text = "You clicked button"
    }
}

Приложение готово! Надо его лишь запустить и протестировать. Для этого необходимо предварительно настроить работу эмулятора Android Studio и нажать на кнопку Run в главном окне интерфейса. В зависимости от мощности компьютера разработчика, с определенной скоростью запустится эмулятор, и в нем отобразится ваше творение – приложение, в котором по центру экрана красуется надпись «HelloWorld» и кнопка. После нажатия кнопки надпись меняется на «You clicked button»

На чем сфокусироваться новичку

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

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

Все моменты программы осваиваются быстро и относительно просто, но не стоит забывать, что Android Studio – это все же создание приложения, и оно требует от человека знания языка программирования, и лучше всего, чтобы это был Kotlin или Java.

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

За последний год 53% интернет-трафика пришло с мобильных устройств, а приложения для Android используются значительно чаще прочих – до 71% смартфонов и планшетов работают под управлением самой популярной ОС в мире.

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

<i>Источник: <a href="https://hired.com/state-of-software-engineers" target="_blank" rel="noopener noreferrer nofollow">Hired</a>.</i>

Источник: Hired.

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

<i>Источник: <a href="https://hired.com/state-of-software-engineers" target="_blank" rel="noopener noreferrer nofollow">Hired</a>.</i>

Источник: Hired.

С какого языка программирования начать

Несмотря на более высокую востребованность Kotlin, если вы совсем новичок в программировании, начинать стоит с изучения Java. Тому есть несколько причин:

  • У Java огромное комьюнити, и вам будет проще получить от экспертов ответы на возникшие вопросы. По Java больше туториалов, курсов и других бесплатных материалов.
  • Для вас откроется большее количество вакансий. В случае, если вы передумаете заниматься мобильной разработкой, перейти на другое направление будет проще.
  • Kotlin стал официальным языком для приложений на Android только в 2017 году. Все более ранние разработки написаны на Java, а с ними так или иначе придется взаимодействовать. Не говоря уже об огромном количестве библиотек и инструментов для Java, который существует с 1999 года.
  • Высокотехнологичные программы (машинное обучение и вот это все) лучше писать на Java.
  • Kotlin очень легко выучить, если вы знаете Java.

Тем не менее, в 2019 году Google объявил Kotlin как предпочтительный язык для разработки мобильных приложений на Android.

Вывод:

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

Приложение для Андроида состоит из четырех основных блоков, каждый из которых живет своей жизнью (имеет независимый жизненный цикл) – это означает, что создается и удаляется каждый компонент по-разному.

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

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 или Genymotion. Второй – быстрее и с большим количеством опций, но бесплатная версия доступна только для личного использования (Как загрузить Google-приложение в Genymotion).

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

Инсталлируем среду разработки в Windows

1. Для более быстрой установки и работы рекомендуется иметь систему с 8 GB RAM, 4 GB свободной памяти на жестком диске и минимальным разрешением экрана 1280 x 800.

2. Скачиваем Android Studio.

3. Когда студия запускается, просто нажимаем несколько раз «next», там все нужное уже отмечено.

4. Когда у вас появляется окошко «Import Android Studio Settings», выбираем «do not import settings».

5. В «Install type» выбираем «Standard».

6. Выбираем светлую или темную тему.

7. Нажимаем «Finish».

8. Когда появилось окошко для начала нового проекта, нажимаем «Configure», а потом «Settings».

9. В открывшемся окне слева выбираем «System settings», а потом «Andoid SDK». Тут рекомендуется выбрать среды для всех версий Android, так как они пригодятся, когда вы будете создавать приложения под разные устройства. Если у вас не хватает памяти, можно не скачивать – для первого раза они не понадобятся.

Структура проекта в Android Studio

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

Когда вы впервые создаете приложение, в новом проекте сразу появятся модули: «Android app module» и «Gradle».

<i>Источник: <a href="https://developer.android.com/studio/projects" target="_blank" rel="noopener noreferrer nofollow">Developer. Android</a></i>

Источник: Developer. Android

«Android app module» состоит из следующих элементов:

  • Манифесты – содержит файлы AndroidManifest.xml.
  • Java – содержит файлы с кодом.
  • Ресурсы (res) – (о них мы говорили выше) содержит все некодовые файлы.

«Gradle» – это система сборки приложения. Она настраивается отдельно для каждого приложения.

Можно добавить следующие модули:

  • «Feature module» – позволяет настроить, какие функции появляются вследствии наступления определенного условия или скачиваются пользователем в ваше приложение.
  • «Library module» – состоит из тех же элементов, что и «Android app module». Представляет собой что-то вроде архива для повторно используемого кода.
  • «Google Cloud module» – контейнер для бэкенд-кода в Google cloud.

Как добавить новые модули: 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:

  • находим на верхней панели «AVD Manager», нажимаем.
  • в открывшемся окне нажимаем «Create virtual device» и выбираем вид устройства и модель.
  • далее потребуется скачать любую версию Android. Когда все скачалось, нажимаем «finish».
  • теперь вы можете запустить первый проект, нажав «Run».
  • приготовьтесь ждать.

📱 Разработка приложений на Android с нуля: установка среды разработки

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

1. В настройках устройства нужно найти «Параметры разработчика —> Отладка USB».

2. Убедитесь, что на на вашем компьютере установлен «USB Driver».

3. Подключите андроид-устройство через порт USB.

4. В Android Studio в панели инструментов выберите ваше устройство.

📱 Разработка приложений на Android с нуля: установка среды разработки

5. Нажмите «Run». Приложение загрузится и запустится.

***

Хочу освоить алгоритмы и структуры данных, но сложно разобраться самостоятельно. Что делать?

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

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

Курс подходит как junior, так и middle-разработчикам.

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

Составные элементы приложение на ОС Андроид

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

Востребованность Android-разработчиков на рынке труда

Как стать разработчиком приложений на Android?

Подготовка к разработке

Первым делом необходимо привести общую информацию, позволяющую получить более полное представление о процессе программирования приложений для Андроид. В отличие от платформы iOS, которую разработала корпорация Apple, созданием Android занимается Google. Программы преимущественно пишутся на одном из самых простых и широко распространенных языков программирования — Java. В последние пару лет Google пытается продвигать альтернативы в виде C++ и более современного Kotlin.

Но пока они не могут сравниться по популярности с Java.

Общая схема разработки мобильного приложения для ОС Android достаточно проста и предусматривает последовательную реализацию четырех основных этапов:

  1. Создание проекта в бесплатном сервисе Android Studio.
  2. Разработка интерфейса пользователя.
  3. Добавление в приложение навигации и динамических активностей.
  4. Проверка работоспособности программы с помощью тест-драйва на эмуляторе.

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

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

Основным инструментом начинающих разработчиков приложений для мобильных устройств на сегодняшний день является Android Studio. Фактически он представляет собой официальную среду программирования (англоязычная аббревиатура – IDE) для этой операционной системы. Сервис работает на всех трех самых распространенных OS для ПК – Windows, macOS и Linux. Он доступен для скачивания как из Google Play, так и с официального сайта компании-разработчика.

Android Studio – далеко не единственная IDE для программирования приложений на этой операционной системе. Но ни один другой сервис не способен конкурировать с ней по популярности среди пользователей.

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

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

Составные элементы приложение на ОС Андроид

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

  1. Activity (в русскоязычном сегменте обозначается как activity). Компонент формируется из интерактивных элементов пользовательского интерфейса. Схема работы выглядит следующим образом: активность запускается пользователем через намерения и задействует другую активность. Фактически, каждая – это веб-страница, а намерения выступают перекрестными ссылками между ними.
  2. Service (сервис). Относится к универсальным точкам входа, задействование которой запускает фоновый режим работы приложения. Компонент требуется в том случае, когда программа производит продолжительные операции без активного вмешательства и визуального контроля со стороны пользователя.
  3. Broadcast Receiver (широковещательный приемник). Необходим для передачи намерений и активностей приложения другим программным продуктам или пользователям.
  4. Content Provider (поставщик контента). Содержит общий набор данных, которые требуются для эффективной работы приложения на OS Android. Речь идет о файловой системе, СУБД SQLite и других хранилищах информации, перечень которых определяется назначением и характеристиками программного продукта.

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

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

Этап №1. Создание проекта

Первым шагом становится скачивание и открытие Android Studio. Затем необходимо создать проект, указать путь к нему и другие запрашиваемые программой сведения. Отдельного упоминания заслуживает активация поддержки других языков программирования, помимо Java. Речь идет об упомянутых выше Kotlin или C++.

Этап №2. Выбор базовых опций

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

Зависимость качеств приложениям от версии ОС и уровня API достаточно проста. Чем выше версия операционной системы, тем на меньшем количестве мобильных устройств она запустится и будет работать без проблем. Но это оборачивается существенным преимуществом, которое заключается в намного большем объеме доступного разработчику и пользователю функционале API. Другими словами, программисту нужно выбирать, что важнее: обширная сфера практического использования или ширина спектра возможностей для реализации творческих задумок.

Этап №3. Задание основной активности

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

Этап №4. Определение исходных опций приложения

После выполнения первых трех шагов Android Studio производит начальную сборку приложения на основе заданных сведений. Обычно на это уходит несколько минут. Далее требуется определиться с тремя ключевыми моментами:

  • выбор режима работы приложения (в окне или полноэкранный);

  • определение основной активности (указывается в файле activity_fullscreen.xml)

  • установка фундаментальных характеристик (посредством файла AndroidManifest.xml).

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

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="ru.skillbox.skillboxapp">

<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

<activity

android:name=".FullscreenActivity"

android:configChanges="orientation|keyboardHidden|screenSize"

android:label="@string/app_name"

android:theme="@style/FullscreenTheme">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

Этап №5. Запуск программы на эмуляторе или мобильном устройстве

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

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

Этап №6. Создание интерфейса пользователя

Задача решается посредством иерархии макетов и виджетов. Первая включает объекты ViewGroup и layouts, а вторая – объекты View. Первая управляет размещение виджетов на экране устройства. Вторая включает основные визуальные элементы UI, в том числе: текстовые поля, кнопки и многое другое. Для создания интерфейса используется встроенный в Android Studio редактор макетов, который называется Layout Editor.

Этап №7. Добавление активностей, действий и навигации внутри приложения

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

Этап №8. Запуск приложения и устранение ошибок

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

Востребованность Android-разработчиков на рынке труда

По состоянию на декабрь 2022 года квалифицированные Андроид-программисты входят в число наиболее востребованных специалистов. Даже при сравнении с другими представителями IT-индустрии. Причем в большинстве случаев речь идет о высокооплачиваемых вакансиях. Чтобы наглядно продемонстрировать справедливость данного утверждения, достаточно привести следующий скриншот, сделанный с одного из самых популярных «кадровых» ресурсов России – hh.ru.

Изучение содержащейся на нем информации позволяет сделать несколько выводов:

  1. Количество открытых вакансий приближается к семи сотням. Причем речь идет только о Москве. По России подобных предложений намного больше.
  2. Средний уровень зарплат, которые работодатели предлагают кандидатам-новичкам, составляет примерно 150-200 тысяч рублей. Отсюда можно сделать очевидный вывод: после подтверждения квалификации специалист наверняка получит еще больше.
  3. Среди работодателей присутствуют серьезные и крупные столичные компании, что позволяет рассчитывать на длительное и взаимовыгодное сотрудничество.

Как стать разработчиком приложений на Android?

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

Наименование онлайн-курса

Название учебного центра

Цена подготовки

Длительность обучения

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

Android-разработчик с нуля

Нетология

109 500 руб. или по 4 562 руб. в месяц в течение 24 месяцев.

14 месяцев.

Разные форматы проведения занятий – от вебинаров и видео лекций до практики.

Возможность приступить к работе по специальности уже через полгода.

Акцент на самых популярных и официальных языках Android-программирования – Kotlin и Java.

Отсутствие требований к исходной подготовке слушателей.

Оптимальное сочетание теории и практики.

Подарки и бонусы от компаний-партнеров Нетологии.

Карьерные консультации и помощь в трудоустройстве.

Рассрочка по оплате учебы на 2 года.

Разработка мобильных приложений с нуля

Нетология

Бесплатно

20 часов занятий (5 — теории и 15 –практики)

Удобный формат и график подготовки.

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

Возможность продолжить обучение профессии на углубленном уровне.

Итоговое онлайн-тестирование с выдачей сертификата.

Бесплатное предоставление доступа к курсу, предусматривающее обычную регистрацию на сайте учебного центра.

Разработчик приложений на Android

GeekBrains

114 012 руб. или по 3 167 руб. в месяц в течение 36 месяцев.

12 месяцев (по 12 часов еженедельно)

Акцент на выполнении практических заданий.

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

Несколько специализаций в рамках одного учебного курса.

Помощь в профессиональной ориентации и трудоустройстве.

Рассрочка по оплате за учебу на 3 года.

Профессия Android-разработчик

Skillbox

145 434 руб. или по 4 601 руб. в месяц в течение 31 месяца.

7,5 месяца

Бесплатный доступ к первым 4 учебным модулям.

Разбор практических кейсов.

Стажировка после 9 месяцев подготовки с возможностью трудоустройства.

Предоставление карьерных консультаций и помощь в составлении резюме-портфолио.

Подарки и бонусы от учебного центра и компаний-партнеров.

Привлечение к преподаванию курса практикующих Андроид-разработчиков.

Рассрочка по оплате обучения на 2,5 года.

Профессия Мобильный разработчик

Skillbox

181 660 руб. или по 5 860 руб. в месяц с течение 31 месяца.

7,5 месяца

Несколько направлений подготовки внутри одного курса.

Стажировка с перспективой дальнейшего трудоустройства.

Помощь в формировании портфолио/резюме и составление индивидуального карьерного плана.

Поиск вакансий в компаниях-партнерах.

Рассрочка по оплате обучения на 2,5 года.

Курс «Android-разработчик»

Яндекс. Практикум

168 000 руб. или по 8 411 руб. в месяц в течение 24 месяцев.

12 месяцев

Приглашение к преподаванию курса практикующих и опытных Андроид-разработчиков.

Разные форматы проведения учебных занятий.

Закрепление за каждым слушателем персонального наставника.

Круглосуточная работа службы поддержки.

Помощь специалистов карьерного центра Яндекса.

Рассрочка по оплате обучения на два года.

Профессия Android-разработчик

SkillFactory

145 188 руб. или по 4 033 руб. в месяц в течение 36 месяцев.

16 месяцев

Отсутствие требований к начальной подготовке слушателей.

Детально проработанная образовательная программа.

Бонусы от компаний-партнеров.

Выполнение двух дипломных проектов с последующим включением в портфолио.

Помощь Центра карьеры SkillFactory в трудоустройстве.

Несколько тарифов на выбор.

Рассрочка по оплате обучения на 3 года.

Что почитать по теме

  1. Официальный сайт службы поддержки Google.
  2. Видеоролики на YouTube №1.
  3. Видеоролик на YouTube №2.
  4. Информационный материал Skillbox Media.

FAQ

Можно ли создать приложение для Андроид самостоятельно?

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

Какие инструменты для этого используются?

Основной рабочий инструмент разработчика приложения для рассматриваемой операционной системы – бесплатный сервис Android Studio. При его скачивании устанавливаются все необходимые вспомогательные программы.

Что нужно знать для разработки приложения?

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

Какова последовательность предпринимаемых разработчиком действий?

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

Подведем итоги

  1. Самостоятельная разработка приложений для Андроид вполне возможна, причем на основе базовых знаний в программировании.
  2. Для этого имеется достаточно бесплатных ресурсов, включая самый популярный – Android Studio.
  3. Он представляет собой универсальную среду программирования, эффективно работающую во всех популярных ОС для ПК – Windows, macOS и Linux.
  4. В Android Studio встроены все необходимые для создания приложения дополнительные и вспомогательные инструменты.
  5. Для эффективного использования сервиса необходимо внимательно изучить его функционал, получить базовые навыки программирования и опыт их практической реализации.

Этот туториал содержит информацию по разработке приложений на Android для совсем начинающих.

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

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

Шаг 1. Скачайте инструменты, необходимые для разработки приложений на Android.

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

Android Studio — это IDE. Что означает “integrated development environment” (интегрированная среда разработки), которая, по сути, представляет собой интерфейс, в который вы можете ввести свой код (в первую очередь, Java или Kotlin) и получить доступ ко всем инструментам, необходимым для разработки. Android Studio позволяет получать доступ к библиотекам и API из Android SDK, тем самым предоставляя вам доступ к собственным функциям операционной системы. Вы также сможете встроить приложение в APK с помощью Gradle, протестировать его через «виртуальное устройство» (эмулятор) и отладить код во время работы.

С учетом всего вышесказанного имейте в виду, что существуют и другие варианты разработки вашего приложения на Android. Например, Unity — очень мощный инструмент для разработки кроссплатформенных игр, который также поддерживает Android. Есть еще Visual Studio с Xamarin — отличное сочетание для создания кроссплатформенных приложений на C#.

Для того чтобы начать, Android Studio является лучшим местом (за исключением разработки игр для Android), так как предоставляет все дополнительные инструменты и ресурсы в одном месте.

К счастью, настройка очень проста, и вам нужно только следовать инструкциям.

Шаг 2. Создайте новый проект

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

Перейдите в File> New> New Project. Теперь вам будет предложено выбрать Project Template (шаблон проекта). Этот шаг определяет код и элементы пользовательского интерфейса, которые будут включены в ваше новое приложение при его загрузке.

Activity (активити) относится к screen (экрану) в вашем приложении. То есть, проект с No Activity будет полностью пустым, за исключением базовой файловой структуры. Basic Activity же создаст стартовый экран для вашего приложения, добавит кнопку внизу и гамбургер-меню вверху. Это общие элементы во многих приложениях на Android, так что это поможет сэкономить вам время.

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

Выберите имя и package name вашего нового приложения. Имя — это то, что увидит ваша аудитория, когда приложение будет установлено на их устройство. Рackage name — это внутренняя ссылка, используемая Android, чтобы отличать его от других приложений. Она должен быть составлена с использованием вашего домена верхнего уровня (например, .com), имени домена и имени приложения.

Например: com.androidauthority.sampleapp.

Если у вас нет домена или компании, просто используйте com, а затем укажите что-нибудь, что вам нравится!

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

Сравниваем Java и Kotlin в разработке приложений на Android

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

Java поддерживается Google дольше. Java — это язык, который разработчики использовали для создания приложений на Android в течение многих лет. Java также является одним из самых востребованных языков программирования в мире. Будучи старейшим языком программирования на Android, Java имеет немного больше поддержки, чем Kotlin.

Kotlin, с другой стороны, стал предпочтительным выбором Google для разработки под Android. Мы по умолчанию выберем этот язык  при создании нового приложения, которое, вероятно, станет более распространенным в будущем. С Kotlin также значительно легче разобраться, если вы полный новичок.

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

Минимальный SDK

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

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

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

Шаг 3. Ознакомьтесь с файлами

Я помню, как впервые попробовал разрабатывать приложения для Android. Я загрузил Android Studio и сразу же был сбит с толку увиденным. Есть так много разных файлов, несколько типов кода, папок и многого другого! Это было далеко от единственного пустого файла, с которым я привык работать в Python или даже QBasic (кто-нибудь помнит QBasic??).Выглядеть это может довольно сложно, но вот что вам нужно знать.

Открытый файл — это MainActivity.java или MainActivity.kt. Это основной файл логики для активити, которое будет определять поведение вашего приложения. Посмотрите налево, и вы увидите, что этот файл находится в: MyApplication> app> src> main> java> com> companyname> myapplication.

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

Вы заметите, что на главной странице уже есть код. Это то, что мы называем «шаблонным кодом», что означает, что это код, который практически идентичен для разных проектов приложений и необходим для работы основных функций. Шаблонный код — это то, что вы будете вводить снова и снова! Одним из преимуществ Kotlin является то, что он требует меньше шаблонов, а это означает, что у вас будет меньше кода на экране.

Файлы layout

Задача этого кода сообщить Android, где находится связанный файл layout. Файл layout немного отличается от файла Kotlin/Java. Это определяет способ того, как будет выглядит активити, и позволяет вам добавлять такие вещи, как кнопки, текст и окна браузера.

Вы найдете этот файл в: MyApplication> app> src> res> layout.

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

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

В варианте «Design» вы можете перетаскивать различные виджеты на экран. В варианте Code отображается загрузка XML-сценария. Когда вы добавляете новые виджеты через Design, этот скрипт обновляется. Точно так же вы можете настроить здесь свойства виджетов (называемых «вьюхами») и увидеть их отражение в режиме реального времени через вью Code.

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

Остальные файлы и папки

Однако здесь гораздо больше файлов и папок, так что же они все делают?

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

Android Manifest: это XML-файл в папке res, который определяет важные функции вашего приложения. Включает ориентацию приложения, действия, которые вы хотите включить в него, версию и т.д.

Drawable: эта папка находится в res. Сюда вы будете помещать такие вещи, как изображения, на которые хотите ссылаться позже.

Values: эта папка ресурсов — полезное место для хранения значений, которые будут использоваться глобально в вашем приложении. Например, это могут быть цветовые коды (упрощающие изменение внешнего вида всего приложения). Вы определите эти значения в отдельных файлах XML, например в colors.xml.

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

Шаг 4. Протестируйте свое приложение

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

Если вы посмотрите на элементы управления вверху, вы увидите небольшую зеленую стрелку воспроизведения. Слева от нее находится раскрывающееся меню с именем телефона. Когда вы установили Android Studio, он также должен был установить Android system image вместе с Virtual Device Manager. Другими словами, у вас уже должен быть установлен и готов к работе эмулятор Android! Нажав на эту зеленую стрелку, вы сможете запустить и протестировать свое приложение! Обратите внимание, что вы также сможете использовать симулятор телефона, как если бы это было настоящее устройство.

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

Кроме того, вы можете попробовать подключить к компьютеру физическое устройство и использовать его для тестирования нового приложения. Однако вам нужно включить Developer Options (параметры разработчика) и включить USB Debugging (отладку ошибок).

Шаг 5: Действуйте!

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

Изменить отображаемое сообщение так же просто, как зайти в свой XML и изменить строку с надписью «Hello World!» в «Howdy World!«

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

Во-первых, вам нужно поместить эту строку в тег TextView в файле activity_main.xml:

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

  • Android Studio — создание приложения
  • Разработка приложений для Android — cоздаем новый проект
  • Как сделать приложение для андроид — дерево проекта
  • Как сделать свое приложение для Android — написание приложения
  • Создание приложения для андроид — построение и тестирование
  • Что делать дальше и заключение

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

Но сначала нужно загрузить и установить Java Development Kit (JDK) от Oracle. Найдите раздел «Java SE Development Kit 7u79» и загрузите версию для своего ПК. Важно загрузить правильную версию (32-разрядную или 64-разрядную), иначе Android Studio не сможет найти Java Runtime Environment (JRE).

Примечание: Oracle не будет публиковать на своих общедоступных сайтах какие-либо обновления Java SE 7, и предполагается, что пользователи массово перейдут на Java 8. Но в настоящий момент Android Studio требует наличия Java 7. Это может измениться в будущем.

После того, как вы установили JDK, нужно инсталлировать Android Studio. Во время установки необходимо указать, сколько памяти зарезервировать для эмулятора Android. Он запускает Android в виде виртуальной машины, как смартфон с процессором Intel. Это быстрее, чем эмуляция процессора ARM на ПК. Но для запуска этой виртуальной машины эмулятор должен выделить некоторый объем памяти. Но перед тем как создать приложение для Андроид самому, имейте в виду, что сочетание Android Studio, Java и эмулятора будет довольно ресурсоемким, и компьютер может подтормаживать.

Google говорит, что необходимо как минимум 2 ГБ оперативной памяти, а рекомендуется 4 ГБ. Но мой основной ПК имеет 8 ГБ, и все равно иногда тормозит:

Android Studio - создание приложения

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

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

Нажмите «Start a new Android Studio project» и введите название своего приложения в поле «Application name». В поле «Company Domain» введите официальный домен вашей компании. Если вы независимый разработчик или любитель, введите собственный домен. Если вы просто экспериментируете с Android и не собираетесь в ближайшее время публиковать свои приложения в Google Play, просто оставьте пример домена, только измените «user» на ваше имя (без пробелов):

Разработка приложений для Android - cоздаем новый проект

В следующем диалоговом окне проверьте, чтобы у вас выбрана опция «Phone and Tablet», а для «Minimum SDK» установлено — API 15: Android 4.0.3. Для опций «Wear» и «TV» флажки не должны быть установлены.

В диалоговом окне «Add an activity to Mobile» оставьте значение по умолчанию «Blank Activity» и нажмите «Next». В диалоговом окне «Customize the Activity» оставьте все значения и нажмите «Finish»:

Разработка приложений для Android - cоздаем новый проект - 2

Интегрированная среда разработки (IDE) запущена. Это может занять несколько минут (особенно, если вы впервые создали проект). Если при запуске IDE увидите сообщение об ошибке «Rendering Problems: Rendering failed with known bug», нажмите ссылку «rebuild», которая отображается рядом с сообщением об ошибке.

По умолчанию, рабочее пространство среды IDE делится на три основные части (не считая панели инструментов и т. д.). Слева сверху находится дерево проекта. Справа от него — редактор кода, а под ними сообщения.

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

Дерево проекта содержит все файлы и ресурсы, необходимые для создания Android-приложения. Если вы знакомы с написанием простых программ на Java, C, Python и т. д., то могли бы подумать, что все будет содержаться только в одном или двух файлах. Но разработка Android-приложений немного сложнее:

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

В узле «app» дерева проектов содержится несколько узлов (например, папки), которые можно развернуть. Узлами верхнего уровня являются “manifests”, “java” и “res”. Последний — это сокращение от “resources”.

В “manifests” располагается файл «AndroidManifest.xml», каждое приложение должно содержать его. Это XML-файл с информацией о приложении, включая его название. Часто добавляемым в этот файл элементом является список разрешений, необходимых для приложения. Для этого простого приложения не нужно здесь ничего менять.

В разделе «java» располагается Java-код приложения. Он будет находиться в подкаталоге, с именем com.example.user.myfirstapp. Это имя домена компании, которое вы ввели ранее, только наоборот, плюс название приложения. В этой папке находится файл MainActivity.java. Это точка входа в приложение и единственный файл Java, который нам понадобится.

Продолжаем создавать простое приложение для Андроид. В разделе «res» есть несколько папок для графики, меню и элементов пользовательского интерфейса. Нас интересуют «layout» и «values». В папке «layout» находится файл под названием «activity_main.xml». Это XML-файл, описывающий пользовательский интерфейс. Редактировать его можно двумя способами. Первый — непосредственное редактирование XML-кода, второй — использование встроенного дизайнера пользовательского интерфейса:

Как сделать приложение для андроид - дерево проекта - 2

В папке «values» содержатся несколько XML-файлов. В данный момент наиболее важным для нас является strings.xml. Вместо того чтобы задавать в Java-коде строковые значения их принято помещать в файл «strings.xml», и мы можем ссылаться на них через идентификаторы. Преимущество заключается в том, что если строка используется несколько раз, ее можно изменить только один раз, и изменения вступят в силу во всех местах. Это также упрощает поддержку нескольких языков в приложении.

Чтобы создать приложение для Андроид самому, нужно будет изменить файлы MainActivity.java, activity_main.xml и strings.xml.

Для нашего примера мы добавим кнопку с меткой «Tap Me!», изменим приветствие по умолчанию «Hello world!» на «Tap me if you dare!». А также поменяем его, чтобы оно находилась в центре. И добавим код, чтобы при нажатии кнопки отображался текст «toast»!

Начнем с изменения текста приветствия и его выравнивания. Сначала найдите в дереве проекта файл «activity_main.xml» и дважды кликните по нему. Помните, что «activity_main.xml» — это файл, который содержит определение пользовательского интерфейса. В нижней части окна кода есть две вкладки: «Design» и «Text». Перейдите на вкладку «Design».

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

В окне свойств, расположенном справа от изображения телефона, прокрутите экран вниз до тех пор, пока не найдете надпись «layout: centerInParent». Кликните по пробелу рядом с ней и выберите «horizontal». После этого текст «Hello world!» переместится в центр:

Как сделать свое приложение для Android - написание приложения

Перед тем, как создать приложение для Android без навыков, изменим текст. Строка «Hello world!» хранится в файле «strings.xml» в разделе res-> values. Если вы дважды кликните по этому файлу, то увидите несколько строк XML, которые определяют строки, используемые приложением.

Найдите эту строку:

XMLSELECT ALL
XMLSELECT ALL
<string name="hello_world">Hello world!</string>

И измените ее на:

CSSELECT ALL
CSSELECT ALL
<string name="hello_world">Tap me if you dare!</string>

Мы изменили выравнивание приветствия и его текст. Теперь добавим кнопку. Вернитесь на вкладку «Design» файла «activity_main.xml», найдите в списке «Palette» слева от изображения смартфона пункт «Button» и нажмите на него. Теперь кликните где-нибудь под надписью «Tap me if you dare!».

Дважды кликните по кнопке, чтобы изменить ее текст. В конце поля “text:” расположена кнопка с тремя точками, нажмите на нее. В окне «Resources» нажмите «New Resource», а затем «New String Value…». В поле «Resource name:» введите «tapme», а в поле «Resource value:» — “Tap me!”. Затем нажмите «ОК». Теперь у нас есть кнопка “Tap me!”.

Последний шаг создания простого приложения для Андроид — добавить Java-код, который реагирует на нажатие кнопки. Один из элементов пользовательского интерфейса Android — это “toast.”. Он предоставляет простое сообщение в небольшом всплывающем окне. Вы, несомненно, видели это. Например, в Gmail при выходе из электронной почты до отправки письма выводится сообщение «Сообщение сохранено в черновики». Спустя определенное время оно исчезает.

Для нашего примера приложения мы будем отображать сообщение каждый раз, когда нажимается кнопка. Первым шагом является добавление Java-кода. Найдите файл «MainActivity.java» и добавьте следующий код в «onCreate«:

JAVASELECT ALL
JAVASELECT ALL
public void onButtonTap(View v) {
        Toast myToast = Toast.makeText(getApplicationContext(), "Ouch!", Toast.LENGTH_LONG);
        myToast.show();
}

Слово «View» во фразе «(View v)» будет красным, рядом с ним отображается сообщение, что вы использовали новую конструкцию (View), не импортируя ее в разделе импорта, в верхней части Java-кода. Это легко исправить. Нажмите на слово «View», а затем ALT + ENTER. Если слово “Toast” отмечено красным цветом, проделайте то же самое еще раз:

Как сделать свое приложение для Android - написание приложения - 2

Вернитесь в раздел конструктора файла «activity_main.xml», нажмите кнопку и прокрутите список свойств до пункта «onClick». Нажмите на поле справа, и на экране появится список функций. Кликните по «onButtonTap», это функция, которую мы только что добавили.

Теперь функция onButtonTap() будет вызываться всякий раз, когда будет нажиматься кнопка. Чтобы вывести сообщение, мы вызываем myToast.show().

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

В меню «Tools» перейдите к Android- AVD Manager. Этот инструмент отображает список текущих настроенных виртуальных Android-устройств. У вас будет одно устройство, настроенное по умолчанию, возможно, Nexus 5. Нажмите на значок воспроизведения (треугольник) в столбце «actions». Это запустит эмулятор.

В зависимости от производительности вашего ПК и объема выделенной памяти запуск эмулятора может занять несколько минут. После того, как эмулятор будет запущен, перейдите в меню «Tools» и нажмите «Run ‘app». Приложение будет скомпилировано и отправлено в эмулятор. Во время этого Android Studio спросит вас, какой эмулятор использовать. Вы увидите в списке свой текущий эмулятор. Это должна быть опция по умолчанию, поэтому просто нажмите «OK»:

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

Приложение появится в эмуляторе. Нажмите кнопку “Tap me!” — в нижней части экрана должно появиться сообщение. Поздравляю, все работает!

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

Когда устройство будет подключено, нажмите «Run ‘app» в меню «Tools», но на этот раз не отправляйте приложение на виртуальное устройство, а отправьте на реальное устройство. Если устройство отсутствует в списке, это означает, что вы не включили отладку по USB или необходимо установить соответствующий USB-драйвер. Смотрите разделы USB-драйверы OEM и USB-драйвера Google в документации Google.

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

Но прежде всего вам стоит продолжать учиться!

Понравилась статья? Поделить с друзьями:
  • Как написать проститутке
  • Как написать простительное письмо
  • Как написать прости на чеченском
  • Как написать проект про кошку
  • Как написать проект про имя