Курси Android розвитку в Луцьку, вивчення розробці для Android Pro з нуля | ITEA LUTSK

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

Старт навчання
Старт курсу запитуйте в адміністрації
117 год. по 2-3 рази на тиждень

Після курсу Ви зможете:

  • Розуміти повний цикл розробки програми
  • Створювати клієнт-серверні додатки
  • Розуміти, яка архітектура краща й де саме
  • Користуватися БД в 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. Як скласти резюме і пройти співбесіду

  • Структура резюме
  • FAQ
  • Як вести себе на співбесіді
  • Основні помилки на співбесіді
  • Урок англійської мови №1
  • Урок англійської мови №2
  • Урок пошуку роботи

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!

spinner-it