Sobes.tech
Junior

Кадом намудҳои захира кардани маълумот дар барномаҳои Android мавҷуданд?

sobes.tech AI

Ҷавоб аз AI

В додатках Android доступні наступні типи зберігання даних:

  • Shared Preferences: Для збереження невеликих наборів примітивних даних (ключ-значення). Підходить для налаштувань користувача.

  • Внутрішнє сховище: Для збереження файлів у внутрішній пам’яті пристрою. Доступне лише для додатку, який створив файл. Видаляється при видаленні додатку.

  • Зовнішнє сховище: Для збереження файлів у зовнішній пам’яті пристрою (SD-карта або розділ внутрішньої пам’яті, доступний через MTP). Може бути доступним для інших додатків і користувачів. Потрібні дозволи.

  • Бази даних SQLite: Для збереження структурованих даних у реляційній базі даних. Ідеально підходить для великих обсягів даних, що вимагають складних запитів.

    -- Приклад створення таблиці
    CREATE TABLE користувачі (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        ім’я TEXT,
        вік INTEGER
    );
    
  • DataStore: Більш сучасна альтернатива Shared Preferences. Дозволяє асинхронно зберігати типізовані дані. Підтримує 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)
    }