Məlumatların saxlanması üçün hansı üsulları bilirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
-
SharedPreferences: Sadə açar-dəyər cütlüklərini (primitiv tiplər) saxlamaq üçün. Tez giriş imkanı verir, lakin böyük məlumat həcmləri üçün uyğun deyil.
-
Daxili yaddaş (Internal Storage): Yalnız tətbiq tərəfindən əlçatan fayl sistemi. Məlumatlar silindikdə silinir. Məxfi məlumatlar üçün uyğundur.
// Fayl yazma applicationContext.openFileOutput("my_file.txt", Context.MODE_PRIVATE).use { it.write("Some data".toByteArray()) } // Fayl oxuma applicationContext.openFileInput("my_file.txt").bufferedReader().useLines { lines -> lines.forEach { println(it) } } -
Xarici yaddaş (External Storage): Digər tətbiqlər (icazələrlə) və istifadəçi üçün əlçatan fayl sistemi. Məlumatlar silindikdən sonra saxlanılır. Android 10+ icazələrinə diqqət yetirmək lazımdır. Qeyri-həssas məlumatlar üçün uyğundur.
-
SQLite verilənlər bazaları: Əlaqəli verilənlər bazası. Strukturlaşdırılmış məlumatlar və mürəkkəb sorğular üçün uyğundur. Daha çox kod tələb edir. Room Persistence Library tövsiyə olunan ORM-dir.
-- SQL nümunə sorğusu SELECT * FROM users WHERE age > 30 -
Content Providers: Paylaşılan məlumat dəstələrinə strukturlaşdırılmış giriş təmin edir. Öz məlumatlarınız üçün və ya digər tətbiqlərin məlumatlarına (məsələn, əlaqələr) giriş üçün yaradıla bilər.
-
DataStore: Müasir və asinxron məlumat saxlama həlli, SharedPreferences və SQLite funksionallığının bir hissəsini əvəz edir. İki növü var: Preferences DataStore (açar-dəyər cütləri üçün) və Proto DataStore (Protobuf ilə tipli obyektlər üçün).
// Preferences DataStore nümunəsi 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 (köhnə versiyalar) / DataSync / digər bulud həlləri: İstifadəçi cihazları arasında məlumatların sinxronizasiyası və ehtiyat nüsxələrinin saxlanması üçün. Bulud xidmətləri ilə inteqrasiya tələb edir.
Yol seçimi məlumatların növü, həcmi, ümumi giriş ehtiyacı, təhlükəsizlik məsələləri və performans tələblərinə bağlıdır.