[GUIDA] Gestione Database SQL con ActiveAndroid
ciao a tutti :)
Spesso implementare un Database SQL è laborioso, soprattutto se si ha la necessità di più tabelle all'interno del DB.
La libreria ActiveAndroid ci viene in aiuto semplificando di molto l'implementazione. Fondamentalmente si tratta di una libreria "annotation based", dovremo solo creare delle classi specifiche e alcuni metodi "helper" per la manipolazione del DB. l'implementazione mediamente non richiede più di una decina di minuti :)
Informazioni Base su ActiveAndroid:
- Per Ogni classe java creata che estende la classe Model, la libreria creerà una tabella all'interno del DB per gli elementi (classe MyDbRow estende Model ==> Tabella MyDbRow nel DB che conterrà tutti gli elementi MyDbRow)
- Nelle classi che estendono Model è possibile "linkare" altre classi "Model" ( Item(Model) <==> Category(Model))
- L'ID degli elementi inseriti è autoassegnato, se vi serve un ID fisso dovrete creare un'altra colonna per i vostri ID
- La manipolazione degli elementi del DB è semplicissima.
Implementazione Base:
Manifest.xml
Dovrete aggiungere queste 2 righe all'interno del tag <Application>
AA_DB_NAME = Nome del DB
AA_DB_VERSION = Versione del DB
Se la vostra app non ha nessuna classe che estende Application aggiungete anche questa parte al tag <application>
Se invece avete creato una vostra classe che estende Application, cambiate l'import dell'estensione da android.app.Application a com.activeandroid.app.Application
Creazione di un Modello:
Dovrete creare almeno una classe java che estende Model. Come accennato sopra le Classi possono essere "collegate", come vedrete qui sotto, la classe Item possiede anche una variabile Category, la quale corrisponde ad un altro elemento presente in una tabella separata
Item.java:
Gestione degli elementi:
La gestione è veramente semplice:
Salvataggio:
Eliminazione elementi:
Ottenere tutti gli elementi della tabella "Item" (List<Item>()):
Ottenere un singolo elemento:
Come vedete l'implementazione è molto veloce e semplice :)
Per approfondimenti sulla libreria, dato che è vastissima, vi rimando alla wiki ufficiale su github ==> https://github.com/pardom/ActiveAndr...etting-started
Enjoy! :cool: