Sobes.tech
Junior

Jaké typy ukládání dat existují v aplikacích Android?

sobes.tech AI

Odpověď od AI

V aplikacích Android jsou k dispozici následující typy úložišť dat:

  • Sdílené preference: Pro ukládání malých sad primitivních dat (klíč-hodnota). Vhodné pro uživatelská nastavení.

  • Vnitřní úložiště: Pro ukládání souborů do vnitřní paměti zařízení. Přístupné pouze aplikaci, která soubor vytvořila. Odstraňuje se při odinstalaci aplikace.

  • Vnější úložiště: Pro ukládání souborů do vnější paměti zařízení (SD karta nebo oddíl vnitřní paměti dostupný přes MTP). Může být přístupné jiným aplikacím a uživatelům. Vyžaduje oprávnění.

  • Databáze SQLite: Pro ukládání strukturovaných dat v relační databázi. Ideální pro velké objemy dat vyžadující složité dotazy.

    -- Příklad vytvoření tabulky
    CREATE TABLE uživatelé (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        jméno TEXT,
        věk INTEGER
    );
    
  • DataStore: Modernější alternativa ke sdíleným preferencím. Umožňuje asynchronní ukládání typovaných dat. Podporuje Flow.

    // Příklad použití Preference DataStore
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "nastavení")
    
  • Knihovna perzistence Room: Abstrakce nad SQLite. Zjednodušuje práci s databázemi, poskytuje bezpečnější přístup k datům a podporuje LiveData a Flow.

    // Příklad DAO s Room
    @Dao
    interface UserDao {
        @Query("SELECT * FROM user")
        fun getAll(): List<User>
    
        @Insert
        fun insertAll(vararg users: User)
    }