Select Page

Naprogramuj si vlastnú Android aplikáciu v jazyku Kotlin

Jaroslav Beňo

10/09/2020

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

O autorovi: Jaroslav Beňo

Jaro je v skratke kresťan, manžel, otec a programátor. Na tomto webe sa venuje programovaniu. Jeho túžbou je šíriť vedomosti ďalej, aby sme mohli spolu rásť.

Pripravil viacero online video kurzov. Jeho sociálne siete:

Podobné články

Kotlin podmienky if a if else

V tomto článku sa naučíš, čo je to podmienka a ako ju požiť. Poďme na to a poďme sa naučiť Kotlin podmienky if a if else. Základom každého algoritmu je podmienka. Ak niečo, tak niečo, alebo niečo iné. Napríklad ideš kúpiť vajíčka do obchodu: Je obchod otvorený? Ak...

Kotlin porovnávanie, rozdiel medzi == a ===

V tomto článku sa oboznámiš ako je to v Kotline s porovnávaním. Dozvieš sa aký je rozdiel medzi == a ===. Poďme na to v článku Kotlin porovnávanie, rozdiel medzi == a ===. V Jave ak by som porovnal dve premenné pomocou ==, tak sa porovná ich hodnota. V Kotline je...

Kotlin premenné

V tomto článku sa dozvieš čo sú to premenné a ako fungujú v programovacom jazyku Kotlin. Premenné sú jedným zo základných pilierov pri programovaní. Musíš vedieť, ako sa vytvárajú a na čo slúžia. Poďme na to Kotlin premenné. Premenné slúžia na uchovanie informácii...

Kotlin prvý program

V tomto článku sa dozvieš ako krok za krokom napíšeš svoj prvý program v Kotline. Potrebuješ vývojové prostredie IntelliJ IDEA a ostatné sa dozvieš v článku. Vytvoríme nový Kotlin/JVM project a dáme Next. Pomenujeme projekt a zašpecifikujeme umiestnenie....

Ako skonvertovať Java kód na Kotlin kód

V IntelliJ IDEA máme možnosť skopírovať java kód a po vložení do Kotlin kódu sa nás IDEA spýta, či daný kód chceme preložiť do Kotlin kódu. Toto je rýchli spôsob ako si vyskúšať ako by Java kód vyzeral v Kotline. A ty sa v tomto článku dozvieš ako na...

Kotlin úvod v skratke

V tomto článku sa ti v skratke budem snažiť povedať, čo je to Kotlin. Kotlin je programovací jazyk, ktorý vlastní JetBrains, ktorý vytvorili napríklad IntelliJ IDEA vývojové prostredie. Kotlin je navrhnutý tak, aby mohol byť spustený na JVM, tak ako iné java programy....

Kotlin plugin v IntelliJ IDEA

Pri programovaní aplikácie - programu v jazyku Kotlin vieme použiť napríklad IntelliJ IDEA vývojové prostredie. Ja toto prostredie odporúčam a v tomto článku sa dozvieš ako nastaviť Kotlin plugin v IntelliJ IDEA. V IntelliJ IDEA si musíme byť istý, že máme...

Share This

Páčil sa ti článok? Zváž zdieľanie. Ďakujeme.