Sobes.tech
Junior

Android ilovalarida qanday ma'lumotlarni saqlash turlari mavjud?

sobes.tech AI

AIdan javob

Android ilovalarida quyidagi ma'lumotlarni saqlash turlari mavjud:

  • Shared Preferences: Kichik miqdordagi primitiv ma'lumotlarni (kalit-qiymat) saqlash uchun. Foydalanuvchi sozlamalari uchun mos.

  • Ichki saqlash: Qurilmaning ichki xotirasida fayllarni saqlash uchun. Faqat faylni yaratgan ilova uchun mavjud. Ilovani o'chirish bilan o'chiriladi.

  • Tashqi saqlash: Qurilmaning tashqi xotirasida fayllarni saqlash uchun (SD-karta yoki MTP orqali kirish mumkin bo'lgan ichki bo'lim). Boshqa ilovalar va foydalanuvchilar uchun ochiq bo'lishi mumkin. Ruxsatlar talab qilinadi.

  • SQLite Ma'lumotlar bazalari: Tuzilgan ma'lumotlarni relatsion ma'lumotlar bazasida saqlash uchun. Katta hajmdagi ma'lumotlar va murakkab so'rovlar uchun ideal.

    -- Jadval yaratish misoli
    CREATE TABLE users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT,
        age INTEGER
    );
    
  • DataStore: Shared Preferences'ga nisbatan yanada zamonaviyroq. Tiplangan ma'lumotlarni asinxron tarzda saqlash imkonini beradi. Flow ni qo'llab-quvvatlaydi.

    // Preference DataStore dan foydalanish misoli
    val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "sozlamalar")
    
  • Room Persistence Kutubxonasi: SQLite ustidan abstraktsiya. Ma'lumotlar bazalari bilan ishlashni soddalashtiradi, ma'lumotlarga xavfsizroq kirishni ta'minlaydi va LiveData hamda Flow ni qo'llab-quvvatlaydi.

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