Sobes.tech
Junior

Aké typy ukladania údajov existujú v Android aplikáciách?

sobes.tech AI

Odpoveď od AI

V Android aplikáciách sú dostupné nasledujúce typy ukladania údajov:

  • Zdieľané preferencie: Na ukladanie malých súborov primitívnych údajov (kľúč-hodnota). Vhodné pre používateľské nastavenia.

  • Vnútorné úložisko: Na ukladanie súborov do vnútorného pamäťového priestoru zariadenia. Prístupné iba pre aplikáciu, ktorá súbor vytvorila. Odstraňuje sa pri odinštalovaní aplikácie.

  • Vonkajšie úložisko: Na ukladanie súborov do vonkajšieho pamäťového priestoru zariadenia (SD karta alebo oddiel vnútorného pamäťového priestoru dostupný cez MTP). Môže byť prístupné iným aplikáciám a používateľom. Vyžaduje povolenia.

  • SQLite databázy: Na ukladanie štruktúrovaných údajov v relačnej databáze. Ideálne pre veľké objemy údajov, ktoré vyžadujú zložité dotazy.

    -- Príklad vytvorenia tabuľky
    CREATE TABLE používatelia (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        meno TEXT,
        vek INTEGER
    );
    
  • DataStore: Modernejšia alternatíva k zdieľaným preferenciám. Umožňuje asynchrónne ukladanie typizovaných údajov. Podporuje Flow.

    // Príklad použitia Preference DataStore
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "nastavenia")
    
  • Knižnica pre perzistenciu Room: Abstrakcia nad SQLite. Zjednodušuje prácu s databázami, poskytuje bezpečnejší prístup k údajom a podporuje LiveData a Flow.

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