I started doing an app for android in Delphi XE5, and encountered some troubles.
I really don't understand about getting paths. After I set the permissions to Write and Read External storage, I tried to get paths so I can see where I'm saving files I create, and this is what I get:
for System.IOUtils.TPath. ->
GetDocumentsPath; - /data/data/com.myapp.app1/files
GetDownloadsPath; - /storage/emulated/0/Android/data/com.myapp.app1/files/Download
GetHomePath; - /data/data/com.myapp.app1/files
GetSharedDocumentsPath; - /storage/emulated/0/Android/data/com.myapp.app1/files
GetLibraryPath; - /data/data/com.myapp.app1/files
GetPublicPath; - /storage/emulated/0/Android/data/com.myapp.app1/files
GetPicturesPath; - /storage/emulated/0/Android/data/com.myapp.app1/files/Pictures
As far as I understood from other topics, the GetDocumentsPath should be default sdcard path, Downloads should be sdcard/Downloads, but instead it's using /Android/data/application's folder/files/ here creats folders which already exists on the sdcard itself.
/emulated/0/ is actually the same as /sdcard/ on my phone, if that's confusing for anyone (just in case....).
It has several shortcuts, as far as I understand, storage/emulated/0/, storage/sdcard0/, also from root's folder is directly access to sdcard/ (but I guess the apps without root access has only default access to storage/ folder, hence the storage/sdcard0 and emulated/0 folders exists; don't know why are duplicated shortcuts to the same folder, though....)
[[ There's also storage/emulated/legacy/, which also seems to point to the same folder, but I never touch it, since I used to have some troubles with file duplicates and strange Music library behaviour, right before I rooted and formatted it. Never figured what really happened, but don't even care. Fact is, that the emulated folder seems to be evil and unexplained ;) ]]
Also, are these path troubles related to the fact, that the phone has no mount option, but only MTP, or that it's android 4.3, or....?
Thanks.
// Update: Splitted questions about this and screen resolutions as Sir Rufo suggested.
UPDATE: Looks like hardcoding '/sdcard/filename.extension' as path string does the job, however I'm not sure how wise it is to hardcore the location in the app... ://