Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

16. diel - Databázy v Androide - Knižnica Room a Migrácia

V minulej lekcii, Databázy v Androide - Databázové triedy , sme pokračovali úpravami Java kódu hlavnej aktivity a deklaráciou tried pre prácu s databázou.

V dnešnom Android tutoriále si preberieme problematiku migrácie medzi verziami databázy pri použití knižnice Room.

V priebehu vývoja alebo neskoršej aktualizácie projektu sa môže objaviť požiadavka na úpravu triedy entity (napr. pridaním ďalšej premennej, resp. ďalšieho stĺpca tabuľky databázy), čím meníme štruktúru databázy.

Po každej zmene štruktúry databázy musíme v Java kóde zmeniť číslo verzie databázy.

Zmenu verzie vykonáme úpravou vlastnosti version anotácie @Database našej triedy AppDatabase (viď. nasledujúca ukážka kódu).

Po aktualizácii aplikácie, zahŕňajúcej aj zmenu verzie databázy, budú všetky dáta, ktoré používateľ v našej aplikácii do databázy uložil, nenávratne stratené.

Strate dát sa môžeme vyhnúť použitím migrácie. Knižnica Room ponúka:

  • automatickú migráciu - fungujú pre väčšinu základných zmien schémy databázy,
  • manuálnu migráciu - definujeme v prípade zložitejších zmien.

Databáza Room podporuje automatizované migrácie od verzie 2.4.0-alpha01.

Verzia Room databázy

Verziu Room databázy definujeme v súbore build.gradle:
def room_version = "2.4.0-alpha04"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"

Automatická migrácia

V našom projekte poznámkového bločku sme deklarovali triedu databázy AppDatabase s týmito vlastnosťami anotácie @Database:

 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh a certifikátom iba za 750 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 22 článkom (17 lekcií, 5 testov) tohoto kurzu.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Neobmedzený a trvalý prístup k jednotlivým lekciím.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V Android tutoriále si preberieme problematiku migrácie medzi verziami databázy pri použití knižnice Room.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Pavel
Avatar
Autor se věnuje programování v Javě, hlavně pro Android. Mezi jeho další zájmy patří Arduino, Minecraft.
Aktivity