
Android File Storage Guide — Internal, External & SAF Explained
What You'll Learn How to use Android's file storage options: internal storage, scoped external storage, and Storage Access Framework. Storage Types Type API Permission Internal context.filesDir None External (app) getExternalFilesDir() None User files SAF OpenDocument None Gallery MediaStore None (Android 10+) Internal Storage // Write context . openFileOutput ( "data.txt" , Context . MODE_PRIVATE ). use { it . write ( content . toByteArray ()) } // Read context . openFileInput ( "data.txt" ). bufferedReader (). use { it . readText () } SAF — File Picker val openLauncher = rememberLauncherForActivityResult ( ActivityResultContracts . OpenDocument () ) { uri -> uri ?. let { readTextFromUri ( context , it ) } } Button ( onClick = { openLauncher . launch ( arrayOf ( "text/*" )) }) { Text ( "Open File" ) } MediaStore — Save to Gallery val values = ContentValues (). apply { put ( MediaStore . Images . Media . DISPLAY_NAME , "photo.png" ) put ( MediaStore . Images . Media . MIME_TYPE , "imag
Continue reading on Dev.to
Opens in a new tab


