Android oferuje kilka opcji lokalnego przechowywania danych do różnych potrzeb — Room/SQLite (dane strukturalne), DataStore/SharedPreferences (ustawienia klucz-wartość), pliki i inne. Wybór właściwej opcji w zależności od charakteru danych jest ważny.
Opcje przechowywania
ROOM (over SQLite) → relational DATABASE for STRUCTURED data, queries, relationships:
→ the recommended way to store significant structured/relational data locally
DATASTORE → modern KEY-VALUE (and typed) storage for preferences/settings:
→ replaces SharedPreferences; coroutine/Flow-based, safer
SHARED PREFERENCES → older key-value storage (simple settings) — being superseded by
DataStore
FILES → internal/external storage for files (app data, media, documents)
KEYSTORE / EncryptedSharedPreferences → SECURE storage for sensitive data (keys, tokens)
