V tvojej prvej Android aplikácii v Kotlime si spravíme aplikáciu na hod kockou. Stalo sa ti, že si hral človeče a chýbala ti kocka? Teraz ti postačí tvoja android appka. Verím, že telefón budeš mať po ruke skôr ako kocku :).
Tlačidlo
Layout vieme písať aj ručne. Týmto spôsobom viem využiť dopĺňanie kódu pomocou android studia. Napríklad pri šírke vieme udať wrap_content nastavenie, ktoré mi šírku tlačidla prispôsobí obsahu tlačidla. Teda v tomto prípade tam bude text.

Pre button doplníme text a textu zadám hodnotu. Teraz tento riadok je vysvietený na žlto, čo naznačuje, že Android studio ti dáva informáciu, že našlo spôsob, ako spraviť tvoj kód lepším. V tomto prípade ti odporúča nedávať text priamo do layoutu ale do externého súboru.
K tejto pomôcke sa dostanem cez žltý žiarovku.

Text v externom súbore
Zvolíme exract string resource a nastavíme ďalšie okienko.

V res priečinku máme values priečinok, kde sa bude nachádzať súbor strings.xml a v tom súbore máme dané nastavenie textu.

<resources> <string name="app_name">Kocka</string> <string name="hod">Hoď kockou</string> </resources>
Pozícia tlačidla
Teraz nastavíme kde sa má button zobraziť – na akom mieste v aplikácii. Teraz je na pozícii 0,0 lebo som nič nezadal.

K button nastavení pridáme pripojenie sa na okolité elementy.
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
Prístup k UI cez Kotlin
TextView nám netreba zmažeme.
Aby sme sa vedeli napojiť v kotlin kóde na daný button musíme mu pridať aj id.
<Button android:id="@+id/hodKockou"
V Kotlin kóde sa vieme k danému tlačidlu dostať pomocou metódy findViewById
val rollButton: Button = findViewById(R.id.hodKockou)
Alebo jednoduchším spôsobom si importnem všetko z layoutu:
import kotlinx.android.synthetic.main.activity_main.*
A v kotlin kóde sa na daný button odkazujem pomocou id buttonu.
hodKockou.setText("Jaro")
Úprava hodnoty textu dynamicky a náhodné číslo
Pridám text na zobrazenie hodnoty hodu kockou:
<TextView android:id="@+id/hodnotaKocky" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toTopOf="@+id/hodKockou" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.498" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.947" />
Na button nastavíme onClickListener, ktorý spustí metódu hodKocku. V danej metód použijem Random triedu z javy (pozor na to).

private fun hodKocku() { val randomInt = Random().nextInt(6) + 1 hodnotaKocky.setText(randomInt.toString()) }
Namiesto textu by sa nám hodil obrázok. Pre každú kocku si priprav jeden obrázok. Obrázok môže byť aj vektorová grafika uložená v xml.
Pridávame obrázok kocky

Prepneme sa na project view a obrázky vložíme do priečinku drawable. Viď obrázok.

Názvy musia obsahovať len malé písmená a-z, čísla 0-9, alebo podčiarkovník.
Ak je random číslo 1 tak nastavíme ako obrázok kocka1 a podobne.
private fun hodKocku() { val randomInt = Random().nextInt(6) + 1 val obrazok = when(randomInt){ 1 -> R.drawable.kocka1 2 -> R.drawable.kocka2 3 -> R.drawable.kocka3 4 -> R.drawable.kocka4 5 -> R.drawable.kocka5 else -> R.drawable.kocka6 } kockaObrazok.setImageResource(obrazok) }
Na UI pridáme ImageView a nastavíme mu umiestnenie na stred.

Nezabudneme na id.
<ImageView android:id="@+id/kockaObrazok" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@+id/hodKockou" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:srcCompat="@drawable/kocka1" />
Problém pri spustení simulátoru?
Spustíme simulátor a pozrieme is výsledok.
Ak máš problém so spustením simulátoru. Nenaštartuje sa v ňom android, tak:

V nastaveniach Actions stlač Wipe Data a potom Cold Boot Now. Teraz by sa ti malo zariadenie rozbehnúť.

Výsledok
Naša aplikácia teraz funguje správne.

Najnovšie články
- Písanie kódu – programovanie v Jave
- Naprogramuj si vlastnú Android aplikáciu v jazyku Kotlin
- Divi scroll efekty
- Dizajnujem web v Divi téme (WordPress)
- Divi najlepšia WordPress téma – 9 dôvodov prečo ju používať (2020)
Páčil sa ti článok? Zváž zdieľanie. Ďakujeme.