0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#Руководства</a></p>
1
<p><a>#Руководства</a></p>
2
<ul><li>18 мар 2025</li>
2
<ul><li>18 мар 2025</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.</p>
4
</ul><p>Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.</p>
5
<p> vlada_maestro / shutterstock</p>
5
<p> vlada_maestro / shutterstock</p>
6
<p>Пишет про разработку в Skillbox Media. Работал главным редактором сайта "Хабрахабр", ведёт корпоративные блоги.</p>
6
<p>Пишет про разработку в Skillbox Media. Работал главным редактором сайта "Хабрахабр", ведёт корпоративные блоги.</p>
7
<p>Язык программирования для<a>мобильной разработки</a>на Android очень простой - это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.</p>
7
<p>Язык программирования для<a>мобильной разработки</a>на Android очень простой - это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.</p>
8
<p>Создание простейшего приложения состоит из нескольких этапов:</p>
8
<p>Создание простейшего приложения состоит из нескольких этапов:</p>
9
<ul><li>проект в Android Studio;</li>
9
<ul><li>проект в Android Studio;</li>
10
<li>создание пользовательского интерфейса;</li>
10
<li>создание пользовательского интерфейса;</li>
11
<li>добавление активностей, навигации и действий;</li>
11
<li>добавление активностей, навигации и действий;</li>
12
<li>тест-драйв приложения в эмуляторе.</li>
12
<li>тест-драйв приложения в эмуляторе.</li>
13
</ul><p>Первым делом установите программу<a>Android Studio</a>. Это официальная среда разработки (IDE) для Android, она работает на Windows,<a>macOS</a>и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.</p>
13
</ul><p>Первым делом установите программу<a>Android Studio</a>. Это официальная среда разработки (IDE) для Android, она работает на Windows,<a>macOS</a>и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.</p>
14
<p>Если на компьютере не установлены<em><strong>Android SDK</strong></em>и другие компоненты, то <em><strong>Android Studio</strong></em>автоматически скачает их. Android SDK - это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.</p>
14
<p>Если на компьютере не установлены<em><strong>Android SDK</strong></em>и другие компоненты, то <em><strong>Android Studio</strong></em>автоматически скачает их. Android SDK - это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.</p>
15
<p><em><strong>Android SDK</strong></em>компилирует код вместе с любыми данными и ресурсами в файл с расширением<em>.apk</em>. Он содержит всё необходимое для установки приложения на Android-устройство.</p>
15
<p><em><strong>Android SDK</strong></em>компилирует код вместе с любыми данными и ресурсами в файл с расширением<em>.apk</em>. Он содержит всё необходимое для установки приложения на Android-устройство.</p>
16
<p>Полезно установить и эмулятор<em>Android</em>, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с <em>Android Studio</em>.</p>
16
<p>Полезно установить и эмулятор<em>Android</em>, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с <em>Android Studio</em>.</p>
17
<p>Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.</p>
17
<p>Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.</p>
18
<p>Android-приложение состоит из четырёх компонентов. Каждый компонент - это точка входа, через которую система или пользователь может получить доступ.</p>
18
<p>Android-приложение состоит из четырёх компонентов. Каждый компонент - это точка входа, через которую система или пользователь может получить доступ.</p>
19
<ul><li><a><strong>Активность</strong></a><strong>(activity)</strong>- элементы интерактивного пользовательского интерфейса.<em>Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения - ссылкам между ними. Запуск приложения - это активность Main.</em></li>
19
<ul><li><a><strong>Активность</strong></a><strong>(activity)</strong>- элементы интерактивного пользовательского интерфейса.<em>Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения - ссылкам между ними. Запуск приложения - это активность Main.</em></li>
20
<li><a><strong>Сервис</strong></a><strong>(service)</strong>- универсальная точка входа для поддержания работы приложения в фоновом режиме.<em>Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса.</em></li>
20
<li><a><strong>Сервис</strong></a><strong>(service)</strong>- универсальная точка входа для поддержания работы приложения в фоновом режиме.<em>Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса.</em></li>
21
<li><a><strong>Широковещательный приемник</strong></a>(broadcast receiver) транслирует нескольким участникам намерения из приложения.</li>
21
<li><a><strong>Широковещательный приемник</strong></a>(broadcast receiver) транслирует нескольким участникам намерения из приложения.</li>
22
<li><a><strong>Поставщик содержимого</strong></a><strong></strong>(content provider) управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или другого хранилища.</li>
22
<li><a><strong>Поставщик содержимого</strong></a><strong></strong>(content provider) управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или другого хранилища.</li>
23
</ul><p>Теперь попробуем сделать своё приложение для Android.</p>
23
</ul><p>Теперь попробуем сделать своё приложение для Android.</p>
24
<p>Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.</p>
24
<p>Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.</p>
25
<p>Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).</p>
25
<p>Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).</p>
26
<p><strong>Справка</strong></p>
26
<p><strong>Справка</strong></p>
27
<p>Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.</p>
27
<p>Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.</p>
28
<p>Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.</p>
28
<p>Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.</p>
29
<p>После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.</p>
29
<p>После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.</p>
30
<p>Если выбрать в выпадающем меню вид Android, то вы увидите файлы проекта. Например, наша основная активность называется<strong>app > java > ru.skillbox.skillboxapp > FullscreenActivity</strong>. При создании проекта мы указали вместо активности<em>Main</em>полноэкранную активность.</p>
30
<p>Если выбрать в выпадающем меню вид Android, то вы увидите файлы проекта. Например, наша основная активность называется<strong>app > java > ru.skillbox.skillboxapp > FullscreenActivity</strong>. При создании проекта мы указали вместо активности<em>Main</em>полноэкранную активность.</p>
31
<p>Далее можно посмотреть файл<strong>app > res > layout > activity_fullscreen.xml</strong>. Это XML-файл с макетом для UI нашей основной активности.</p>
31
<p>Далее можно посмотреть файл<strong>app > res > layout > activity_fullscreen.xml</strong>. Это XML-файл с макетом для UI нашей основной активности.</p>
32
<p>Наконец, третий важный файл<em><strong>app > manifests > AndroidManifest.xml</strong></em>описывает фундаментальные характеристики приложения и определяет все его компоненты.</p>
32
<p>Наконец, третий важный файл<em><strong>app > manifests > AndroidManifest.xml</strong></em>описывает фундаментальные характеристики приложения и определяет все его компоненты.</p>
33
<?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><p>Созданное нами приложение - это одна активность, которая запускается в полноэкранном режиме и не имеет графических элементов.</p>
33
<?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><p>Созданное нами приложение - это одна активность, которая запускается в полноэкранном режиме и не имеет графических элементов.</p>
34
<p>Запускаем на Android-устройстве или в эмуляторе.</p>
34
<p>Запускаем на Android-устройстве или в эмуляторе.</p>
35
<p>Смартфон или планшет для этого подключаем в режиме USB-отладки, которая активируется в <strong>Настройках разработчика</strong> в меню<em>Настройки</em>.</p>
35
<p>Смартфон или планшет для этого подключаем в режиме USB-отладки, которая активируется в <strong>Настройках разработчика</strong> в меню<em>Настройки</em>.</p>
36
<p>Для запуска в эмуляторе нажимаем в Android Studio кнопку<strong>Run</strong>в меню<em>Run</em>(Shift+F10). Выбираем подходящее устройство и версию ОС, портретную или ландшафтную (альбомную) ориентацию.</p>
36
<p>Для запуска в эмуляторе нажимаем в Android Studio кнопку<strong>Run</strong>в меню<em>Run</em>(Shift+F10). Выбираем подходящее устройство и версию ОС, портретную или ландшафтную (альбомную) ориентацию.</p>
37
Android Studio установит эмулятор и запустит его.<p>Пользовательский интерфейс Android-приложения создаётся через иерархию<strong>макетов</strong>(layouts, объекты ViewGroup) и <strong>виджетов</strong>(объекты View). Макеты управляют расположением дочерних виджетов на экране. Сами виджеты - это непосредственно компоненты UI: кнопки, текстовые поля на экране и т.п.</p>
37
Android Studio установит эмулятор и запустит его.<p>Пользовательский интерфейс Android-приложения создаётся через иерархию<strong>макетов</strong>(layouts, объекты ViewGroup) и <strong>виджетов</strong>(объекты View). Макеты управляют расположением дочерних виджетов на экране. Сами виджеты - это непосредственно компоненты UI: кнопки, текстовые поля на экране и т.п.</p>
38
<p>Интерфейс активностей создаётся в Android Studio в редакторе макетов (Layout Editor) и хранится по большей части в XML-файлах.</p>
38
<p>Интерфейс активностей создаётся в Android Studio в редакторе макетов (Layout Editor) и хранится по большей части в XML-файлах.</p>
39
<ul><li>Открываем файл<strong>app > res > layout > activity_fullscreen.xml</strong>.</li>
39
<ul><li>Открываем файл<strong>app > res > layout > activity_fullscreen.xml</strong>.</li>
40
<li>Добавляем на экран из палитры (Palette) виджеты перетаскиванием мышью.</li>
40
<li>Добавляем на экран из палитры (Palette) виджеты перетаскиванием мышью.</li>
41
<li>Например, берём текстовое поле (PlainText). Это виджет EditText, куда пользователь может вводить текст.</li>
41
<li>Например, берём текстовое поле (PlainText). Это виджет EditText, куда пользователь может вводить текст.</li>
42
<li>Добавляем кнопки и другие нужные элементы.</li>
42
<li>Добавляем кнопки и другие нужные элементы.</li>
43
</ul>Также на экран можно перетащить кнопки и другие элементы.<p>Предположим, мы создали активность с текстовым полем и кнопкой "Отправить". После этого нужно написать, что конкретно будет происходить при нажатии кнопки "Отправить".</p>
43
</ul>Также на экран можно перетащить кнопки и другие элементы.<p>Предположим, мы создали активность с текстовым полем и кнопкой "Отправить". После этого нужно написать, что конкретно будет происходить при нажатии кнопки "Отправить".</p>
44
<ul><li>Заходим в код<strong>app > java > FullscreenActivity</strong>.</li>
44
<ul><li>Заходим в код<strong>app > java > FullscreenActivity</strong>.</li>
45
<li>Добавляем метод<em>SendMessage()</em>в класс<em><strong>FullscreenActivity</strong></em>, чтобы при нажатии на кнопку вызывался этот метод.</li>
45
<li>Добавляем метод<em>SendMessage()</em>в класс<em><strong>FullscreenActivity</strong></em>, чтобы при нажатии на кнопку вызывался этот метод.</li>
46
<li>Создаём намерения (класс Intent) для перехода от одной активности к другой, новые активности, навигацию и всё остальное, что необходимо для приложения.</li>
46
<li>Создаём намерения (класс Intent) для перехода от одной активности к другой, новые активности, навигацию и всё остальное, что необходимо для приложения.</li>
47
</ul><p>И, конечно, начинаем мечтать, как монетизировать приложение.</p>
47
</ul><p>И, конечно, начинаем мечтать, как монетизировать приложение.</p>
48
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
48
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>