Sobes.tech
Junior

Jakie typy przechowywania danych istnieją w aplikacjach Android?

sobes.tech AI

Odpowiedź od AI

W aplikacjach Android dostępne są następujące typy przechowywania danych:

  • Shared Preferences: Do przechowywania małych zestawów danych prymitywnych (klucz-wartość). Odpowiednie dla ustawień użytkownika.

  • Pamięć wewnętrzna: Do przechowywania plików w pamięci wewnętrznej urządzenia. Dostępne tylko dla aplikacji, która utworzyła plik. Usuwane przy odinstalowaniu aplikacji.

  • Pamięć zewnętrzna: Do przechowywania plików na zewnętrznej pamięci urządzenia (karta SD lub partycja pamięci wewnętrznej dostępna przez MTP). Może być dostępna dla innych aplikacji i użytkowników. Wymaga uprawnień.

  • Bazy danych SQLite: Do przechowywania danych strukturalnych w relacyjnej bazie danych. Idealne dla dużych ilości danych wymagających złożonych zapytań.

    -- Przykład tworzenia tabeli
    CREATE TABLE users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT,
        age INTEGER
    );
    
  • DataStore: Nowsza alternatywa dla Shared Preferences. Pozwala na asynchroniczne przechowywanie danych typowanych. Obsługuje Flow.

    // Przykład użycia Preference DataStore
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "ustawienia")
    
  • Biblioteka trwałości Room: Abstrakcja nad SQLite. Ułatwia pracę z bazami danych, zapewnia bezpieczniejszy dostęp do danych i obsługuje LiveData oraz Flow.

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