Начало занятий в ноябре

Разработчик Android

Программа курса
Модуль 1
модуль
Модуль 2
модуль
Модуль 3
модуль
Модуль 4
модуль
модуль
Вводное занятие
Знакомство со средой Android Studio,  Software Ddevelopment Kit (SDK) * и  Android Virtual Device (AVD) Manager -ов. Запуск и создание первой программы. Установка система контроля версий Git.
Домашние задания: 1
ДЗ
Ознакомиться с готовыми примерами в Android Studio.
Изменить цвета и текст кнопок в следующих примерах: Basic Activity, Login Activity, Settings Activity, создать приложение с нуля прописывая все настройки, добавить в Git (каждый в свою репозиторию). Изменить созданный текст приложения и обновить программу в Git (новый commit). Установить все отсутствующие SDK версии.
Структура экрана
Структура экрана в Android, ее компоненты и их свойства. Создание применение Layout, ViewGroup, View. Layout параметры, величина DP (Density Independent Pixels), папка res.
Домашние задания: 1
ДЗ
Написать приложение,  изменяя структуру, цвет и компоненты,  в зависимости от положения и размера экрана. Установить на разные эмуляторы, сделать скриншоты программы.
Детальное ознакомление с компонентами экрана
Детальное ознакомление со ViewGroup компонентами экрана, такими как: FrameLayout, LinearLayout, RelativeLayout, ConstraintLayout.
Детальное ознакомление со View компонентами, такими как: TextView, Button, EditText, ImageView.
Домашние задания: 1
ДЗ
Создать экран готового приложения, используя разные подходы viewgroup и view.
Программное создание компонентов экрана
Activity,  связь Activity с Layout файлом.  Программное создание компонентов экрана. Обработчики событий.
Домашние задания: 1
ДЗ
Изменить код таким образом, чтобы пользователь создавал N число TextView компонентов на экране. Число N вводиться пользователем с экрана и при нажатии кнопки "Создать" генерируются TextView (число  0<=N<=100).
Способы оптимизации обработчиков событий
Способы оптимизации обработчиков событий, интерактивное изменение Layout параметров для уже существующих компонентов.
Домашние задания: 1
ДЗ
Создать приложение с ползунком, изменяющим размер кнопок. 1. Кнопки упорядочены друг на друге. 2. Кнопки находятся радом, при изменении размера одной кнопки меняется и другая пропорциональна.
Свойства Actvity
Изучения основных свойств Actvity, жизненные циклы activity. Что происходит при запуске и остановках приложения. Лог и всплывающие сообщения. Знакомства с AndroidManifest.xml файлом.
Домашние задания: 1
ДЗ
Изменяем главную иконку приложения и программу таким образом, чтобы отображение информации на экран пользователя, а так же запуск логов, происходило с помощью обработчика событий (кнопка:включить и выключить).
Создание дополнительного Activity
Создание дополнительного Activity. Введение в понятие Intent. Взаимодействие между активити,их жизненный цикл, отслеживание об изменении состояния связанных Activity.
Домашние задания: 1
ДЗ
Создается приложение с кнопками перехода на главном экране в отдельные страницы: 1.страница настройки, 2. профиль пользователя.
Передача данных с использованием Intent
Передача данных с использованием Intent, настройки Intent фильтра, неявный вызов Activity. Вызов готовых программ.Настройки манифест файла, настройка прав пользователя.
Домашние задания: 1
ДЗ
Дополняем приложение экраном About Us, переход осуществляется при помощи кнопки. Из страницы About Us, при нажатии текста "Звонок", осуществляется вызов на заранее прописанный номер. Модифицировать приложение таким образом, чтобы появилась возможность добавления новых пользователей с телефонными номерами, учитывая функцию звонка. Названия экрана "Телефонна книжка".
модуль
Знакомство с обратной связью между Actvity
Знакомство с обратной связью между Actvity. Рассмотрение типов передач данных. Передача объектов между Actvity. Сохранение, чтение и удаление введенных данных. Отображение введенных данный при перезапуске приложение и поворота экрана.
Домашние задания: 1
ДЗ
Учитывая функционалы записи и чтения данных, добавить функционал возможности изменения данных. Добавить аватар пользователя и сохранить.
Подробное представление настроек Intent
Подробное представление настроек Intent. Практическое использование Intent параметров (Intent filtr, action, uri, data) Вызов нескольких Actvity, рассмотрение параметров вызова Actvity Resultcode,RequestCode.
Домашние задания: 1
ДЗ
В зависимости от предложенных вариантов каждый модифицирует программу по предложенному функционалу.
LayoutInflater
LayoutInflater, создание из layout файла view элемент, присвоение параметров родительского элемента, создание собственный параметров, использование layoutInflater-а в списке. Пример списка ListView
Домашние задания: 1
ДЗ
Добавить в каждый элемент списка уникальность, добавить отдельные обработчики событий, осуществить связь списка со внешним экраном, передать ему данные.
Обзор адаптеров
Обзор адаптеров, использование существующих адаптеров и их возможностей. Виды загрузки данных, ArrayAdapter, CursorLoader, SimpleAdapter, SimpleCursorAdapter, ViewBinder.
Домашние задания: 1
ДЗ
Использовать готовый адаптер в другом списке данных, передать функционал другому списку. Создать экран с двумя списками отображения данных, настроить их синхронность изменения
Пишем адаптер с нуля
Пишем адаптер с нуля, изменения существующих адаптеров под собственные требования. Использование Header и Footer в списках, создание собственных. Использование и представление нескольких view layout-ов для одного списка.
Домашние задания: 1
ДЗ
Изменить адаптер уже существующего списка, добавить заголовок и нижний раздел. Отобразить различные ячейки списков в зависимости от четной и нечетной строки.
Ознакомление с разновидностями списков
Ознакомление с разновидностями списков, построение таблиц, вертикальных и горизонтальных списков. RecyclerView его виды, адаптеры и принцип работы.
Домашние задания: 1
ДЗ
Изменить код, переделать готовый список на RecyclerView, при возможности разбить на отдельные куски. Модифицировать адаптер со сохранением прежних функционалов.
Чтение списков приложений
Чтение списков приложений, отображение списка в RecyclerView. Архитектурное решение для адаптера RecyclerView, исползьзвание ViewHolder компанента, применение LayoutInflater, создание списка с разными элементами,
Домашние задания: 1
ДЗ
Реализовать обработчики событий для отдельных элементов RecyclerView. Создать собственный интерфейс для обработки событий.
Применение отдельных свойств RecyclerView
Применение отдельных свойств RecyclerView, рассмотрение структур: таких как отоброжение данных в позициях по горизонтали, по вертикали и таблица. Методы изменения вида элемента списка, применение компонентов ItemDecoration, LayoutManager.
Домашние задания: 1
ДЗ
Изменить уже существующий код, добавить кнопки на главном экране, которые будут отображать список данных в формах по горизонтали, по вертикали и таблицы, изпользуя один и тот же компонент экрана.
модуль
Что такое Material Design?
Что такое Material Design? Изменяем внешний вид приложения добавляя элементы из Material Design. Знакомство с элементами CardView, AppBarLayout, Toolbar, TextInputLayout, TextInputEditText, FloatingActionBar.
Домашние задания: 1
ДЗ
Изменить текущее приложение под стандарты Material Design. Добавить menu, FloatActionButton, CardView
Стандартные диалоги
Стандартные диалоги, интерактивность пользовательского интерфейса, вопрос-ответ. Разновидность диалогов, обработчики событий, представления view элементов в диалоге.Использование списков в диалогах
Домашние задания: 1
ДЗ
Изменить данные в списке, при помощи выбора в открывшемся диалоговом окне представленных вариантов.
Передача данных
Передача данных с одного экрана на другой, передача примитивов и объектов, передача собственных объектов данных на другие экраны. Ознакомление с Parcel, Parceable и Serializable, основные отличия.
Домашние задания: 1
ДЗ
Открыть экран, передать и изменить данные в другом экране, отобразить все данные в списке.
Создание списков меню
Создание списков меню, использование стандартных меню андроида, изменения под требования программы, pop-up меню, выпадающие списки, открытие свойств элемента при длительном нажатии.
Домашние задания: 1
ДЗ
Добавить всплывающее меню к каждому элементу списка. Изменить цвет каждому элементу списка как по отдельности, так и вместе.
Подробнее ознакомление с Preferences
Подробнее ознакомление с Preferences: виды данных типы. Хранение настроек приложения: экран настроек приложения. Список, экран и категория Preferences.
Домашние задания: 1
ДЗ
Добавить в приложении настройки со свойствами выбора языка, а также типа отображения экранов "день/ночь"
Потоки
Потоки, Handler, работа с очередью сообщений в потоке. Главный поток, выполнение кода в основном потоке. Способы выполнения в UI потоке, UIMainThread.
Домашние задания: 1
ДЗ
Добавить в приложение свойства скачивания большого файла, отображение количества скаченного материала в процентах на главном экране.
Многопоточное программирование
Многопоточное программирование, удаление сообщения из очереди потока, отложить выполнение сообщения. Обработчик Runnable. Меняем виды view на главном экране.
Домашние задания: 1
ДЗ
Создать приложение скачиваний видеофайлов, отображать сразу несколько скачиваний одновременно. Показать скаченный файл на экране.
Знакомство с AsyncTask, структура кода
Знакомство с AsyncTask, структура кода. Параметры AsyncTask, выполнение кода до, во время и после завершения кода в AsyncTask. Способы отмены задачи во время выполнения, статусы задачи.
Домашние задания: 1
ДЗ
Меняем задачу с потоками, используя вместо Thread AsyncTask.
модуль
Сервисы
Сервисы, предназначения сервисов. Потоки выполнения.Передача данных в сервис, методы остановки сервиса. Виды обратной связи сервиса.
Домашние задания: 1
ДЗ
Написать приложение, которое будет запускать сервис со скачиванием списков данных.
Описание BroadcastReceiver
Описание BroadcastReceiver, локальные и глобальные их различия. Байндинг. Как реализовать уведомления. Service, IntentService, главные их отличия.
Домашние задания: 1
ДЗ
Отображать статус обработки скачиваний на экране в виде уведомлений. Добавить собственное решение для вида push-notification.
Рассмотрение видов обработчиков событий
Рассмотрение видов обработчиков событий. Разные виды обработчиков событий. Отдельное рассмотрение клика, длинного нажатия и касания, также прокрутка экрана и поворот. Методы реализации обработчиков событий. Один обработчик событий на все одинаковых по типу.
Домашние задания: 1
ДЗ
Каждому списку элемента присвоить событие LongClick, Click и Тоuch. Создать собственный Hover.
Ввeдение во фрагменты
Ввeдение во фрагменты. Жизненный цикл фрагмента. Схожесть и отличие жизненных циклов фрагметна и Activity. Взаимодействие Activity с фрагметнами.Предназначение SupportLibrary, основные свойства
Домашние задания: 1
ДЗ
Создать приложение со списком данных. Каждый элемент списков данных является заголовкам статьи, статья и элемент списка отображаются на главном экране в двух разных фрагментах, ориентация lanfscape.
Основные принципы работы с базами данных
Основные принципы работы с базами данных, сохранение полученных данных в приложении. ContentProvider.
Домашние задания: 1
ДЗ
Участники сохраняют скаченные картинки и данные пользователей для следующего входа в офлайн режиме.
Знакомство с загрузчиками
Знакомство с загрузчиками. Loaders: CursorLoaders. Работа с ContentProviderom, используя загрузчики.
Домашние задания: 1
ДЗ
Участники должны написать несколько загрузчиков данных с адаптерами.
Подробный функционал баз данных
Подробный функционал баз данных, готовые методы управления таблицами. Работа со связанными таблицами. Сортировка, группировка и управление данных. Обновление уже существующих таблиц в базе данных.
Домашние задания: 1
ДЗ
Участники должны добавить возможность поиска данных по критериям и отобразить их в алфавитном порядке.
Основные принципы работы с серверами
Основные принципы работы с серверами (REST FULL API), Парсинг данных (XMLParser, JSONParser), обработка и отображение данных на экран.
Домашние задания: 1
ДЗ
Переделать программу с асинхронного метода на синхронный, описать полученные отличия и пути борьбы с ними.
Работодатели