Milyen adat tárolási módszereket ismersz?
sobes.tech MI
Válasz az MI-től
-
SharedPreferences: Egyszerű kulcs-érték párok (primitív típusok) tárolására. Gyors hozzáférés, de nem alkalmas nagy adatmennyiségre.
-
Belső tárhely (Internal Storage): Fájlrendszer, amely csak az alkalmazás számára elérhető. Az adatok az eltávolításkor törlődnek. Magán adatokhoz alkalmas.
// Fájl írása applicationContext.openFileOutput("my_file.txt", Context.MODE_PRIVATE).use { it.write("Some data".toByteArray()) } // Fájl olvasása applicationContext.openFileInput("my_file.txt").bufferedReader().useLines { lines -> lines.forEach { println(it) } } -
Külső tárhely (External Storage): Fájlrendszer, amely más alkalmazásokhoz (engedélyekkel) és a felhasználóhoz is hozzáférhető. Az adatok az eltávolítás után megmaradnak. Figyelmet igényel az engedélyekre Android 10+ esetén. Nem érzékeny adatokhoz alkalmas.
-
SQLite adatbázisok: Relációs adatbázis. Strukturált adatokhoz, amelyek összetett lekérdezéseket igényelnek. Több kódot igényel a megvalósítás. A Room Persistence Library ajánlott ORM.
-- SQL lekérdezés példa SELECT * FROM users WHERE age > 30 -
Content Providers: Strukturált hozzáférést biztosítanak megosztott adatkészletekhez. Saját adatokhoz vagy más alkalmazások adataihoz (pl. kapcsolatok) is használhatók.
-
DataStore: Modern, aszinkron megoldás az adatok tárolására, amely helyettesíti a SharedPreferences-t és a SQLite egy részét. Két típusa van: Preferences DataStore (kulcs-érték párokhoz) és Proto DataStore (Protobuf-al típusosított objektumokhoz).
// Preferences DataStore példa 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 (régebbi verziók) / DataSync / más felhő megoldások: Az adatok szinkronizálására a felhasználó eszközei között és biztonsági mentések tárolására. Cloud szolgáltatásokkal való integrációt igényel.
A módszer kiválasztása az adatok típusától, mennyiségétől, a közös hozzáférés szükségességétől, biztonsági kérdésektől és a teljesítményigényektől függ.