Hangi veri depolama yöntemlerini biliyorsun?
sobes.tech yapay zeka
AI'dan gelen yanıt
-
SharedPreferences: Basit anahtar-değer çiftlerini (ilkel tipler) depolamak için. Hızlı erişim sağlar, ancak büyük veri hacimleri için uygun değildir.
-
Dahili depolama (Internal Storage): Sadece uygulama tarafından erişilebilen dosya sistemi. Veriler kaldırılırken silinir. Gizli veriler için uygundur.
// Dosya yazma applicationContext.openFileOutput("my_file.txt", Context.MODE_PRIVATE).use { it.write("Some data".toByteArray()) } // Dosya okuma applicationContext.openFileInput("my_file.txt").bufferedReader().useLines { lines -> lines.forEach { println(it) } } -
Harici depolama (External Storage): Diğer uygulamalar (izinlerle) ve kullanıcı tarafından erişilebilen dosya sistemi. Veriler kaldırılmadan kalır. Android 10+ izinlerine dikkat edilmelidir. Hassas olmayan veriler için uygundur.
-
SQLite Veritabanları: İlişkisel veritabanı. Yapılandırılmış veriler ve karmaşık sorgular gerektiren durumlar için uygundur. Daha fazla kod gerektirir. Room Persistence Library önerilen ORM'dir.
-- SQL sorgu örneği SELECT * FROM users WHERE age > 30 -
İçerik Sağlayıcılar (Content Providers): Paylaşılan veri kümelerine yapılandırılmış erişim sağlar. Kendi verileri veya diğer uygulamaların verilerine erişmek için oluşturulabilirler (örneğin, kişiler).
-
DataStore: Modern, asenkron veri depolama çözümü, SharedPreferences ve SQLite fonksiyonlarının bir kısmını değiştirir. İki türü vardır: Preferences DataStore (anahtar-değer çiftleri için) ve Proto DataStore (Protobuf ile tiplenmiş nesneler için).
// Preferences DataStore örneği 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 sürümler) / DataSync / diğer bulut çözümleri: Kullanıcı cihazları arasında veri senkronizasyonu ve yedekleme için. Bulut servisleriyle entegrasyon gerektirir.
Yöntem seçimi, veri tipi, hacmi, ortak erişim ihtiyacı, güvenlik ve performans gereksinimlerine bağlıdır.