Sobes.tech
Junior

Məlumatların saxlanması üçün hansı üsulları bilirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

  1. 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.

  2. 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) }
    }
    
  3. 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.

  4. 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
    
  5. 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.

  6. 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
        }
    }
    
  7. 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.