Sobes.tech
Junior

Que tipos de armazenamento de dados existem em aplicações Android?

sobes.tech IA

Resposta da IA

Nos aplicativos Android, estão disponíveis os seguintes tipos de armazenamento de dados:

  • Preferências Partilhadas: Para armazenar pequenos conjuntos de dados primitivos (chave-valor). Adequado para configurações do utilizador.

  • Armazenamento Interno: Para guardar ficheiros na memória interna do dispositivo. Acesso apenas pela aplicação que criou o ficheiro. É eliminado ao desinstalar a aplicação.

  • Armazenamento Externo: Para guardar ficheiros na memória externa do dispositivo (cartão SD ou partição de memória interna acessível via MTP). Pode ser acessível por outras aplicações e utilizadores. Requer permissões.

  • Bases de Dados SQLite: Para armazenar dados estruturados numa base de dados relacional. Ideal para grandes volumes de dados que requerem consultas complexas.

    -- Exemplo de criação de tabela
    CREATE TABLE utilizadores (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nome TEXT,
        idade INTEGER
    );
    
  • DataStore: Uma alternativa mais moderna às Preferências Partilhadas. Permite armazenar dados tipados de forma assíncrona. Suporta Flow.

    // Exemplo de uso de Preference DataStore
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "configurações")
    
  • Biblioteca de Persistência Room: Abstração sobre SQLite. Simplifica o trabalho com bases de dados, fornece um acesso mais seguro aos dados e suporta LiveData e Flow.

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