Programovanie Android aplikácií v Kotline

Aktualizované 8. decembra 2023

Ako začať a z čoho sa učiť?

Oficiálna Android dokumentácia – najlepší zdroj, veľmi často aktualizovaný. Kurzy, návody, referenčná príručka.

Vývojové prostredie

Android Studio – podporuje množstvo pluginov, používam napr. tieto:

Knihy

Vývoj v Androide sa mení tak rýchlo, že asi každá kniha o programovaní v Androide je v čase jej vydania už čiastočne zastaralá.

Momentálne je najnovšia asi táto kniha:

Android Programming: The Big Nerd Ranch Guide (5th Edition) – veľmi odporúčam. Je písaná v Kotline.

Kurzy a návody

Android Basics with Compose – výborný základný kurz určený pre programátorov s určitými skúsenosťami s objektovým programovaním.

Jetpack Compose for Android Developers – výborný rozsiahly, aktualizovaný kurz.

Android Basics in Kotlin – jednoduchý kurz pre začiatočníkov.

The Complete Android 12 & Kotlin Development Masterclass – dobrý kurz, počas ktorého vytvoríte 8 rôznych aplikácií. Tento kurz je platený.

Codelabs

– výborné kratšie Google kurzy, ktoré učia jednotlivé témy na konkrétnych jednoduchých aplikáciách:

Aktivity

Stages of the activity lifecycle – „životný cyklus“ základného prvku Androidu – aktivity.

Activities and Intents – ako používať explicit a implicit intents, nastavenie jednoduchého menu.

Navigácia

Fragments and the Navigation Component – ako sa líši fragment lifecycle od activity lifecycle, Safe Args plugin.

Jetpack Navigation – ako vytvoriť navigáciu v Android aplikácii.

Navigation and the back stack – ako funguje back stack v navigácii a ako si ho upraviť.

Layout

Constraint Layout – ako vytvoriť Constraint Layout pomocou Layout Editora v Android Studiu.

MVVM architektúra

Store data in ViewModel – prečo a ako ukladať data do ViewModelu.

Use LiveData with ViewModel – načo slúžia LiveData vo ViewModeli a ako to použiť prakticky.

Shared ViewModel Across Fragments – ako ukladať data z viacerých fragmentov do jedného spoločného ViewModelu.

Data Binding in Android – ako používať Data Binding.

Complex Lifecycle Situations – ako používať Lifecycle Library.

Incorporate Lifecycle-Aware Components – ViewModel, LifecycleOwner, LiveData. Ukážka SavedStateHandle (zdrojový kód je napísaný v Jave).

DataStore

Preferences DataStore – načo slúži a ako používať DataStore.

Working with Preferences DataStore – výhody oproti SharedPreferences, rozdiely oproti Proto DataStore.

Working with Proto DataStore – kedy používať Proto DataStore, migrácia zo SharedPreferences.

Dependency Injection

Using Hilt in your Android app – návod, ako používať Hilt.

RecyclerView

Use RecyclerView to display a scrollable list – ako používať RecyclerView na zobrazenie zoznamu položiek, ako implementovať adaptér.

Coroutines

Introduction to coroutines – úvod do písania asynchrónneho kódu v Kotline pomocou coroutines.

Use Kotlin Coroutines in your Android App – ako používať coroutines na príkladoch Room a Retrofit, testovanie coroutines.

Learn advanced coroutines with Kotlin Flow and LiveData – pokročilejšie použitie LiveData a Flow s Room databázou.

Room

Introduction to Room and Flow – ako používať Room databázu v Androide s použitím RecyclerView, Flow.

Persist data with Room – základy ukladania dát do Room databázy.

Read and update data with Room – načítanie, zobrazenie, editácia a mazanie dát v Room databáze.

Android Room with a View – Kotlin – jednoduchá aplikácia s použitím RecyclerView(ListAdapter), ViewModel, LiveData, Repository a Room databázy.

Retrofit

Get data from the internet – ako používať Retrofit a Moshi knižnicu.

Coil

Load and display images from the Internet – ako načítavať obrázky z internetu a zobrazovať ich s pomocou Retrofit, Moshi, RecyclerView a Coil knižnice.

Debugging

Intro to debugging – ako začať debugovať logovaním.

Debugging with breakpoints – debugovanie s breakpointmi, podmienečné breakpointy.

Knižnice, frameworky a API

Kotest – testovací framework pre Kotlin.

Timber – knižnica na logovanie v Androide.

Hilt – dependency injection knižnica.

Coroutines (kotlinx.coroutines) – knižnica na prácu s Kotlin coroutines.

Room – ORM (Object-relational mapping) knižnica nad databácou SQLite.

Moshi – moderná JSON knižnica.

Coil – knižnica na načítavanie obrázkov s pomocou coroutines.

Ďalšie odkazy

Reddit – prehľad, čo sa deje. Sledujem tak 2x do týždňa.

Android Weekly – newsletter pre Android developerov.

Jetpack Compose Newsletter