Ce metode de stocare a datelor cunoști?
sobes.tech AI
Răspuns de la AI
-
SharedPreferences: Pentru stocarea perechilor cheie-valoare simple (tipuri primitive). Acces rapid, dar nu potrivit pentru volume mari de date.
-
Memoria internă (Internal Storage): Sistem de fișiere accesibil doar aplicației. Datele sunt șterse la dezinstalare. Potrivit pentru date private.
// Scriere fișier applicationContext.openFileOutput("my_file.txt", Context.MODE_PRIVATE).use { it.write("Some data".toByteArray()) } // Citire fișier applicationContext.openFileInput("my_file.txt").bufferedReader().useLines { lines -> lines.forEach { println(it) } } -
Memoria externă (External Storage): Sistem de fișiere accesibil altor aplicații (cu permisiuni) și utilizatorului. Datele rămân după dezinstalare. Necesită atenție la permisiuni pe Android 10+. Potrivit pentru date neconfidențiale.
-
Baze de date SQLite: Bază de date relațională. Potrivit pentru date structurate care necesită interogări complexe. Necesită mai mult cod pentru implementare. Room Persistence Library este ORM-ul recomandat.
-- Exemplu de interogare SQL SELECT * FROM users WHERE age > 30 -
Content Providers: Oferă acces structurat la seturi de date partajate. Pot fi create pentru propriile date sau pentru accesul la datele altor aplicații (de exemplu, contacte).
-
DataStore: Soluție modernă și asincronă pentru stocarea datelor, înlocuiește SharedPreferences și o parte din funcționalitatea SQLite. Există două tipuri: Preferences DataStore (pentru perechi cheie-valoare) și Proto DataStore (pentru obiecte tipizate cu Protobuf).
// Exemplu Preferences DataStore 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 (versiuni mai vechi) / DataSync / alte soluții cloud: Pentru sincronizarea datelor între dispozitivele utilizatorului și stocarea backup-urilor. Necesită integrare cu servicii cloud.
Alegerea metodei depinde de tipul de date, volumul acestora, necesitatea accesului comun, probleme de securitate și cerințele de performanță.