Mobilne Aplikacie | 31.3.2020 11:45 | Praca s Databazou

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Prednáška sa venuje práci s databázou v Androide, ktorý obsahuje odľahčený systém SQLite podporujúci SQL, transakcie a viacero databáz a vyžadujúci len okolo 250 kB. Dáta sú dostupné iba aplikácii, ktorej patria, a SQLite pozná len málo typov (text, celé čísla, reálne čísla a blob), takže iné typy, napríklad dátum, treba konvertovať. Na príklade aplikácie na evidenciu študentov (meno, e-mail, vek) sa ukazuje použitie triedy kontraktu s konštantami názvov tabuliek a stĺpcov a objektovej triedy zodpovedajúcej záznamu. Komunikáciu s databázou zabezpečuje potomok SQLiteOpenHelper, ktorý vyžaduje názov a verziu databázy a metódy onCreate (vytvorenie tabuliek pri prvom spustení) a onUpgrade (prechod medzi verziami bez straty používateľových dát). V jednoduchej aplikácii sa pri upgrade tabuľka zmaže a vytvorí odznova, čo sa vykoná len po zvýšení čísla verzie.

  • - Android obsahuje databázu SQLite: podporuje SQL, transakcie a viac databáz, nároky má okolo 250 kB.
  • - Dáta databázy sú prístupné len vlastnej aplikácii, pokiaľ ich nezdieľa.
  • - SQLite má málo dátových typov (text, integer, real, blob), ostatné typy, napr. datetime, sa konvertujú.
  • - Názvy tabuliek a stĺpcov sa definujú ako konštanty v triede kontraktu (final, statické triedy).
  • - Záznamy sa mapujú na objekty (trieda so id typu long, meno, e-mail, vek, konštruktor, gettery a settery).
  • - SQLiteOpenHelper vyžaduje názov a verziu databázy a prepísanie metód onCreate a onUpgrade.
  • - onCreate vytvára tabuľky pri prvom spustení; onUpgrade rieši zmenu verzie postupne z každej staršej verzie bez straty používateľových dát.
  • - Aby sa onUpgrade vykonal, treba zvýšiť číslo verzie databázy.

Zhrnutie pripravené s pomocou AI z prepisu videa.