Sobes.tech
Junior

Quali tipi di archiviazione dei dati esistono nelle applicazioni Android?

sobes.tech AI

Risposta dell'AI

Nelle applicazioni Android, sono disponibili i seguenti tipi di archiviazione dei dati:

  • Preferenze condivise: Per memorizzare piccoli set di dati primitivi (chiave-valore). Adatto per le impostazioni dell'utente.

  • Memoria interna: Per memorizzare file nella memoria interna del dispositivo. Accessibile solo dall'app che ha creato il file. Viene eliminato disinstallando l'app.

  • Memoria esterna: Per memorizzare file nella memoria esterna del dispositivo (scheda SD o partizione di memoria interna accessibile tramite MTP). Può essere accessibile ad altre applicazioni e utenti. Sono necessari permessi.

  • Database SQLite: Per memorizzare dati strutturati in un database relazionale. Ideale per grandi volumi di dati che richiedono query complesse.

    -- Esempio di creazione di una tabella
    CREATE TABLE utenti (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nome TEXT,
        età INTEGER
    );
    
  • DataStore: Un'alternativa più moderna alle Preferenze condivise. Permette di memorizzare dati tipizzati in modo asincrono. Supporta Flow.

    // Esempio di utilizzo di Preference DataStore
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "impostazioni")
    
  • Libreria di persistenza Room: Astrazione su SQLite. Semplifica il lavoro con i database, fornisce un accesso più sicuro ai dati e supporta LiveData e Flow.

    // Esempio di DAO con Room
    @Dao
    interface UserDao {
        @Query("SELECT * FROM user")
        fun getAll(): List<User>
    
        @Insert
        fun insertAll(vararg users: User)
    }