КУРС-ПРОФЕСІЯ ANDROID DEVELOPER
ДЛЯ ВСЕХ, КТО ХОЧЕТ ИЗУЧИТЬ РАЗРАБОТКУ ПРИЛОЖЕНИЙ ДЛЯ СИСТЕМЫ ANDROID С НУЛЯ, СОЗДАТЬ СВОЙ СОБСТВЕННЫЙ PET-ПРОЕКТ ДЛЯ ПОРТФОЛИО И ПОЛУЧИТЬ ПРОФЕССИЮ, АКТУАЛЬНУЮ В СЛЕДУЮЩИЕ 15–20 ЛЕТ.
Такое пафосное описание на сайте курса, который я хотел пройти на платной основе, но потом решил что я могу сэкономить и пройти его сам используя ресурсы интернета.
Всего будет 30 занятий, я их расписал в этапах цели.
Здесь я буду выкладывать информацию, по каждой теме, может кто-то сможет воспользоваться этим или просто будет интересно.
Уроки планировались по два раза в неделю и я буду придерживаться этого графика, в остальное время я буду продолжать заниматься разработкой своих приложений.
График занятий - вторник + четверг.
Критерий завершения
Весь курс пройден
-
Вступ до програмування на Kotlin
-
Ознайомитеся з бінарним кодом і основними принципами роботи обчислювальних машин.
-
Дізнаєтеся, що таке компілятор і в чому полягає головна задача розробника.
-
Зрозумієте переваги мов програмування, які використовують Java Virtual Machine.
-
Ознайомитеся з особливостями мови Kotlin.
-
-
Типи даних і функції
-
Розберете різницю між var, val та const.
-
Зрозумієте значення функції main().
-
Вивчите основні типи даних на Kotlin.
-
-
Робота з циклами
-
Дізнаєтесь, в яких випадках потрібно використовувати циклічні конструкції.
-
Навчитеся розрізняти forEach, forEachIndexed, while та їхні задачі.
-
Навчитеся користуватися Ranges ― простішим і зрозумілішим механізмом для реалізації циклічних задач.
-
-
Операції, оператори та логічні вирази
-
Ознайомитеся з основними типами операцій на Kotlin.
-
Вивчите конструкції if-else і when та розберете особливості їхнього використання.
-
Створите програми додавання та віднімання простих чисел із використанням операторів вводу-виводу.
-
-
Робота з масивами
-
Вивчите особливості масиву та розглянете приклади його використання.
-
Дізнаєтеся, що таке індексація елементів масиву.
-
Зрозумієте, як працює оперативна памʼять під час створення змінних різних типів і масивів та як відбувається доступ до окремих елементів мас
-
Навчитеся створювати масиви, додавати, звертатися та видаляти елементи масиву.
-
Дізнаєтесь, як користуватися рядковим типом даних String, і вивчите основні оператори для роботи з ним.
-
-
Знайомство з Git
-
Дізнаєтеся, навіщо використовувати систему контролю версій під час розробки.
-
Встановите та налаштуєте Git.
-
Навчитеся розрізняти стани файлів у репозиторії, перемикатися між комітами та відкочувати зміни до заданого коміту.
-
Дізнаєтесь, як створювати нові гілки та віддалені репозиторії, як завантажувати й вивантажувати дані тощо.
-
-
Лейаут як основа для розмітки
-
Вивчите основні лейаути та розберете кейси їхнього використання.
-
Навчитеся змінювати параметри UI-елементів залежно від вимог, аналізувати дерево UI-елементів і додавати залежності в build.gradle-файл.
-
Дізнаєтесь, як використовувати основні параметри ConstraintLayout.
-
-
Основи обʼєктно-орієнтованого програмування. Part 1
-
Дізнаєтеся, що таке клас і обʼєкт.
-
Розберете принципи обʼєктно-орієнтованого програмування (ООП): наслідування, інкапсуляція, поліморфізм.
-
Навчитеся писати extended function для готових класів.
-
Преобразование строк. Чтение данных из консоли
-
-
Основи обʼєктно-орієнтованого програмування. Part 2
-
Дізнаєтесь, як використовувати інтерфейси, коли необхідно додати окремі методи, які не входять у базовий клас.
-
Розглянете патерн dependency injection і зрозумієте, як він допомагає реалізовувати прозору композицію.
-
Навчитеся розрізняти залежності is-a і has-a та зрозумієте переваги композиції над наслідуванням.
-
Навчитеся писати extended-функції для подальшого спрощення процесу розробки.
-
-
Відображення оброблених даних у вигляді списку: ListView та RecyclerView
-
Дізнаєтесь, як відобразити список даних за допомогою ListView.
-
Ознайомитеся з патерном Adapter.
-
Навчитеся використовувати RecyclerView.
-
Здобудете скіли роботи з вбудованими анімаціями.
-
-
Презентація власного застосунку
-
Розробите застосунок для визначення цікавих місць у заданому радіусі та формування оптимального маршруту з інтеграцією з Google-мапами.
-
Презентуєте застосунок лектору і колегам.
-
-
Структури даних для зберігання обʼєктів
-
Розберете основні структури даних та дізнаєтесь, які переваги має кожна в залежності від задачі.
-
Навчитеся використовувати готові функції для обробки колекції: ітерування, мапінг, фільтрацію і трансформацію.
-
Навчитеся реалізувати виключення.
-
-
Вступ до системи Android
-
Дізнаєтесь, як і чому виникла система Android.
-
Розберете переваги та недоліки системи Android.
-
Встановите Android Studio та розберете основні компоненти Android-застосунку: Activity, Service, BroadcastReceiver, ContentProvider, Android
-
Дізнаєтесь, як працює і який життєвий цикл має компонент Activity.
-
Навчитеся додавати UI-елементи до Activity та відслідковувати натискання.
-
-
Перехід до багатоекранного режиму
-
Дізнаєтесь, як запустити одну Activity в іншій через Intent.
-
Розберете різницю між Explicit та Implicit Intent.
-
Вивчите особливості використання Bundle під час передачі інформації через Intent.
-
Навчитеся користуватися ADB (Android Device Bridge) та відправляти через нього Intent й інші базові команди.
-
-
Багатопотоковість в Android
-
Усвідомите значення багатопотоковість для застосунків із користувацькими інтерфейсами.
-
Розглянете основні способи запобігання race condition та синхронізації змінних.
-
Розберете переваги Executors над прямим запуском threads.
-
Дізнаєтесь, як взаємодіє UI-потік з Event Loop.
-
Навчитеся запускати задачу в окремому потоці та передавати її результат у головний потік.
-
-
Основи мережевої взаємодії
-
Вивчите основи обміну даними через http/https-протокол.
-
Навчитеся виконувати вебзапит в окремому потоці та виводити його результат.
-
Навчитеся виконувати запит на отримання зображення, перетворювати його на Bitmap та відображати в UI-елементі.
-
Опануєте бібліотеки для відображення та трансформації зображень Glide та Picasso.
-
Опануєте бібліотеки Retrofit та OkHttp для вебзапитів.
-
-
Зберігання даних під час зміни конфігурації
-
Зрозумієте, чому під час зміни конфігурації втрачаються дані.
-
Розглянете основні способи збереження даних у разі зміни конфігурації.
-
Навчитеся використовувати ViewModel як елемент MVVM-архітектури.
-
Дізнаєтесь, як зберігати дані під час закриття застосунку та відновлювати стан застосунку в разі повторного відкриття.
-
-
Різновиди відповідей на інтернет-запити: PlainText, XML, JSON
-
Навчитеся розрізняти основні види інтернет-відповідей.
-
Дізнаєтесь, як трансформувати JSON-обʼєкти.
-
Навчитеся додавати GsonFactory в ланцюжок обробки Retrofit, запускати асинхронний запит через Retrofit, застосовувати та писати власні інтер
-
Опануєте фреймворк RxJava для оптимізації роботи з багатопотоковістю.
-
-
Створення User Flow
-
Зрозумієте, навіщо потрібен юзер-флоу.
-
Навчитеся передавати інформацію між декількома фрагментами, додавати фрагменти як статично, так і через контейнер.
-
Дізнаєтесь, як робити альтернативну розмітку для планшетів і інших девайсів із великим екраном.
-
-
Розбір запитань на співбесіді
-
Дізнаєтеся, про що запитують Junior/Trainee Android Developers на співбесідах.
-
Отримаєте рекомендації від лектора щодо самопрезентації.
-
-
SQL і робота з базами даних
-
Розберетесь у видах і типах баз даних.
-
Дізнаєтесь, як побудувати SQL-запит до бази, та вивчите основні оператори.
-
Навчитеся здійснювати огляд баз даних за допомогою вбудованих плагінів або інших програм.
-
-
Dependency Injection
-
Дізнаєтеся, що таке Dependency Injection.
-
Опануєте бібліотеку Koin для Dependency Injection на Kotlin.
-
Навчитеся рефакторити застосунок за допомогою бібліотеки Koin.
-
Опануєте бібліотеки Dagger 2 та Hilt.
-
-
Service як компонент системи, призначений для виконання довготривалих завдань
-
Навчитеся доцільно використовувати сервіс або окремий потік відносно поставленої задачі.
-
Ознайомитеся з можливими обмеженнями в роботі сервісу.
-
Розглянете WorkManager як альтернативу Service.
-
Навчитесь імплементувати нотифікації та виводити в них результати роботи.
-
-
Jetpack Compose. Part 2
-
Ознайомитесь із сучасним декларативним способом розробки користувацьких інтерфейсів.
-
-
Jetpack Compose. Part 1
-
Ознайомитесь із сучасним декларативним способом розробки користувацьких інтерфейсів.
-
-
Google Services та Firebase
-
Дізнаєтесь, як додавати сервіси в застосунок.
-
Зареєструєте акаунт у Firebase.
-
Навчитеся використовувати вбудовану систему реєстрації та логіну у власному застосунку.
-
Навчитеся реалізовувати простий бекенд за допомогою Firebase Realtime Database.
-
Дізнаєтесь, як додати Google-мапи у власний застосунок.
-
-
Відтворення медіа в Android-застосунку
-
Дізнаєтесь, як відтворювати аудіо- та відеофайли в застосунку.
-
Опануєте бібліотеку ExoPlayer для відтворення медіаконтенту.
-
Навчитесь інтегрувати media session для подальшого розширення функціональності застосунку.
-
-
Анімації в Android
-
Дізнаєтесь, як анімувати параметри UI-елементів за допомогою ObjectAnimator.
-
Навчитесь організовувати хореографію анімації за допомогою AnimatorSet та реалізувати перехідні анімації між фрагментами.
-
Опануєте бібліотеки Dynamic Animation та Motion Layout для створення анімацій.
-
-
Корутини як патерн структурованої багатопотоковості
-
Дізнаєтеся, що таке корутини, та зрозумієте, в чому їхня перевага над іншими способами виконання асинхронних задач.
-
Навчитеся запускати корутини та паралельне виконання декількох задач у корутині з виводом кінцевого результату.
-
Здобудете скіли рефакторингу коду.
-
-
Тестування застосунків
-
Розглянете різновиди тестування.
-
Навчитеся користуватися бібліотеками JUnit та Mockito для unit-тестування.
-
Опануєте бібліотеки Espresso та UI Automator для тестування користувацького інтерфейсу.
-
Навчитеся користуватися бібліотекою Room для тестування бази даних.
-
Ознайомитеся з методологією Test Driven Development, коли спочатку пишуть тести, а потім код, який відповідає тестам.
-
- 749
- 29 июня 2023, 10:21
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением