Добро пожаловать на курс «Основы Android Kotlin», разработанный командой Google Developers Training. Этот курс представляет собой серию практических занятий, которые познакомят вас с основами разработки приложений Android на Kotlin. В этом курсе вы изучите базовые концепции программирования на Kotlin для Android и сможете создавать различные приложения.
Мы рекомендуем вам проходить практикумы по порядку, но это не обязательно.
Чтобы узнать о других обучающих материалах по Android, созданных командой Google Developers Training, посетите страницу Google Developers Training: Android .
Предпосылки
Для прохождения курса «Основы Android Kotlin» мы рекомендуем вам иметь не менее 2 лет опыта работы с полноценным объектно-ориентированным языком программирования, таким как Java, C++ или Smalltalk.
Вы должны быть знакомы со всеми концепциями, инструментами и терминологией, изучаемыми на бесплатном курсе Kotlin Bootcamp for Programmers от Udacity.
Вы также должны уметь уверенно работать с GitHub и быть знакомы со следующими концепциями:
- Базовая многопоточность и обработка исключений.
- Как создается, компилируется и выполняется код (в общих чертах).
Также полезно иметь представление о том, что такое функциональное программирование, но это не обязательно.
Стартовый код и код решения
Работая над практическими заданиями курса «Основы Android Kotlin», вы создаёте приложения. Исходный код для начальных приложений и код решений для создаваемых вами приложений доступен на GitHub.
Курс Android Kotlin Fundamentals включает в себя следующие уроки:
- Урок 1: Создайте свое первое приложение
- Урок 2: Макеты
- Урок 3: Навигация
- Урок 4: Жизненные циклы активности и фрагментов
- Урок 5: Компоненты архитектуры
- Урок 6: База данных комнат и сопрограммы
- Урок 7: RecyclerView
- Урок 8: Подключение к Интернету
- Урок 9: Репозиторий
- Урок 10: Проектирование для всех
Каждый урок содержит несколько практических работ.
Урок 1: Создайте свое первое приложение

В этом уроке вы научитесь настраивать Android Studio для использования Kotlin и создавать приложения. Вы начнёте с «Hello World» и перейдёте к приложению, использующему файлы изображений и обработчик щелчков. Вы узнаете о структуре проектов Android, о том, как использовать и изменять представления в приложении Android Kotlin, а также о том, как обеспечить обратную совместимость ваших приложений. Вы также узнаете об уровнях API и библиотеках Android Jetpack.
Урок 1 включает в себя следующие практические занятия:
- 1.0 Установка Android Studio
- 1.1 Начало работы
- 1.2 Базовая анатомия приложения
- 1.3 Ресурсы изображений и совместимость
- 1.4 Научитесь помогать себе
Урок 2: Макеты

В этом уроке вы научитесь использовать редактор макетов Android Studio для создания линейных макетов и макетов с ограничениями. Вы создадите приложения, которые получают и отображают пользовательский ввод, реагируют на нажатия и изменяют видимость и цвет представлений. В этом уроке вы также узнаете, как использовать привязку данных для устранения неэффективных вызовов findViewById() .
Урок 2 включает в себя следующие практические занятия:
- 2.1 Линейная компоновка с использованием редактора компоновки
- 2.2 Добавить интерактивность для пользователя
- 2.3. Компоновка ограничений с помощью редактора компоновки
- 2.4 Основы привязки данных
Урок 3: Навигация

В этом уроке вы узнаете, как создать удобную навигацию в приложении. Вы создадите фрагмент и добавите его в приложение, а затем добавите навигацию в приложение с помощью навигационного графа Android Studio. Вы добавите в приложение навигационную панель и меню параметров, а также поработаете со стеком переходов назад (back stack) приложения, изменив назначение системной кнопки «Назад». Наконец, вы узнаете, как вызывать внешнюю активность из приложения.
Урок 3 включает в себя следующие практические занятия:
Урок 4: Жизненные циклы активности и фрагментов

