Для кого:
Для всіх, хто хоче навчитися розробляти застосунки для системи Android з нуля, створити власний пет-проєкт для портфоліо та здобути професію, актуальну наступні 15–20 років
Чому Android актуальна тема:

-
• 8/10 смартфонів працюють на операційній системі Android. Це означає, що ринок потребує фахівців, які підтримуватимуть наявні застосунки та розроблятимуть нові.
• Систему Android широко використовують не тільки на смартфонах, але і в smart-речах (IoT): від автомобілів до «розумних» прасок та пральних машин.
-
• Приємні фінансові перспективи: Junior-розробник отримує в середньому $ 900, Middle — $ 2700, Senior — $ 5000. Після цього курсу ви здобудете кваліфікацію Junior Android Developer.
• Результат завжди можна показати, скинути друзям чи батькам і сказати «дивись, це моя робота!»
-
• Є ймовірність, що вашим застосунком користуватимуться сотні тисяч користувачів.
У ПРОГРАМУ КУРСУ ВХОДЯТЬ
-
БАЗА МОВИ KOTLIN Вивчите базовий синтаксис мови Kotlin, опануєте принципи обʼєктно-орієнтованого та реактивного програмування.
-
РОБОТА З ANDROID STUDIO Навчитеся проєктувати Android-застосунки, тестувати власний код, інтегрувати різні сервіси та завантажувати медіафайли в застосунок.
-
РОЗРОБКА ПЕТ-ПРОЄКТУ З нуля створите застосунок для пошуку визначних місць у заданому радіусі й формування оптимального маршруту та налаштуєте інтеграцію з Google Maps.
-
КАРʼЄРНА КОНСУЛЬТАЦІЯ Отримаєте розбір поширених запитань на співбесідах від лектора.
ЛЕКТОР:

