1

Этап 1

Вступ до програмування на Kotlin

2

Этап 2

Типи даних і функції

3

Этап 3

Робота з циклами

4

Этап 4

Операції, оператори та логічні вирази

5

Этап 5

Робота з масивами

6

Этап 6

Знайомство з Git

7

Этап 7

Лейаут як основа для розмітки

8

Этап 8

Основи обʼєктно-орієнтованого програмування. Part 1

9

Этап 9

Основи обʼєктно-орієнтованого програмування. Part 2

10

Этап 10

Відображення оброблених даних у вигляді списку: ListView та RecyclerView

11

Этап 11

Презентація власного застосунку

12

Этап 12

Структури даних для зберігання обʼєктів

13

Этап 13

Вступ до системи Android

14

Этап 14

Перехід до багатоекранного режиму

15

Этап 15

Багатопотоковість в Android

16

Этап 16

Основи мережевої взаємодії

17

Этап 17

Зберігання даних під час зміни конфігурації

18

Этап 18

Різновиди відповідей на інтернет-запити: PlainText, XML, JSON

19

Этап 19

Створення User Flow

20

Этап 20

Розбір запитань на співбесіді

21

Этап 21

SQL і робота з базами даних

22

Этап 22

Dependency Injection

23

Этап 23

Service як компонент системи, призначений для виконання довготривалих завдань

24

Этап 24

Jetpack Compose. Part 2

25

Этап 25

Jetpack Compose. Part 1

26

Этап 26

Google Services та Firebase

27

Этап 27

Відтворення медіа в Android-застосунку

28

Этап 28

Анімації в Android

29

Этап 29

Корутини як патерн структурованої багатопотоковості

30

Этап 30

Тестування застосунків

1

Этап 1

Вступ до програмування на Kotlin

2

Этап 2

Типи даних і функції

3

Этап 3

Робота з циклами

4

Этап 4

Операції, оператори та логічні вирази

5

Этап 5

Робота з масивами

6

Этап 6

Знайомство з Git

7

Этап 7

Лейаут як основа для розмітки

8

Этап 8

Основи обʼєктно-орієнтованого програмування. Part 1

9

Этап 9

Основи обʼєктно-орієнтованого програмування. Part 2

10

Этап 10

Відображення оброблених даних у вигляді списку: ListView та RecyclerView

11

Этап 11

Презентація власного застосунку

12

Этап 12

Структури даних для зберігання обʼєктів

13

Этап 13

Вступ до системи Android

14

Этап 14

Перехід до багатоекранного режиму

15

Этап 15

Багатопотоковість в Android

16

Этап 16

Основи мережевої взаємодії

17

Этап 17

Зберігання даних під час зміни конфігурації

18

Этап 18

Різновиди відповідей на інтернет-запити: PlainText, XML, JSON

19

Этап 19

Створення User Flow

20

Этап 20

Розбір запитань на співбесіді

21

Этап 21

SQL і робота з базами даних

22

Этап 22

Dependency Injection

23

Этап 23

Service як компонент системи, призначений для виконання довготривалих завдань

24

Этап 24

Jetpack Compose. Part 2

25

Этап 25

Jetpack Compose. Part 1

26

Этап 26

Google Services та Firebase

27

Этап 27

Відтворення медіа в Android-застосунку

28

Этап 28

Анімації в Android

29

Этап 29

Корутини як патерн структурованої багатопотоковості

30

Этап 30

Тестування застосунків

29 июня 2023
Цель завершена 27 декабря 2023
Образование

КУРС-ПРОФЕСІЯ ANDROID DEVELOPER

ДЛЯ ВСЕХ, КТО ХОЧЕТ ИЗУЧИТЬ РАЗРАБОТКУ ПРИЛОЖЕНИЙ ДЛЯ СИСТЕМЫ ANDROID С НУЛЯ, СОЗДАТЬ СВОЙ СОБСТВЕННЫЙ PET-ПРОЕКТ ДЛЯ ПОРТФОЛИО И ПОЛУЧИТЬ ПРОФЕССИЮ, АКТУАЛЬНУЮ В СЛЕДУЮЩИЕ 15–20 ЛЕТ.

Такое пафосное описание на сайте курса, который я хотел пройти на платной основе, но потом решил что я могу сэкономить и пройти его сам используя ресурсы интернета.

Всего будет 30 занятий, я их расписал в этапах цели.

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

Уроки планировались по два раза в неделю и я буду придерживаться этого графика, в остальное время я буду продолжать заниматься разработкой своих приложений.

График занятий - вторник + четверг.

 Критерий завершения

