Archiviazione dati
Alcune applicazioni hanno la necessità di salvare in modo permanente alcuni dati, ad esempio i dati di configurazione. Ogni applicazione ha a disposizione uno spazio su disco Internal Storage e risiede in una parte del file system. Possiamo decidere di salvare i dati nella memoria interno o esterna del dispositivo External Storage.
Storage interno
Per lo storage interno basta indicare solo il nome del file, per accedere usiamo due metodi:
- openFileInput – apre un file in lettura, il nome del file viene passato come unico parametro Stringa;
- openFileOutput – apre un file in scrittura, oltre al nome del file Stringa bisogna passare il mode int. Come mode possiamo indicare:
- Context.MODE_APPEND – concatena i nuovi contenuti a quelli esistenti;
- Context.MODE_WORLD_READABLE – consente l’accesso in lettura a tutte le applicazioni;
- Context.MODE_WORLD_WRITEABLE – consente l’accesso in scrittura a tutte le applicazioni;
Questo e’ un semplice esempio per scrivere qualcosa sul file interno:
Se poi vogliamo leggere quello che abbiamo scritto possiamo semplicemente scrivere:
Questo va benissimo se dobbiamo gestire un numero limitato di informazioni, altrimenti dobbiamo organizzare i dati con un database relazionale. SQLite è un potentissimo motore per gestire questo tipo di informazioni e le API si trovano già incluse nel sistema operativo.
I comandi SQLite si suddividono in:
- DDL – Data Definition Language;
- DML – Data Manipulation Language;
- DQL – Data Query Language;
Ogni database è accessibile solo dalle classi appartenenti all’applicazione, quindi non è visibile all’esterno dell’applicazione.