Projekt Debilníček / ToDo list [databázové vydanie]
V existujúcom projekte použijeme SQL databázu pre ukladanie úloh, a prispôsobíme jej celú aplikáciu,
Cieľové elementy
- ukážeme si prácu s databázou v Androide 2.x.
- Prístup v novších verziách je omnoho robustnejší, výkonnejší, ale omnoho zložitejší na uchopenie
- celý Debilníček zmigrujeme na databázu, ale nebudeme prekopávať pôvodný projekt, pretože prepisovaní je viac než pôvodného kódu
- oboznámime sa sa s relačnou databázou SQLite
- vytvoríme vlastný SQLiteOpenHelper
- naučiť sa používať konštanty, ktorými uľahčíme zápis, prinajmenšom pre názvy tabuliek
- vytvoríme ukážkovú tabuľku v
onCreate()
pomocou metódyexecSQL()
- ukážeme si, ako odinštalovať aplikáciu a vymazať jej dáta, čo sa hodí pri úvodnom divokom modifikovaní SQL schémy
- skonštatujeme, že databáza SQLite je slabo typovaná
- naučíme sa používať kurzory
- demonštrujeme surové SQL dopyty cez
rawQuery()
a povieme o ich výhodách (priama možnosť písať SQL) a nevýhodách (typovo nebezpečné) - vytvoríme
SimpleCursorAdapter
a ukážeme si, ako možno prepojiť kurzor s adaptérom zoznamu, a následne s položkami zoznamu - ukážeme si tiež zoznamy s dvoma podpoložkami v každej položke
- nezabudneme spriahnuť životný cyklus kurzora s cyklom aktivity
- ukážeme si, kedy sa kurzorový adaptér aktualizuje sám, a kedy ho môžeme aktualizovať ručne cez
requery()
- ukážeme si, ako dáta z kurzora spolupracujú s mnohými triedami: napríklad kontextovým menu
- ukážeme si vkladanie hodnôt pomocou
ContentValues
a typovo bezpečných metód - ukážeme si filtrovanie položiek podľa identifikátora pomocou klauzuly
WHERE
v androidnom API. - povieme tiež o uvoľnovaní zdrojov (databázy) v
onDestroy()
Slajdy
Hotový projekt
Ďalšie zdroje
- Android: zobrazovanie údajov z SQL databázy
- CellObject — plugin do Eclipse pre prezeranie databázy v Androide
- John Carpenter: Singletons and Services and Shutdowns, Oh My!, o singletonoch a prístupoch k ich implementácii v Androide