Весь курс пройден

  1. Вступ до програмування на Kotlin

    1. Ознайомитеся з бінарним кодом і основними принципами роботи обчислювальних машин.

    2. Дізнаєтеся, що таке компілятор і в чому полягає головна задача розробника.

    3. Зрозумієте переваги мов програмування, які використовують Java Virtual Machine.

    4. Ознайомитеся з особливостями мови Kotlin.

  2. Типи даних і функції

    1. Розберете різницю між var, val та const.

    2. Зрозумієте значення функції main().

    3. Вивчите основні типи даних на Kotlin.

  3. Робота з циклами

    1. Дізнаєтесь, в яких випадках потрібно використовувати циклічні конструкції.

    2. Навчитеся розрізняти forEach, forEachIndexed, while та їхні задачі.

    3. Навчитеся користуватися Ranges ― простішим і зрозумілішим механізмом для реалізації циклічних задач.

  4. Операції, оператори та логічні вирази

    1. Ознайомитеся з основними типами операцій на Kotlin.

    2. Вивчите конструкції if-else і when та розберете особливості їхнього використання.

    3. Створите програми додавання та віднімання простих чисел із використанням операторів вводу-виводу.

  5. Робота з масивами

    1. Вивчите особливості масиву та розглянете приклади його використання.

    2. Дізнаєтеся, що таке індексація елементів масиву.

    3. Зрозумієте, як працює оперативна памʼять під час створення змінних різних типів і масивів та як відбувається доступ до окремих елементів мас

    4. Навчитеся створювати масиви, додавати, звертатися та видаляти елементи масиву.

    5. Дізнаєтесь, як користуватися рядковим типом даних String, і вивчите основні оператори для роботи з ним.

  6. Знайомство з Git

    1. Дізнаєтеся, навіщо використовувати систему контролю версій під час розробки.

    2. Встановите та налаштуєте Git.

    3. Навчитеся розрізняти стани файлів у репозиторії, перемикатися між комітами та відкочувати зміни до заданого коміту.

    4. Дізнаєтесь, як створювати нові гілки та віддалені репозиторії, як завантажувати й вивантажувати дані тощо.

  7. Лейаут як основа для розмітки

    1. Вивчите основні лейаути та розберете кейси їхнього використання.

    2. Навчитеся змінювати параметри UI-елементів залежно від вимог, аналізувати дерево UI-елементів і додавати залежності в build.gradle-файл.

    3. Дізнаєтесь, як використовувати основні параметри ConstraintLayout.

  8. Основи обʼєктно-орієнтованого програмування. Part 1

    1. Дізнаєтеся, що таке клас і обʼєкт.

    2. Розберете принципи обʼєктно-орієнтованого програмування (ООП): наслідування, інкапсуляція, поліморфізм.

    3. Навчитеся писати extended function для готових класів.

    4. Преобразование строк. Чтение данных из консоли

  9. Основи обʼєктно-орієнтованого програмування. Part 2

    1. Дізнаєтесь, як використовувати інтерфейси, коли необхідно додати окремі методи, які не входять у базовий клас.

    2. Розглянете патерн dependency injection і зрозумієте, як він допомагає реалізовувати прозору композицію.

    3. Навчитеся розрізняти залежності is-a і has-a та зрозумієте переваги композиції над наслідуванням.

    4. Навчитеся писати extended-функції для подальшого спрощення процесу розробки.

  10. Відображення оброблених даних у вигляді списку: ListView та RecyclerView

    1. Дізнаєтесь, як відобразити список даних за допомогою ListView.

    2. Ознайомитеся з патерном Adapter.

    3. Навчитеся використовувати RecyclerView.

    4. Здобудете скіли роботи з вбудованими анімаціями.

  11. Презентація власного застосунку

    1. Розробите застосунок для визначення цікавих місць у заданому радіусі та формування оптимального маршруту з інтеграцією з Google-мапами.

    2. Презентуєте застосунок лектору і колегам.

  12. Структури даних для зберігання обʼєктів

    1. Розберете основні структури даних та дізнаєтесь, які переваги має кожна в залежності від задачі.

    2. Навчитеся використовувати готові функції для обробки колекції: ітерування, мапінг, фільтрацію і трансформацію.

    3. Навчитеся реалізувати виключення.

  13. Вступ до системи Android

    1. Дізнаєтесь, як і чому виникла система Android.

    2. Розберете переваги та недоліки системи Android.

    3. Встановите Android Studio та розберете основні компоненти Android-застосунку: Activity, Service, BroadcastReceiver, ContentProvider, Android

    4. Дізнаєтесь, як працює і який життєвий цикл має компонент Activity.

    5. Навчитеся додавати UI-елементи до Activity та відслідковувати натискання.

  14. Перехід до багатоекранного режиму

    1. Дізнаєтесь, як запустити одну Activity в іншій через Intent.

    2. Розберете різницю між Explicit та Implicit Intent.

    3. Вивчите особливості використання Bundle під час передачі інформації через Intent.

    4. Навчитеся користуватися ADB (Android Device Bridge) та відправляти через нього Intent й інші базові команди.

  15. Багатопотоковість в Android

    1. Усвідомите значення багатопотоковість для застосунків із користувацькими інтерфейсами.

    2. Розглянете основні способи запобігання race condition та синхронізації змінних.

    3. Розберете переваги Executors над прямим запуском threads.

    4. Дізнаєтесь, як взаємодіє UI-потік з Event Loop.

    5. Навчитеся запускати задачу в окремому потоці та передавати її результат у головний потік.

  16. Основи мережевої взаємодії

    1. Вивчите основи обміну даними через http/https-протокол.

    2. Навчитеся виконувати вебзапит в окремому потоці та виводити його результат.

    3. Навчитеся виконувати запит на отримання зображення, перетворювати його на Bitmap та відображати в UI-елементі.

    4. Опануєте бібліотеки для відображення та трансформації зображень Glide та Picasso.

    5. Опануєте бібліотеки Retrofit та OkHttp для вебзапитів.

  17. Зберігання даних під час зміни конфігурації

    1. Зрозумієте, чому під час зміни конфігурації втрачаються дані.

    2. Розглянете основні способи збереження даних у разі зміни конфігурації.

    3. Навчитеся використовувати ViewModel як елемент MVVM-архітектури.

    4. Дізнаєтесь, як зберігати дані під час закриття застосунку та відновлювати стан застосунку в разі повторного відкриття.

  18. Різновиди відповідей на інтернет-запити: PlainText, XML, JSON

    1. Навчитеся розрізняти основні види інтернет-відповідей.

    2. Дізнаєтесь, як трансформувати JSON-обʼєкти.

    3. Навчитеся додавати GsonFactory в ланцюжок обробки Retrofit, запускати асинхронний запит через Retrofit, застосовувати та писати власні інтер

    4. Опануєте фреймворк RxJava для оптимізації роботи з багатопотоковістю.

  19. Створення User Flow

    1. Зрозумієте, навіщо потрібен юзер-флоу.

    2. Навчитеся передавати інформацію між декількома фрагментами, додавати фрагменти як статично, так і через контейнер.

    3. Дізнаєтесь, як робити альтернативну розмітку для планшетів і інших девайсів із великим екраном.

  20. Розбір запитань на співбесіді

    1. Дізнаєтеся, про що запитують Junior/Trainee Android Developers на співбесідах.

    2. Отримаєте рекомендації від лектора щодо самопрезентації.

  21. SQL і робота з базами даних

    1. Розберетесь у видах і типах баз даних.

    2. Дізнаєтесь, як побудувати SQL-запит до бази, та вивчите основні оператори.

    3. Навчитеся здійснювати огляд баз даних за допомогою вбудованих плагінів або інших програм.

  22. Dependency Injection

    1. Дізнаєтеся, що таке Dependency Injection.

    2. Опануєте бібліотеку Koin для Dependency Injection на Kotlin.

    3. Навчитеся рефакторити застосунок за допомогою бібліотеки Koin.

    4. Опануєте бібліотеки Dagger 2 та Hilt.

  23. Service як компонент системи, призначений для виконання довготривалих завдань

    1. Навчитеся доцільно використовувати сервіс або окремий потік відносно поставленої задачі.

    2. Ознайомитеся з можливими обмеженнями в роботі сервісу.

    3. Розглянете WorkManager як альтернативу Service.

    4. Навчитесь імплементувати нотифікації та виводити в них результати роботи.

  24. Jetpack Compose. Part 2

    1. Ознайомитесь із сучасним декларативним способом розробки користувацьких інтерфейсів.

  25. Jetpack Compose. Part 1

    1. Ознайомитесь із сучасним декларативним способом розробки користувацьких інтерфейсів.

  26. Google Services та Firebase

    1. Дізнаєтесь, як додавати сервіси в застосунок.

    2. Зареєструєте акаунт у Firebase.

    3. Навчитеся використовувати вбудовану систему реєстрації та логіну у власному застосунку.

    4. Навчитеся реалізовувати простий бекенд за допомогою Firebase Realtime Database.

    5. Дізнаєтесь, як додати Google-мапи у власний застосунок.

  27. Відтворення медіа в Android-застосунку

    1. Дізнаєтесь, як відтворювати аудіо- та відеофайли в застосунку.

    2. Опануєте бібліотеку ExoPlayer для відтворення медіаконтенту.

    3. Навчитесь інтегрувати media session для подальшого розширення функціональності застосунку.

  28. Анімації в Android

    1. Дізнаєтесь, як анімувати параметри UI-елементів за допомогою ObjectAnimator.

    2. Навчитесь організовувати хореографію анімації за допомогою AnimatorSet та реалізувати перехідні анімації між фрагментами.

    3. Опануєте бібліотеки Dynamic Animation та Motion Layout для створення анімацій.

  29. Корутини як патерн структурованої багатопотоковості

    1. Дізнаєтеся, що таке корутини, та зрозумієте, в чому їхня перевага над іншими способами виконання асинхронних задач.

    2. Навчитеся запускати корутини та паралельне виконання декількох задач у корутині з виводом кінцевого результату.

    3. Здобудете скіли рефакторингу коду.

  30. Тестування застосунків

    1. Розглянете різновиди тестування.

    2. Навчитеся користуватися бібліотеками JUnit та Mockito для unit-тестування.

    3. Опануєте бібліотеки Espresso та UI Automator для тестування користувацького інтерфейсу.

    4. Навчитеся користуватися бібліотекою Room для тестування бази даних.

    5. Ознайомитеся з методологією Test Driven Development, коли спочатку пишуть тести, а потім код, який відповідає тестам.

  • 674
  • 29 июня 2023, 10:21
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?