Курс Разработка для Android Pro

Старт обучения
Дату уточните у администрации
час. по 2-3 раза в неделю

Описание курса

Разработка мобильных приложений — неизменный тренд последнего десятилетия. Наши гаджеты уже давно стали личными помощниками: секретарями, тренерами, диетологами, ретушерами и т. д. Поэтому приложения остаются востребованными и ценными продуктами в секторе ІТ.

 

В ходе курса Android вы поймете принципы мобильной разработки и верстки экранов приложений, узнаете все о библиотеках и последних тенденциях сферы. Вы изучите полный цикл создания продукта, а затем на личномсвоем опыте увидите, как возможно писать быстрые и надежные клиент-серверные приложения. По окончанию курса вы создадите собственный проект.

После курса вы сможете:

  • Понимать полный цикл разработки приложения
  • Cоздавать клиент-серверные приложения
  • Понимать, какая архитектура лучше и где именно
  • Пользоваться БД в Android с минимальными трудозатратами
  • Понимать актуальные тенденции в мире Android

Программа курса:

1. Общая характеристика языка Java

  • История языка Java
  • Байт-код
  • Виртуальная машина Java (JVM)
  • Трансляция, интерпретация и компиляция
  • Выход из программы и завершение ее работы

2. Типы данных и основные операции с ними

  • Алфавит языка
  • Комментарии
  • Ключевые слова
  • Типы данных: простые (примитивные) и по ссылке
  • Идентификаторы, выбор имен идентификаторов
  • Переменные и константы
  • Объявления и инициализация переменных
  • Область видимости и время жизни переменных
  • Операторы
  • Операции: арифметические, присваивания, отношения и логические
  • Преобразование и приведение числовых типов
  • Приоритет операций
  • Использование круглых скобок

3. Поток управления

  • Составной оператор (блок)
  • Условный оператор и его виды
  • Оператор switch
  • Циклы: for, while, do while
  • Бесконечные циклы
  • Прерывание потока управления, метки
  • Оператор goto и причины не применять его

4. Массивы

  • Объявления и инициализация массивов, в т. ч. анонимных
  • Линейные массивы
  • Итерация по элементам массива
  • Массивы и присвоения
  • Передача и возврат массивов в / из методов
  • Копирование массивов
  • Класс Arrays: заполнение, сравнение элементов и их сортировка
  • Поиск в массивах
  • Многомерные массивы, «неравные» массивы
  • Методы: аргументы переменной длины

5. Строки

  • Класс String. Неизменные объекты
  • Хранение строк в памяти
  • Основные операции класса String (создание, конкатенация, сравнение, поиск символов и подстрок в строках и др.). Преобразование простых типов данных
  • Разбивка строк: класс StringTokenizer. Переменные объекты: классы StringBuffer и StringBuilder
  • Основные методы. StringBuffer vs StringBuilder

6. Введение в ООП. Объекты и классы

  • Поля и методы (определение, синтаксис объявления)
  • Спецификаторы доступа public и private
  • Поля классов: инициализация явная и по умолчанию, спецификатор final и константы
  • Доступ к полям и методам
  • Методы: параметры (ссылки и простые типы) и возвращаемые, использование set- и get-методов, перегрузка методов, правила перегрузки
  • Объектная модель. Основные положения: абстрагирование, инкапсуляция, модульность, иерархия
  • Объекты и классы. Объекты. Определение (с примерами). Состояние. Поведение.
  • Конструкторы: конструкторы по умолчанию, вызов одного конструктора из другого
  • Блоки инициализации
  • Статические поля и методы: инициализация константы, статические блоки инициализации. Использование this для доступа к членам класса
  • Сбор мусора и удаление объектов

7. Отношение между объектами

  • Зависимости, их разновидности
  • Обобщение
  • Ассоциации
  • Реализации
  • Связи, их множественность

8. Наследование и полиморфизм

  • Наследование и полиморфизм как инструмент создания ПО. Суперкласс и подклассы, отношение обобщения, наследование в Java. Вызов конструкторов суперклассов, порядок вызовов. Ключевое слово super ()
  • Переопределение методов, правила переопределения. Наследование и статические поля и методы классов. Абстрактные классы и методы — понятие, вызов конструкторов, реализация методов в субклассы
  • Интерфейсы. «Множественное» наследование. Определение и реализация интерфейсов. Расширение интерфейсов. Композиция как альтернатива множественному наследованию
  • Полиморфизм. Иерархия наследования
  • Преобразование и приведение типов. Использование instanceof. Отказ от наследования: терминальные (final) методы и классы. Включение как альтернатива множественному наследованию
  • Пакеты. Вложенность пакетов. Повторное использование кода и пакеты. Защита доступа.
  • Импорт: классов, статических методов и полей

9. Класс Object

  • Глобальный суперкласс Object
  • Методы equals (), hashCode (), toString (), finalize (), clone () и др.
  • Правила реализации equals () и hashCode ()
  • Интерфейс Cloneable и его реализация
  • Клонирование: поверхностное и глубокое

