SharedPreferences
Small storage for key-value pairs of primitive types, need to know data type when accessing
App specific: R/W access, removed on app uninstall
Usecases: user preferences PreferenceFragmentCompat connects XML-defined layout of preferences with values from storage
DataStore
Modern replacement for SharedPreferences - async operation, type safety
File storage
Java File API
Access: openFileOutput()/openFileInput(): open file for writing / reading
App-specific files
Permissions not needed for access
App specific: removed on app uninstall
Internal files
Encrypted
Access: getFilesDir()/getCacheDir()
External files
Not encrypted by default
Access: getExternalFilesDir()/getExternalCacheDir()
Shared files
Accessible by all aplications: remain when apps uninstalled
Types: Media / Documents / Datasets
Deprecated for MediaStore and Storage Access Framework
SQLite database
Non-concurrent, single file relational database library
App specific: removed on app uninstall
Access:
SQLiteOpenHelper: manage schema,SQLiteDatabase: queries- Room ORM