Qaysi ma'lumotlarni saqlash usullarini bilasiz?
sobes.tech AI
AIdan javob
-
SharedPreferences: Oddiy kalit-qiymat juftlarini (primitiiv turlar) saqlash uchun. Tez kirish, ammo katta ma'lumotlar hajmi uchun mos emas.
-
Ichki xotira (Internal Storage): Foydalanuvchi uchun faqat kirish mumkin bo'lgan fayl tizimi. Ma'lumotlar o'chiriladi o'chirilganda. Maxfiy ma'lumotlar uchun mos.
// Fayl yozish applicationContext.openFileOutput("my_file.txt", Context.MODE_PRIVATE).use { it.write("Some data".toByteArray()) } // Fayl o'qish applicationContext.openFileInput("my_file.txt").bufferedReader().useLines { lines -> lines.forEach { println(it) } } -
Tashqi xotira (External Storage): Boshqa ilovalar (ruxsatlar bilan) va foydalanuvchi uchun ochiq fayl tizimi. Ma'lumotlar o'chirilgandan keyin saqlanadi. Android 10+ ruxsatlariga e'tibor berish kerak. Nohimoyalangan ma'lumotlar uchun mos.
-
SQLite Ma'lumotlar bazalari: Relatsion ma'lumotlar bazasi. Tuzilgan ma'lumotlar uchun, murakkab so'rovlar talab qiladigan. Ko'proq kod yozishni talab qiladi. Room Persistence Library tavsiya etilgan ORM.
-- SQL so'rov misoli SELECT * FROM users WHERE age > 30 -
Content Providers: Umumiy ma'lumotlar to'plamlariga strukturali kirish imkonini beradi. O'z ma'lumotlari uchun yoki boshqa ilovalarning ma'lumotlariga kirish uchun yaratilishi mumkin (masalan, kontaktlar).
-
DataStore: Zamonaviy va asinxron ma'lumot saqlash yechimi, SharedPreferences va SQLite funksiyalarining bir qismini almashtiradi. Ikki turi mavjud: Preferences DataStore (kalit-qiymat juftlari uchun) va Proto DataStore (Protobuf bilan tiplangan obyektlar uchun).
// Preferences DataStore misoli val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings") suspend fun saveSetting(context: Context, key: String, value: Boolean) { context.dataStore.edit { settings -> settings[booleanPreferencesKey(key)] = value } } -
Jetpack DataStore (eski versiyalar) / DataSync / boshqa bulut yechimlari: Foydalanuvchi qurilmalari o'rtasida ma'lumotlarni sinxronlashtirish va zaxira nusxalarini saqlash uchun. Bulut xizmatlari bilan integratsiya talab etiladi.
Tanlov ma'lumotlar turi, hajmi, umumiy kirish ehtiyoji, xavfsizlik masalalari va ishlash talablarga bog'liq.