|
| 1 | +--- |
| 2 | +sidebar_position: 1 |
| 3 | +--- |
| 4 | + |
| 5 | +# Первые шаги |
| 6 | + |
| 7 | +## Build your first app |
| 8 | + |
| 9 | +Первые шаги в разработке Android приложений рекомендуем начать с выполнения инструкций на [developer.android.com](https://developer.android.com) в блоке [Build your first app](https://developer.android.com/training/basics/firstapp). |
| 10 | + |
| 11 | +Блок "Создание вашего первого приложения" научит: |
| 12 | +- Как развернуть среду разработки Android приложений `Android Studio` |
| 13 | +- Как создать простейший проект |
| 14 | +- Как собрать Android приложение и запустить на эмуляторе/устройстве |
| 15 | +- Как построить UI используя `ConstraintLayout` |
| 16 | +- Как использовать строки локализации из ресурсов |
| 17 | +- Как делать переходы между `Activity` |
| 18 | + |
| 19 | +## App fundamentals |
| 20 | + |
| 21 | +После первого созданного приложения (молодец!) нужно глубже погрузиться в теорию об устройстве Android приложений. В этом нам поможет все та же официальная документация [developer.android.com](https://developer.android.com) - идем читать [App fundamentals](https://developer.android.com/guide/components/fundamentals). |
| 22 | + |
| 23 | +Документация расскажет: |
| 24 | +- Что является компонентами Android приложения |
| 25 | +- За что отвечает `Activity` |
| 26 | +- Что такое `Service` |
| 27 | +- Какие типы `Service` нам доступны и для чего |
| 28 | +- Какие задачи решает `BroadcastReceiver` |
| 29 | +- Чем полезен `ContentProvider` |
| 30 | +- Как запустить каждый из компонентов Android приложения |
| 31 | +- Для чего нужен `ContentResolver` |
| 32 | +- Состав и предназначение `AndroidManifest.xml` |
| 33 | +- Как управлять требованиями приложения к версии Android |
| 34 | +- Что такое ресурсы Android приложения |
| 35 | + |
| 36 | +## App resources |
| 37 | + |
| 38 | +Следующий важный блок Android разработки - работа с ресурсами приложения. Документация также есть, но начнем в этот раз с видео от сообщества - так будет проще понять. |
| 39 | + |
| 40 | +<iframe src="//www.youtube.com/embed/ZKevy76vKcY" frameborder="0" allowfullscreen width="675" height="380"></iframe> |
| 41 | +<br/> |
| 42 | +<br/> |
| 43 | + |
| 44 | +После просмотра видео можно перейти к документации, но только в раздел [Handle configuration changes](https://developer.android.com/guide/topics/resources/runtime-changes), в котором описана одна из важнейших особенностей Android, которая влияет на разрабокту общего кода - изменение конфигурации и автоматическое пересоздание UI компонентов системой. |
| 45 | + |
| 46 | +Раздел документации [App resources](https://developer.android.com/guide/topics/resources/providing-resources) содержит очень детальное и развернутое описание как работать с ресурсами, каких типов они бывают и для чего нужен каждый из них. Об этом стоит прочитать *в будущем*, на данный момент лучше пропустить. |
| 47 | + |
| 48 | +В результате мы должны узнать: |
| 49 | +- Что такое изменение конфигурации, в каких случаях происходит и к чему приводит |
| 50 | +- Какие типы ресурсов есть в android приложении |
| 51 | +- Как реализуется локализация строк и изображений под разные языки |
| 52 | +- Как добавлять векторные и растровые изображения в приложение |
| 53 | +- Как сделать разную UI верстку для разных экранов |
| 54 | +- Что такое dp и ***dpi |
| 55 | +- Что такое `qualifier` |
| 56 | +- Что такое `R` класс и как его использовать |
| 57 | + |
| 58 | +## Android Manifest |
| 59 | + |
| 60 | +Файл `AndroidManifest.xml` важный и главный источник информации о приложении для Android OS. Пора ознакомиться с его кратким описанием - [App Manifest Overview](https://developer.android.com/guide/topics/manifest/manifest-intro), а к детальному описанию каждого аттрибута можно будет обратиться тогда, когда он попадется на практике. |
| 61 | + |
| 62 | +Про манифест нужно понять: |
| 63 | +- Зачем нужен `AndroidManifest.xml` |
| 64 | +- Структура файла |
| 65 | +- Обязательные атрибуты |
| 66 | +- Как добавлять `Activity`/`Service`/`ContentProvider`/`BroadcastReceiver` |
| 67 | +- Как объявлять требуемые приложению разрешения |
| 68 | + |
| 69 | +## Немного практики |
| 70 | + |
| 71 | +В приложении созданном на шаге [Build your first app](#build-your-first-app) нужно: |
| 72 | +1. Создать новую `Activity` - `RotatingActivity` |
| 73 | +1. На UI `RotatingActivity` расположить 2 надписи с текстом "первая" и "вторая" |
| 74 | +1. Сделать переход на эту активити с отдельной иконки на рабочем столе (чтобы стало 2 иконки на рабочем столе) |
| 75 | +1. Сделать разную верстку для портретного и ландшафтного режима - в портретном надписи должны быть "первая" сверху и "вторая" снизу, а в ландшафтном - слева и справа соответственно |
| 76 | +1. Сделать локализацию строк с переводом на английский |
| 77 | +1. Добавить векторное изображение и вывести его на любом экране |
| 78 | + |
| 79 | +## Вспомнить главное |
| 80 | + |
| 81 | +- Официальная документация Android - [developer.android.com](https://developer.android.com) |
0 commit comments