AndroidProgrammazione

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.