[OTUS] Разработчик Android. Модуль 1
Внимание будет уделено следующим темам: правильное проектирование приложения для нескольких экранов, обработка приложения в зависимости от языка, положения экрана, локализации и других параметров, связь как с внешними так и с внутренними базами данных, установка связи со серверами, связь и использование других приложений, получение, обработка и использования данных с мобильного устройства (микрофон, камера и другие устройства).
Для закрепления теоретических знаний в курсе предусмотрена практическая работа с использованием популярных библиотек. Успешное выполнение практических заданий позволит слушателю создать собственное приложение и уверенно решать задачи разработки коммерческих приложений в команде.
Модуль 1
Занятие 1: Вводное занятие
Знакомство со средой Android Studio, Software Ddevelopment Kit (SDK) * и Android Virtual Device (AVD) Manager -ов. Запуск и создание первой программы. Установка система контроля версий Git.
Занятие 2: Структура экрана
Структура экрана в Android, ее компоненты и их свойства. Создание применение Layout, ViewGroup, View. Layout параметры, величина DP (Density Independent Pixels), папка res.
Занятие 3: Детальное ознакомление с компонентами экрана
Детальное ознакомление со ViewGroup компонентами экрана, такими как: FrameLayout, LinearLayout, RelativeLayout, ConstraintLayout.
Детальное ознакомление со View компонентами, такими как: TextView, Button, EditText, ImageView.
Занятие 4: Программное создание компонентов экрана
Activity, связь Activity с Layout файлом. Программное создание компонентов экрана. Обработчики событий.
Занятие 5: Способы оптимизации обработчиков событий
Способы оптимизации обработчиков событий, интерактивное изменение Layout параметров для уже существующих компонентов.
Занятие 6: Свойства Actvity
Изучения основных свойств Actvity, жизненные циклы activity. Что происходит при запуске и остановках приложения. Лог и всплывающие сообщения. Знакомства с AndroidManifest.xml файлом.
Занятие 7: Создание дополнительного Activity
Создание дополнительного Activity. Введение в понятие Intent. Взаимодействие между активити,их жизненный цикл, отслеживание об изменении состояния связанных Activity.
Занятие 8: Передача данных с использованием Intent
Передача данных с использованием Intent, настройки Intent фильтра, неявный вызов Activity. Вызов готовых программ.Настройки манифест файла, настройка прав пользователя.
Модуль 2
Занятие 9: Знакомство с обратной связью между Actvity
Знакомство с обратной связью между Actvity. Рассмотрение типов передач данных. Передача объектов между Actvity. Сохранение, чтение и удаление введенных данных. Отображение введенных данный при перезапуске приложение и поворота экрана.
Занятие 10: Подробное представление настроек Intent
Подробное представление настроек Intent. Практическое использование Intent параметров (Intent filtr, action, uri, data) Вызов нескольких Actvity, рассмотрение параметров вызова Actvity Resultcode,RequestCode.
Занятие 11: LayoutInflater
LayoutInflater, создание из layout файла view элемент, присвоение параметров родительского элемента, создание собственный параметров, использование layoutInflater-а в списке. Пример списка ListView
Занятие 12: Обзор адаптеров
Обзор адаптеров, использование существующих адаптеров и их возможностей. Виды загрузки данных, ArrayAdapter, CursorLoader, SimpleAdapter, SimpleCursorAdapter, ViewBinder.
Занятие 13: Пишем адаптер с нуля
Пишем адаптер с нуля, изменения существующих адаптеров под собственные требования. Использование Header и Footer в списках, создание собственных. Использование и представление нескольких view layout-ов для одного списка.
Занятие 14: Ознакомление с разновидностями списков
Ознакомление с разновидностями списков, построение таблиц, вертикальных и горизонтальных списков. RecyclerView его виды, адаптеры и принцип работы.
Занятие 15: Чтение списков приложений
Чтение списков приложений, отображение списка в RecyclerView. Архитектурное решение для адаптера RecyclerView, исползьзвание ViewHolder компанента, применение LayoutInflater, создание списка с разными элементами,
Занятие 16: Применение отдельных свойств RecyclerView
Применение отдельных свойств RecyclerView, рассмотрение структур: таких как отоброжение данных в позициях по горизонтали, по вертикали и таблица. Методы изменения вида элемента списка, применение компонентов ItemDecoration, LayoutManager.
Модуль 3
Занятие 17: Что такое Material Design?
Что такое Material Design? Изменяем внешний вид приложения добавляя элементы из Material Design. Знакомство с элементами CardView, AppBarLayout, Toolbar, TextInputLayout, TextInputEditText, FloatingActionBar.
Занятие 18: Стандартные диалоги
Стандартные диалоги, интерактивность пользовательского интерфейса, вопрос-ответ. Разновидность диалогов, обработчики событий, представления view элементов в диалоге.Использование списков в диалогах
Занятие 19: Передача данных
Передача данных с одного экрана на другой, передача примитивов и объектов, передача собственных объектов данных на другие экраны. Ознакомление с Parcel, Parceable и Serializable, основные отличия.
Занятие 20: Создание списков меню
Создание списков меню, использование стандартных меню андроида, изменения под требования программы, pop-up меню, выпадающие списки, открытие свойств элемента при длительном нажатии.
Занятие 21: Подробнее ознакомление с Preferences
Подробнее ознакомление с Preferences: виды данных типы. Хранение настроек приложения: экран настроек приложения. Список, экран и категория Preferences.
Занятие 22: Потоки
Потоки, Handler, работа с очередью сообщений в потоке. Главный поток, выполнение кода в основном потоке. Способы выполнения в UI потоке, UIMainThread.
Занятие 23: Многопоточное программирование
Многопоточное программирование, удаление сообщения из очереди потока, отложить выполнение сообщения. Обработчик Runnable. Меняем виды view на главном экране.
Занятие 24: Знакомство с AsyncTask, структура кода
Знакомство с AsyncTask, структура кода. Параметры AsyncTask, выполнение кода до, во время и после завершения кода в AsyncTask. Способы отмены задачи во время выполнения, статусы задачи.
Модуль 4
Занятие 25: Сервисы
Сервисы, предназначения сервисов. Потоки выполнения.Передача данных в сервис, методы остановки сервиса. Виды обратной связи сервиса.
Занятие 26: Описание BroadcastReceiver
Описание BroadcastReceiver, локальные и глобальные их различия. Байндинг. Как реализовать уведомления. Service, IntentService, главные их отличия.
Занятие 27: Рассмотрение видов обработчиков событий
Рассмотрение видов обработчиков событий. Разные виды обработчиков событий. Отдельное рассмотрение клика, длинного нажатия и касания, также прокрутка экрана и поворот. Методы реализации обработчиков событий. Один обработчик событий на все одинаковых по типу.
Занятие 28: Ввeдение во фрагменты
Ввeдение во фрагменты. Жизненный цикл фрагмента. Схожесть и отличие жизненных циклов фрагметна и Activity. Взаимодействие Activity с фрагметнами.Предназначение SupportLibrary, основные свойства
Занятие 29: Основные принципы работы с базами данных
Основные принципы работы с базами данных, сохранение полученных данных в приложении. ContentProvider.
Занятие 30: Знакомство с загрузчиками
Знакомство с загрузчиками. Loaders: CursorLoaders. Работа с ContentProviderom, используя загрузчики.
Занятие 31: Подробный функционал баз данных
Подробный функционал баз данных, готовые методы управления таблицами. Работа со связанными таблицами. Сортировка, группировка и управление данных. Обновление уже существующих таблиц в базе данных.
Занятие 32: Основные принципы работы с серверами
Основные принципы работы с серверами (REST FULL API), Парсинг данных (XMLParser, JSONParser), обработка и отображение данных на экран.
Скрытое содержимое.
Начало занятий 20 февраля
Основная задача курса – познакомить слушателя с практиками разработки Android-приложений на языке Java. В процессе прохождения курса слушатель узнает об особенностях Android-разработки, освоит подходы к проектированию приложений и реализации модулей, познакомится и применит на практике основные принципы Android-программирования.Внимание будет уделено следующим темам: правильное проектирование приложения для нескольких экранов, обработка приложения в зависимости от языка, положения экрана, локализации и других параметров, связь как с внешними так и с внутренними базами данных, установка связи со серверами, связь и использование других приложений, получение, обработка и использования данных с мобильного устройства (микрофон, камера и другие устройства).
Для закрепления теоретических знаний в курсе предусмотрена практическая работа с использованием популярных библиотек. Успешное выполнение практических заданий позволит слушателю создать собственное приложение и уверенно решать задачи разработки коммерческих приложений в команде.
Модуль 1
Занятие 1: Вводное занятие
Знакомство со средой Android Studio, Software Ddevelopment Kit (SDK) * и Android Virtual Device (AVD) Manager -ов. Запуск и создание первой программы. Установка система контроля версий Git.
Занятие 2: Структура экрана
Структура экрана в Android, ее компоненты и их свойства. Создание применение Layout, ViewGroup, View. Layout параметры, величина DP (Density Independent Pixels), папка res.
Занятие 3: Детальное ознакомление с компонентами экрана
Детальное ознакомление со ViewGroup компонентами экрана, такими как: FrameLayout, LinearLayout, RelativeLayout, ConstraintLayout.
Детальное ознакомление со View компонентами, такими как: TextView, Button, EditText, ImageView.
Занятие 4: Программное создание компонентов экрана
Activity, связь Activity с Layout файлом. Программное создание компонентов экрана. Обработчики событий.
Занятие 5: Способы оптимизации обработчиков событий
Способы оптимизации обработчиков событий, интерактивное изменение Layout параметров для уже существующих компонентов.
Занятие 6: Свойства Actvity
Изучения основных свойств Actvity, жизненные циклы activity. Что происходит при запуске и остановках приложения. Лог и всплывающие сообщения. Знакомства с AndroidManifest.xml файлом.
Занятие 7: Создание дополнительного Activity
Создание дополнительного Activity. Введение в понятие Intent. Взаимодействие между активити,их жизненный цикл, отслеживание об изменении состояния связанных Activity.
Занятие 8: Передача данных с использованием Intent
Передача данных с использованием Intent, настройки Intent фильтра, неявный вызов Activity. Вызов готовых программ.Настройки манифест файла, настройка прав пользователя.
Модуль 2
Занятие 9: Знакомство с обратной связью между Actvity
Знакомство с обратной связью между Actvity. Рассмотрение типов передач данных. Передача объектов между Actvity. Сохранение, чтение и удаление введенных данных. Отображение введенных данный при перезапуске приложение и поворота экрана.
Занятие 10: Подробное представление настроек Intent
Подробное представление настроек Intent. Практическое использование Intent параметров (Intent filtr, action, uri, data) Вызов нескольких Actvity, рассмотрение параметров вызова Actvity Resultcode,RequestCode.
Занятие 11: LayoutInflater
LayoutInflater, создание из layout файла view элемент, присвоение параметров родительского элемента, создание собственный параметров, использование layoutInflater-а в списке. Пример списка ListView
Занятие 12: Обзор адаптеров
Обзор адаптеров, использование существующих адаптеров и их возможностей. Виды загрузки данных, ArrayAdapter, CursorLoader, SimpleAdapter, SimpleCursorAdapter, ViewBinder.
Занятие 13: Пишем адаптер с нуля
Пишем адаптер с нуля, изменения существующих адаптеров под собственные требования. Использование Header и Footer в списках, создание собственных. Использование и представление нескольких view layout-ов для одного списка.
Занятие 14: Ознакомление с разновидностями списков
Ознакомление с разновидностями списков, построение таблиц, вертикальных и горизонтальных списков. RecyclerView его виды, адаптеры и принцип работы.
Занятие 15: Чтение списков приложений
Чтение списков приложений, отображение списка в RecyclerView. Архитектурное решение для адаптера RecyclerView, исползьзвание ViewHolder компанента, применение LayoutInflater, создание списка с разными элементами,
Занятие 16: Применение отдельных свойств RecyclerView
Применение отдельных свойств RecyclerView, рассмотрение структур: таких как отоброжение данных в позициях по горизонтали, по вертикали и таблица. Методы изменения вида элемента списка, применение компонентов ItemDecoration, LayoutManager.
Модуль 3
Занятие 17: Что такое Material Design?
Что такое Material Design? Изменяем внешний вид приложения добавляя элементы из Material Design. Знакомство с элементами CardView, AppBarLayout, Toolbar, TextInputLayout, TextInputEditText, FloatingActionBar.
Занятие 18: Стандартные диалоги
Стандартные диалоги, интерактивность пользовательского интерфейса, вопрос-ответ. Разновидность диалогов, обработчики событий, представления view элементов в диалоге.Использование списков в диалогах
Занятие 19: Передача данных
Передача данных с одного экрана на другой, передача примитивов и объектов, передача собственных объектов данных на другие экраны. Ознакомление с Parcel, Parceable и Serializable, основные отличия.
Занятие 20: Создание списков меню
Создание списков меню, использование стандартных меню андроида, изменения под требования программы, pop-up меню, выпадающие списки, открытие свойств элемента при длительном нажатии.
Занятие 21: Подробнее ознакомление с Preferences
Подробнее ознакомление с Preferences: виды данных типы. Хранение настроек приложения: экран настроек приложения. Список, экран и категория Preferences.
Занятие 22: Потоки
Потоки, Handler, работа с очередью сообщений в потоке. Главный поток, выполнение кода в основном потоке. Способы выполнения в UI потоке, UIMainThread.
Занятие 23: Многопоточное программирование
Многопоточное программирование, удаление сообщения из очереди потока, отложить выполнение сообщения. Обработчик Runnable. Меняем виды view на главном экране.
Занятие 24: Знакомство с AsyncTask, структура кода
Знакомство с AsyncTask, структура кода. Параметры AsyncTask, выполнение кода до, во время и после завершения кода в AsyncTask. Способы отмены задачи во время выполнения, статусы задачи.
Модуль 4
Занятие 25: Сервисы
Сервисы, предназначения сервисов. Потоки выполнения.Передача данных в сервис, методы остановки сервиса. Виды обратной связи сервиса.
Занятие 26: Описание BroadcastReceiver
Описание BroadcastReceiver, локальные и глобальные их различия. Байндинг. Как реализовать уведомления. Service, IntentService, главные их отличия.
Занятие 27: Рассмотрение видов обработчиков событий
Рассмотрение видов обработчиков событий. Разные виды обработчиков событий. Отдельное рассмотрение клика, длинного нажатия и касания, также прокрутка экрана и поворот. Методы реализации обработчиков событий. Один обработчик событий на все одинаковых по типу.
Занятие 28: Ввeдение во фрагменты
Ввeдение во фрагменты. Жизненный цикл фрагмента. Схожесть и отличие жизненных циклов фрагметна и Activity. Взаимодействие Activity с фрагметнами.Предназначение SupportLibrary, основные свойства
Занятие 29: Основные принципы работы с базами данных
Основные принципы работы с базами данных, сохранение полученных данных в приложении. ContentProvider.
Занятие 30: Знакомство с загрузчиками
Знакомство с загрузчиками. Loaders: CursorLoaders. Работа с ContentProviderom, используя загрузчики.
Занятие 31: Подробный функционал баз данных
Подробный функционал баз данных, готовые методы управления таблицами. Работа со связанными таблицами. Сортировка, группировка и управление данных. Обновление уже существующих таблиц в базе данных.
Занятие 32: Основные принципы работы с серверами
Основные принципы работы с серверами (REST FULL API), Парсинг данных (XMLParser, JSONParser), обработка и отображение данных на экран.
Скрытое содержимое.
https://otus.ru/lessons/Android/