Sobes.tech
Junior

Ποιοι τύποι αποθήκευσης δεδομένων υπάρχουν στις εφαρμογές Android;

sobes.tech AI

Απάντηση από AI

Στις εφαρμογές Android, διατίθενται οι ακόλουθοι τύποι αποθήκευσης δεδομένων:

  • Κοινά Προτιμήσεις: Για την αποθήκευση μικρών συνόλων πρωταρχικών δεδομένων (κλειδί-τιμή). Κατάλληλο για ρυθμίσεις χρήστη.

  • Εσωτερική Αποθήκευση: Για την αποθήκευση αρχείων στη εσωτερική μνήμη της συσκευής. Διαθέσιμο μόνο για την εφαρμογή που δημιούργησε το αρχείο. Διαγράφεται κατά την απεγκατάσταση της εφαρμογής.

  • Εξωτερική Αποθήκευση: Για την αποθήκευση αρχείων στη εξωτερική μνήμη της συσκευής (κάρτα SD ή διαμέρισμα εσωτερικής μνήμης προσβάσιμο μέσω MTP). Μπορεί να είναι προσβάσιμο από άλλες εφαρμογές και χρήστες. Απαιτούνται άδειες.

  • Βάσεις Δεδομένων SQLite: Για την αποθήκευση δομημένων δεδομένων σε μια σχεσιακή βάση δεδομένων. Ιδανικό για μεγάλους όγκους δεδομένων που απαιτούν πολύπλοκα ερωτήματα.

    -- Παράδειγμα δημιουργίας πίνακα
    CREATE TABLE χρήστες (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        όνομα TEXT,
        ηλικία INTEGER
    );
    
  • DataStore: Μια πιο σύγχρονη εναλλακτική λύση στις Κοινές Προτιμήσεις. Επιτρέπει την αποθήκευση τύπων δεδομένων ασύγχρονα. Υποστηρίζει Flow.

    // Παράδειγμα χρήσης Preference DataStore
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "ρυθμίσεις")
    
  • Βιβλιοθήκη Διατήρησης Room: Αφηρημένη πάνω από το SQLite. Απλοποιεί τη δουλειά με βάσεις δεδομένων, παρέχει πιο ασφαλή πρόσβαση στα δεδομένα και υποστηρίζει LiveData και Flow.

    // Παράδειγμα DAO με Room
    @Dao
    interface UserDao {
        @Query("SELECT * FROM user")
        fun getAll(): List<User>
    
        @Insert
        fun insertAll(vararg users: User)
    }