Created
June 2, 2018 11:41
-
-
Save chulman444/fa1bf79bdaa2ab898ff9e276e8f7bb9b to your computer and use it in GitHub Desktop.
For some reason, Android file methods confused me, so I just decided to test all outputs and post it here
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Environment.getExternalStorageDirectory() | |
- /storage/emulated/0 | |
Environment.getExternalStoragePublicDirectory("") // Error on `null` | |
- /storage/emulated/0 | |
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) | |
- /storage/emulated/0/Pictures | |
getExternalFilesDir(null) // Parameter "" returns the same | |
- /storage/emulated/0/Android/data/com.nowhere.testexternalstorage/files | |
getExternalFilesDir(Environment.DIRECTORY_PICTURES) | |
- /storage/emulated/0/Android/data/com.nowhere.testexternalstorage/files/Pictures | |
getExternalFilesDirs(null) // Parameter "" returns the same | |
- /storage/emulated/0/Android/data/com.nowhere.testexternalstorage/files | |
- /storage/6363-3466/Android/data/com.nowhere.testexternalstorage/files | |
getExternalMediaDirs() | |
- /storage/emulated/0/Android/media/com.nowhere.testexternalstorage | |
- /storage/6363-3466/Android/media/com.nowhere.testexternalstorage | |
getExternalCacheDirs() | |
- /storage/emulated/0/Android/data/com.nowhere.testexternalstorage/cache | |
- /storage/6363-3466/Android/data/com.nowhere.testexternalstorage/cache | |
getDir("", 0) | |
- /data/user/0/com.nowhere.testexternalstorage/app_ | |
getDir("somename", 0) | |
- /data/user/0/com.nowhere.testexternalstorage/app_somename | |
getFilesDir | |
- /data/user/0/com.nowhere.testexternalstorage/files | |
getCacheDir | |
- /data/user/0/com.nowhere.testexternalstorage/cache | |
getDataDir: Throws Error `java.lang.NoSuchMethodError: No virtual method getDataDir()Ljava/io/File; in class Lcom/nowhere/testexternalstorage/MainActivity; or its super classes (declaration of 'com.nowhere.testexternalstorage.MainActivity' appears in /data/app/com.nowhere.testexternalstorage-2/split_lib_slice_4_apk.apk)` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Wow. There is pattern.
getExternalBlahDir:
/storage/emulated/0/Android/data/com.name.packname/Blah
getBlahDir:
/data/user/0/com.name.packname/Blah
Environment.getExternalStorageBlah:
/storage/emulated/0
Non-Environment class, that is, context methods return a path with
com.name.packname
in it.So ... if you want a directory with your project name on it in the
internal storage
(in File explorer or Nautilus in Ubuntu), useEnvironment.getExternalStoragePublicDirectory("YOUR PROJECT NAME")
?