10. Внутренние классы

  • Синтаксис объявления
  • Создание объектов внутренних классов
  • Поля и методы внутренних классов
  • Вложенность внутренних классов и доступ к членам внешних классов
  • Ссылка this во внутреннем классе
  • Доступ к полям и методам внешнего класса с внутреннего
  • Внутренние классы и спецификаторы доступа
  • Вложенные интерфейсы
  • Применение внутренних классов
  • Внутренние локальные классы (Method-LocalInnerClasses)
  • Анонимные внутренние классы
  • Вложенные (внутренние статические) классы (static nested classes)
  • Создание экземпляров
  • Доступ к экземпляру внешнего класса
  • Компиляция программ с внутренними классами

11. Перечисление

  • Перечисление как классы. Методы values (), valueof (), name (), ordinal ()
  • Константы, конструкторы, методы и поля
  • Перечисление и конструкция switch. Импорт членов перечислений

12. Работа с базами данных

  • Основы построения реляционных баз данных
  • SQL
  • Нормальные формы. Запросы SELECT, INSERT, UPDATE, DELETE
  • JDBC
  • Driver, Connection, Statement, ResultSet, PrepareStatement

13. Обработка ошибок и исключения

  • Подходы к обработке ошибок времени выполнения
  • Понятие исключения
  • Иерархия классов исключений в Java
  • Checked и unchecked исключения
  • Генерация исключительной ситуации и оператор throws
  • Объявления контролируемых исключений, ключевое слово throws
  • Throws и перезагрузки методов
  • Перехват исключений
  • Перехват «всех» исключений
  • Обработка исключений
  • Повторная генерация исключений
  • Блок finally: освобождение ресурсов
  • Создание собственной иерархии исключений
  • Регистрация ошибок, логирования: логгеры, уровень логгер, уровень сообщений, обработчики (объекты подкласса java.util.logging.Handler)
  • Пример

14. Система ввода-вывода

  • Иерархия классов потокового ввода-вывода:
  • Потоки ввода / вывода, механизм работы с потоками, иерархия потокового ввода / вывода
  • Субклассы FilterOutputStream и FilterInputStream
  • Байтовые потоки
  • Символьные потоки
  • Класс File. Класс RandomAccessFile
  • Сериализация и десериализация объектов: понятие, назначение, реализация
  • Пример

15. Классы коллекций

  • Понятие абстрактного типа данных (АТД)
  • Структуры данных: списки, стеки, множества, дерева, карты
  • Обход коллекций: интерфейсы Iterator и ListIterator, цикл «foreach»
  • Компараторы
  • Класс Collections: поиск и сортировка элементов, заполнения, синхронизирование представления, неизменные представления и др.

16. Многопоточность

  • Понятие потока. Особенности параллельного выполнения
  • Потоки-демоны
  • Приоритеты потоков. Метод yield ()
  • Состояние потока: создание потоков, -runnable и -running – потоки

17. Универсальные типы

  • Параметризованные типы: классы и интерфейсы. Параметры типа
  • Ограничения, наложенные на параметризованные типы: простые типы, инстанцирование, суперкласс, исключение.
  • Параметризованные типы и JVM

18. Рефлексия

19. Введение в Android

  • Компоненты Android
  • Установка Android SDK
  • Установка Android Studio

20. Разбор Manifest

21. Контейнеры

  • LinearLayot
  • FrameLayout
  • СonstraintLayout

22. Основные View

  • Button, ImageView, TextView

23. RecyclerView

  • Adapter, ViewHolder
  • Что с ним еще можно делать
  • Краткий обзор сторонних библиотек

24. ViewPager + TabLayout

25. Основы динамической компоновки

26. Кастомные View

27. Библиотеки загрузки картинок

28. Жизненный цикл Activity

  • Обработка переворотов
  • Передача информации между экранами
  • Запуск некоторых сторонних приложений

29. Работа с камерой

  • Снимки
  • Видео

30. Самые популярные утечки памяти и как их избежать

31. Фрагменты. Какое место в Android они занимают и как их использовать для построения правильной логики приложения

  • Жизненный цикл
  • Работа со стеком фрагментов
  • Диалоги

32. Работа с многопоточностью в Android / AsyncTask

  • Legacy подходы: Handler, Loader, AsyncTask
  • LiveData
  • Kotlin coroutines

33. Разбор основных библиотек и фреймворков

  • Dagger 2
  • RxJava/RxAndroid

34. Архитектура приложения (MVP, MVVM)

35. Сборка проекта

  • Gradle
  • Обзор сгенерированных классов

36. Инструменты

  • Работа с Git
  • Debugging
  • Диаграммы классов UML

37. Как составить резюме и пройти собеседование

  • Структура резюме
  • Часто задаваемые вопросы
  • Как вести себя на собеседовании
  • Основные ошибки на собеседовании
  • Бонусное занятие по английскому языку
  • Урок поиска работы

Минимальные требования:

  • Вы изучили курс Основы программирования и выбрали направление мобильной разработки
  • Вы работаете не в ІТ, но хотите понять сферу и найти в ней свое место
  • Вы являетесь разработчиком, но хотите изучить что-то новое
  • Вы учитесь самостоятельно, но желаете упорядочить свои знания и приобрести новый опыт

* Указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!

spinner-it

На жаль, у звязку з війною ІТЕА завершила свою діяльності в Україні.

This will close in 20 seconds