HTML Diff
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 &gt; java &gt; ru.skillbox.skillboxapp &gt; FullscreenActivity</strong>. При создании проекта мы указали вместо активности<em>Main</em>полноэкранную активность.</p>
30 <p>Если выбрать в выпадающем меню вид Android, то вы увидите файлы проекта. Например, наша основная активность называется<strong>app &gt; java &gt; ru.skillbox.skillboxapp &gt; FullscreenActivity</strong>. При создании проекта мы указали вместо активности<em>Main</em>полноэкранную активность.</p>
31 <p>Далее можно посмотреть файл<strong>app &gt; res &gt; layout &gt; activity_fullscreen.xml</strong>. Это XML-файл с макетом для UI нашей основной активности.</p>
31 <p>Далее можно посмотреть файл<strong>app &gt; res &gt; layout &gt; activity_fullscreen.xml</strong>. Это XML-файл с макетом для UI нашей основной активности.</p>
32 <p>Наконец, третий важный файл<em><strong>app &gt; manifests &gt; AndroidManifest.xml</strong></em>описывает фундаментальные характеристики приложения и определяет все его компоненты.</p>
32 <p>Наконец, третий важный файл<em><strong>app &gt; manifests &gt; AndroidManifest.xml</strong></em>описывает фундаментальные характеристики приложения и определяет все его компоненты.</p>
33 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ru.skillbox.skillboxapp"&gt; &lt;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"&gt; &lt;activity android:name=".FullscreenActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:theme="@style/FullscreenTheme"&gt; &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;/application&gt; &lt;/manifest&gt;<p>Созданное нами приложение - это одна активность, которая запускается в полноэкранном режиме и не имеет графических элементов.</p>
33 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ru.skillbox.skillboxapp"&gt; &lt;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"&gt; &lt;activity android:name=".FullscreenActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:theme="@style/FullscreenTheme"&gt; &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;/application&gt; &lt;/manifest&gt;<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 &gt; res &gt; layout &gt; activity_fullscreen.xml</strong>.</li>
39 <ul><li>Открываем файл<strong>app &gt; res &gt; layout &gt; 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 &gt; java &gt; FullscreenActivity</strong>.</li>
44 <ul><li>Заходим в код<strong>app &gt; java &gt; 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>