... | ... | @@ -13,7 +13,7 @@ V `MainMenuActivity` mu nastavte hodnotu na 0. |
|
|
Import knižnice sa definuje v súbore `build.gradle`:
|
|
|
|
|
|
```
|
|
|
implementation
|
|
|
implementation "com.orhanobut:hawk:2.0.1"
|
|
|
```
|
|
|
|
|
|
Inicializácia
|
... | ... | @@ -22,4 +22,37 @@ Inicializácia |
|
|
Hawk.init(this).build()
|
|
|
```
|
|
|
|
|
|
Hawk je mapa, do ktorej sa ukladajú hodnoty |
|
|
\ No newline at end of file |
|
|
Hawk je mapa, do ktorej sa ukladajú hodnoty pod nejakým jedinečným názvom (kľúčom). Hodnotu získame zadaním jedinečného kľúča.
|
|
|
|
|
|
```kotlin
|
|
|
Hawk.put("key", 10)
|
|
|
val key = Hawk.get("key", 0) // default value 0, if key does not exist
|
|
|
```
|
|
|
|
|
|
Čo ak kľúč neexistuje? Buď poskytneme alternatívnu hodnotu, v našom prípade 0, alebo ju neposkytneme a v takom prípade program spadne.
|
|
|
|
|
|
Preto sa môžme dotázať, či kľúč existuje:
|
|
|
|
|
|
```kotlin
|
|
|
Hawk.contains("key"); // true if exists
|
|
|
```
|
|
|
|
|
|
Kľúč môžme aj zmazať (**zmažeme zároveň aj hodnotu**):
|
|
|
|
|
|
```kotlin
|
|
|
Hawk.delete("key");
|
|
|
```
|
|
|
|
|
|
Ak by sme chceli všetko zmazať, použijeme `Hawk.deleteAll();`
|
|
|
|
|
|
## Úloha 1
|
|
|
|
|
|
Do hry pridajte nad tlačítko _Štart_ počítadlo maximálneho počet dosiahnutých bodov.
|
|
|
Hodnota sa zachová aj pri zavretí aplikácie. (Aplikáciu treba zavrieť a odstrániť z nedávnych aplikácií.)
|
|
|
|
|
|
---
|
|
|
|
|
|
Keď úlohu spravíte, zistíte, že po skončení hry sa číslo neupdatuje.
|
|
|
Je to spôsobené tým, že metóda `onCreate` sa zavolá len pri vytvorení Aktivity, no pri návrate z inej aktivity sa táto metóda nezavolá. Kód vykonajte vo vhodnejšej metóde [`onStart`](https://developer.android.com/guide/components/activities/activity-lifecycle#onstart):
|
|
|
|
|
|
![activity-lifecycle](uploads/805834ac94a62972637862a401edf0a5/activity-lifecycle.png) |
|
|
\ No newline at end of file |