На этом уроке вы узнаете о жизненных циклах активности и фрагмента, а также о том, как управлять сложными ситуациями, связанными с жизненным циклом. Вы будете работать с базовым приложением, содержащим несколько ошибок, связанных с жизненным циклом Android. Вы добавите в приложение ведение журнала для лучшего понимания событий жизненного цикла приложения, исправите имеющиеся ошибки и внесете некоторые улучшения. Вы также узнаете о библиотеке жизненного цикла Android Jetpack, которая поможет вам управлять событиями жизненного цикла с помощью более организованного и удобного в поддержке кода.
Урок 4 включает в себя следующие практические занятия:
Урок 5: Компоненты архитектуры

В этом уроке вы научитесь использовать объекты ViewModel и LiveData . Вы узнаете, как использовать объекты ViewModel , чтобы данные сохраняли актуальность при изменении конфигурации, например при повороте экрана. Вы преобразуете данные пользовательского интерфейса приложения в инкапсулированные LiveData и добавляете методы-наблюдатели, которые получают уведомления об изменении значения LiveData .
Вы также интегрируете LiveData и ViewModel с помощью привязки данных, чтобы представления в макете напрямую взаимодействовали с объектами ViewModel , не используя фрагменты приложения для передачи информации. Этот подход упрощает код и устраняет необходимость в обработчиках щелчков в контроллерах пользовательского интерфейса.
Урок 5 включает в себя следующие практические занятия:
- 5.1 ViewModel и ViewModelProvider
- 5.2: LiveData и наблюдатели LiveData
- 5.3: Привязка данных с помощью ViewModel и LiveData
- 5.4: Преобразования LiveData
Урок 6: База данных комнат и сопрограммы

В этом уроке вы научитесь использовать библиотеку базы данных Room . Room берёт на себя многие задачи по настройке и конфигурированию базы данных и упрощает код для взаимодействия с ней. Вы научитесь использовать сопрограммы Kotlin для переноса операций с базой данных из основного потока, а также узнаете больше об использовании ViewModel и LiveData для навигации по приложению.
Урок 6 включает в себя следующие практические занятия:
Урок 7: RecyclerView

В этом уроке вы научитесь использовать RecyclerView для эффективного отображения списков и сеток элементов. Вы узнаете, как повысить эффективность RecyclerView для сложных списков и сеток, а также упростить поддержку и расширение кода. Вы узнаете, как сделать элементы в RecyclerView кликабельными. Вы также узнаете, как добавить несколько держателей представлений и макетов к спискам и сеткам в RecyclerView , например, для добавления заголовка в ваше приложение.
Урок 7 включает в себя следующие практические занятия:
- 7.1 Основы RecyclerView
- 7.2 DiffUtil и привязка данных с RecyclerView
- 7.3 GridLayout с RecyclerView
- 7.4 Взаимодействие с элементами RecyclerView
- 7.5 Заголовки в RecyclerView
Урок 8: Подключение к Интернету

В этом уроке вы научитесь использовать библиотеки, разработанные сообществом, для подключения к веб-сервису для получения и отображения данных. Вы научитесь обрабатывать потенциальные сетевые ошибки и использовать библиотеку Glide для загрузки и отображения фотографий из интернета. Вы также создадите RecyclerView и используете его для отображения сетки изображений.
Урок 8 включает в себя следующие практические занятия:
- 8.1 Получение данных из Интернета
- 8.2 Загрузка и отображение изображений из интернета
- 8.3 Фильтрация и подробные просмотры с использованием интернет-данных
Урок 9: Репозиторий

В этом уроке вы научитесь добавлять репозиторий для абстрагирования уровня данных и предоставления понятного API для остальной части вашего приложения Android на Kotlin. Вы также узнаете, как использовать WorkManager для эффективного и оптимизированного планирования фоновых задач.
Урок 9 включает в себя следующие практические занятия:
Урок 10: Проектирование для всех

В этом уроке вы узнаете об основах дизайна красивых и доступных приложений для Android и научитесь создавать приложение, которое находит и отображает информацию о встречах Google Developer Group (GDG).
Урок 10 включает в себя следующие практические занятия:
Начните следующий урок:
Начните курс «Основы Android Kotlin» с выполнения первой лабораторной работы 1.0 Установка Android Studio .