První úprava APP - Zachycování událostí a dat. - Technika
Přejít na obsah

První úprava APP – Zachycování událostí a dat.

Reklamy

V příspěvku o vytvoření prvního projektu na Androidu jsme pak viděli, jak vytvořit naši základní aplikaci, prošli jsme si strukturu projektu a různé koncepty jako SDK, Manifest a aktivity a jejich životní cyklus, nyní budeme pokračovat v úpravách aktuálního projektu s cílem prohloubit tvorbu aplikací.

 

Jak již bylo zmíněno, upravíme aplikaci vytvořenou v tomto záznamu, kde jsme postavili první projekt Android, zůstaneme tam na této obrazovce

Zde vidíme, že výchozí aplikace vytváří komponentu TextView s textem „Hello World“ z pohledu Split. (Pokud v tuto chvíli nevíte, jak aplikaci vytvořit, doporučuji vám přečíst si výše zmíněný záznam.)

Být zde, upravíme tento pohled přidáním nových komponent, pokud pak přejdeme do výkresového pohledu, můžeme upravit obrazovku podle našich představ, v tomto případě vytvoříme následující rozhraní.

Jak vidíme, přidali jsme komponent PlainText, který ve skutečnosti odpovídá editačnímu poli nebo který může mít vlastnosti jako prostý text, heslo, telefon, pošta a další, stejným způsobem nám definované rozvržení umožňuje upravit velikost komponenty a přiřadit relativní pozici, v tomto případě má textové pole pozici vzhledem k textView titulku.

Pokud přejdeme do zobrazení Split, uvidíme vygenerovaný xml kód a odtud můžeme ručně upravit vlastnosti, v tomto případě byla do nadpisu přidána barva a velikost 25sp, všimněte si, že každá komponenta má vlastnost id a také vlastnosti pro ovládání umístění součásti na obrazovce.

 

Najdeme další komponenty jako např spropitné což odpovídá a zástupný symbol který je zobrazen, když je pole prázdné, lze stejným způsobem přidat další vlastnosti pro stylování komponenty.

 

Nyní komponent jako který má také vlastnost id, která je relativní ke komponentě textového pole, v tomto případě identifikátor upravíme.

Aplikační logika.

 

Pro provedení logického a informačního zpracování přejdeme do třídy MainActivity.kt, odtud získáme grafické komponenty přes jejich id pomocí metody findViewById().

 

Přidáme událost kliknutí tlačítka a vytvoříme funkci nazvanou onClick() (lze volat jakýmkoli způsobem)

 

V této funkci je přidána logika pro zachycení hodnoty textového pole, na které se odkazuje stejným způsobem jako na tlačítko, ale v tomto případě se vytvoří komponenta typu EditText, která odkazuje na id textového pole.

 

Následně je získána hodnota pole a přidána k proměnné String, která je pak prezentována v komponentě typu Toast, která umožňuje zobrazení dočasné zprávy na obrazovce.

 

Po spuštění aplikace se spustí emulátor a můžeme otestovat systém přidáním uživatelského jména a stisknutím tlačítka „enter“, vidíme, jak se zobrazuje Toast, který trvá několik sekund.


Poté obrazovku upravíme přidáním další komponenty TextView bez textu, která bude sloužit k zobrazení informací o zadaném jménu, nyní však přímo na obrazovce.

Pro provedení této logiky se vrátíme zpět do třídy MainActivity.kt a ve funkci odkážeme na komponentu EditText s přiřazeným id a poté odešleme zprávu, kterou chceme zobrazit.

 

Později aplikaci spustíme znovu a máme následující výsledek.


 

Další alternativou k zachycování dat je deklarovat komponenty globálně, čímž se vyhnete nutnosti je deklarovat v každé funkci:


Důležité používat!! abychom vám zabránili mít nulové odkazy.

 

Pozorování:

 

V řádcích 11 a 12 se používá nullsafety, jedná se o funkci Kotlin, která vám umožňuje ovládat hodnoty null v rámci aplikace a brání jí v načtení oblíbené výjimky NullPointerException, nemůžeme přiřadit hodnoty null přímo, ale tímto způsobem, když označíme Upravit text? říkáme kompilátoru, že toto pole může mít nulový odkaz a umožnit jeho zpracování.

 

v řádcích 26 a 27 se používá !! sdělit kompilátoru, aby nekontroloval, zda je hodnota null a tedy může bez problémů zkompilovat, ale pokud je null, hodit výjimku do konzole v případě, že víme, že může přijít nulová hodnota a přesto chceme zpracovat

 

Další doporučenou alternativou by bylo bezpečné volání, takže když se pokusíte volat objekt, pokud je null, výjimka nebude vyvolána, ale hodnota null bude uložena bez ukončení procesu, takže proměnná musí mít hodnotu null pro aby to bylo správně zkompilováno.

 

A je to, s tím máme první funkční aplikaci se sběrem dat a událostmi tlačítek.

 

Může vás to také zajímat.





Chcete k tomuto příspěvku něco přidat nebo okomentovat? klidně udělej….A pokud se vám to líbilo... zvu vás ke sdílení Y Přihlaste se k odběru kliknutím na tlačítko „Připojit se k tomuto webu“, abyste slyšeli více podobných příspěvků 😉