Олександр
Мазуренко
- Senior Android Developer, який останні 5 років працює в GlobalLogic
- загалом у розробці 6+ років, пройшов шлях від світчера в 35 років до сіньйора
- працював над застосунком для плеймаркету в TICKETS.UA, який завантажили 500 000+ користувачів
- мав досвід кастомізації операційної системи Android під проєкти
- інтегрував медіаконтент в Android Auto
- наразі працює з інтегрованими TV-системами на базі Android для компанії, яка входить у трійку Fortune 500
ПРОГРАМА
-
01
20.11.2023 19:00
Вступ до програмування на Kotlin
- Розглянете інструменти, які вивчатимете на курсі.
- Ознайомитеся з бінарним кодом і основними принципами роботи обчислювальних машин.
- Дізнаєтеся, що таке компілятор і в чому полягає головна задача розробника.
- Зрозумієте переваги мов програмування, які використовують Java Virtual Machine.
- Ознайомитеся з особливостями мови Kotlin.
- Навчитеся запускати простий код на Kotlin.
-
02
23.11.2023 19:00
Типи даних і функції
- Вивчите основні типи даних на Kotlin.
- Розберете різницю між var, val та const.
- Зрозумієте значення функції main().
-
03
27.11.2023 19:00
Операції, оператори та логічні вирази
- Ознайомитеся з основними типами операцій на Kotlin.
- Вивчите конструкції if-else і when та розберете особливості їхнього використання.
- Створите програми додавання та віднімання простих чисел із використанням операторів вводу-виводу.
-
04
30.11.2023 19:00
Робота з циклами
- Дізнаєтесь, в яких випадках потрібно використовувати циклічні конструкції.
- Навчитеся розрізняти forEach, forEachIndexed, while та їхні задачі.
- Навчитеся користуватися Ranges ― простішим і зрозумілішим механізмом для реалізації циклічних задач.
-
05
04.12.2023 19:00
Робота з масивами
- Вивчите особливості масиву та розглянете приклади його використання.
- Дізнаєтеся, що таке індексація елементів масиву.
- Зрозумієте, як працює оперативна памʼять під час створення змінних різних типів і масивів та як відбувається доступ до окремих елементів масиву на апаратному рівні.
- Навчитеся створювати масиви, додавати, звертатися та видаляти елементи масиву.
- Дізнаєтесь, як користуватися рядковим типом даних String, і вивчите основні оператори для роботи з ним.
-
06
07.12.2023 19:00
Основи обʼєктно-орієнтованого програмування. Part 1
- Дізнаєтеся, що таке клас і обʼєкт.
- Розберете принципи обʼєктно-орієнтованого програмування (ООП): наслідування, інкапсуляція, поліморфізм.
- Навчитеся писати extended function для готових класів.
-
07
11.12.2023 19:00
Основи обʼєктно-орієнтованого програмування. Part 2
- Дізнаєтесь, як використовувати інтерфейси, коли необхідно додати окремі методи, які не входять у базовий клас.
- Розглянете патерн dependency injection і зрозумієте, як він допомагає реалізовувати прозору композицію.
- Навчитеся розрізняти залежності is-a і has-a та зрозумієте переваги композиції над наслідуванням.
- Навчитеся писати extended-функції для подальшого спрощення процесу розробки.
-
08
14.12.2023 19:00
Структури даних для зберігання обʼєктів
- <
- Розберете основні структури даних та дізнаєтесь, які переваги має кожна в залежності від задачі.
- Навчитеся використовувати готові функції для обробки колекції: ітерування, мапінг, фільтрацію і трансформацію.
- Навчитеся реалізувати виключення.
-
09
18.12.2023 19:00
Вступ до системи Android
- Дізнаєтесь, як і чому виникла система Android.
- Розберете переваги та недоліки системи Android.
- Встановите Android Studio та розберете основні компоненти Android-застосунку: Activity, Service, BroadcastReceiver, ContentProvider, Android Manifest.
- Дізнаєтесь, як працює і який життєвий цикл має компонент Activity.
- Навчитеся додавати UI-елементи до Activity та відслідковувати натискання.
-
10
21.12.2023 19:00
Знайомство з Git
- >
- Дізнаєтеся, навіщо використовувати систему контролю версій під час розробки.
- Встановите та налаштуєте Git.
- Навчитеся розрізняти стани файлів у репозиторії, перемикатися між комітами та відкочувати зміни до заданого коміту.
- Дізнаєтесь, як створювати нові гілки та віддалені репозиторії, як завантажувати й вивантажувати дані тощо.
-
11
04.01.2024 19:00
Лейаут як основа для розмітки
- Вивчите основні лейаути та розберете кейси їхнього використання.
- Навчитеся змінювати параметри UI-елементів залежно від вимог, аналізувати дерево UI-елементів і додавати залежності в build.gradle-файл.
- Дізнаєтесь, як використовувати основні параметри ConstraintLayout.
-
12
08.01.2024 19:00
Перехід до багатоекранного режиму
- Дізнаєтесь, як запустити одну Activity в іншій через Intent.
- Розберете різницю між Explicit та Implicit Intent.
- Вивчите особливості використання Bundle під час передачі інформації через Intent.
- Навчитеся користуватися ADB (Android Device Bridge) та відправляти через нього Intent й інші базові команди.
-
13
11.01.2024 19:00
Багатопотоковість в Android
- <
- Усвідомите значення багатопотоковість для застосунків із користувацькими інтерфейсами.
- Розглянете основні способи запобігання race condition та синхронізації змінних.
- Розберете переваги Executors над прямим запуском threads.
- Дізнаєтесь, як взаємодіє UI-потік з Event Loop.
- Навчитеся запускати задачу в окремому потоці та передавати її результат у головний потік.
-
14
15.01.2024 19:00
Основи мережевої взаємодії
- Вивчите основи обміну даними через http/https-протокол.
- Навчитеся виконувати вебзапит в окремому потоці та виводити його результат.
- Навчитеся виконувати запит на отримання зображення, перетворювати його на Bitmap та відображати в UI-елементі.
- Опануєте бібліотеки для відображення та трансформації зображень Glide та Picasso.
- Опануєте бібліотеки Retrofit та OkHttp для вебзапитів.
-
15
18.01.2024 19:00
Різновиди відповідей на інтернет-запити: PlainText, XML, JSON
- Навчитеся розрізняти основні види інтернет-відповідей.
- Дізнаєтесь, як трансформувати JSON-обʼєкти.
- Навчитеся додавати GsonFactory в ланцюжок обробки Retrofit, запускати асинхронний запит через Retrofit, застосовувати та писати власні інтерсептори для OkHttp.
- Опануєте фреймворк RxJava для оптимізації роботи з багатопотоковістю.
-
16
22.01.2024 19:00
Відображення оброблених даних у вигляді списку: ListView та RecyclerView
- Дізнаєтесь, як відобразити список даних за допомогою ListView.
- Ознайомитеся з патерном Adapter.
- Навчитеся використовувати RecyclerView.
- Здобудете скіли роботи з вбудованими анімаціями.
-
17
25.01.202 19:00
Створення User Flow
- Зрозумієте, навіщо потрібен юзер-флоу.
- Навчитеся передавати інформацію між декількома фрагментами, додавати фрагменти як статично, так і через контейнер.
- Дізнаєтесь, як робити альтернативну розмітку для планшетів і інших девайсів із великим екраном.
-
18
29.01.2024 19:00
Зберігання даних під час зміни конфігурації
- Зрозумієте, чому під час зміни конфігурації втрачаються дані.
- Розглянете основні способи збереження даних у разі зміни конфігурації.
- Навчитеся використовувати ViewModel як елемент MVVM-архітектури.
- Дізнаєтесь, як зберігати дані під час закриття застосунку та відновлювати стан застосунку в разі повторного відкриття.
-
19
01.02.2024 19:00
SQL і робота з базами даних
- Розберетесь у видах і типах баз даних.
- Дізнаєтесь, як побудувати SQL-запит до бази, та вивчите основні оператори.
- Навчитеся здійснювати огляд баз даних за допомогою вбудованих плагінів або інших програм.
-
20
05.02.2024 19:00
Service як компонент системи, призначений для виконання довготривалих завдань
- Навчитеся доцільно використовувати сервіс або окремий потік відносно поставленої задачі.
- Ознайомитеся з можливими обмеженнями в роботі сервісу.
- Розглянете WorkManager як альтернативу Service.
- Навчитесь імплементувати нотифікації та виводити в них результати роботи.
-
21
08.02.2024 19:00
Корутини як патерн структурованої багатопотоковості
- Дізнаєтеся, що таке корутини, та зрозумієте, в чому їхня перевага над іншими способами виконання асинхронних задач.
- Навчитеся запускати корутини та паралельне виконання декількох задач у корутині з виводом кінцевого результату.
- Здобудете скіли рефакторингу коду.
-
22
12.02.2024 19:00
Dependency Injection
- Дізнаєтеся, що таке Dependency Injection.
- Опануєте бібліотеку Koin для Dependency Injection на Kotlin.
- Навчитеся рефакторити застосунок за допомогою бібліотеки Koin.
- Опануєте бібліотеки Dagger 2 та Hilt.
-
23
15.02.2024 19:00
Тестування застосунків
- Розглянете різновиди тестування.
- Навчитеся користуватися бібліотеками JUnit та Mockito для unit-тестування.
- Опануєте бібліотеки Espresso та UI Automator для тестування користувацького інтерфейсу.
- Навчитеся користуватися бібліотекою Room для тестування бази даних.
- Ознайомитеся з методологією Test Driven Development, коли спочатку пишуть тести, а потім код, який відповідає тестам.
-
24
19.02.2024 19:00
Анімації в Android
- Дізнаєтесь, як анімувати параметри UI-елементів за допомогою ObjectAnimator.
- Навчитесь організовувати хореографію анімації за допомогою AnimatorSet та реалізувати перехідні анімації між фрагментами.
- Опануєте бібліотеки Dynamic Animation та Motion Layout для створення анімацій.
-
25
22.02.2024 19:00
Google Services та Firebase
- Дізнаєтесь, як додавати сервіси в застосунок.
- Зареєструєте акаунт у Firebase.
- Навчитеся використовувати вбудовану систему реєстрації та логіну у власному застосунку.
- Навчитеся реалізовувати простий бекенд за допомогою Firebase Realtime Database.
- Дізнаєтесь, як додати Google-мапи у власний застосунок.
-
26
26.02.2024 19:00
Відтворення медіа в Android-застосунку
- Дізнаєтесь, як відтворювати аудіо- та відеофайли в застосунку.
- Опануєте бібліотеку ExoPlayer для відтворення медіаконтенту.
- Навчитесь інтегрувати media session для подальшого розширення функціональності застосунку.
-
27
09.10.2023 19:00 0
Jetpack Compose. Part 1
- Ознайомитесь із сучасним декларативним способом розробки користувацьких інтерфейсів.
-
28
29.02.2024 19:00
Jetpack Compose. Part 2
- Ознайомитесь із сучасним декларативним способом розробки користувацьких інтерфейсів.
-
29
07.03.2024 19:00
Презентація власного застосунку
- Розробите застосунок для визначення цікавих місць у заданому радіусі та формування оптимального маршруту з інтеграцією з Google-мапами.
- Презентуєте застосунок лектору і колегам.
-
30
11.03.2024 19:00
Розбір запитань на співбесіді
- Дізнаєтеся, про що запитують Junior/Trainee Android Developers на співбесідах.
- Отримаєте рекомендації від лектора щодо самопрезентації.
Реєстрація