Menu

#1 Why OpenGPX stores the user data directoly under /sdcard/

open
None
3
2010-09-16
2010-09-16
Brot
No

I'm a linux using and one think I hate is that every application creates it's own directory directly under my home directory. There is a freedesktop specification which describes where application data should be stored:
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

So now I'm realizing the same thing with my Android device. Every app creates it's own application directory directly under /sdcard/
But if you take a look in the android developer documentation you find the section "data-storage":
http://developer.android.com/guide/topics/data/data-storage.html

Under the heading "Accessing files on external storage" you can find the following statement:
>> You should then write your data in the following directory: /Android/data/<package_name>/files/
>>
>> The <package_name> is your Java-style package name, such as "com.example.android.app"

Is there a reason why OpenGPX don't use this suggested directory on the phones sdcard?
It would be nice if OpenGPX could store their data in this directory so the first level of my sdcard stays clean.

The only controversial piece of this recommendation is the following sentence
>> If the user's device is running API Level 8 or greater and they uninstall your application, this directory and all its contents will be deleted.

But this could be only a problem if you have to reinstall the app. There are a lot users asking the following questions in Android forums:
"I deleted an app from my phone. Why the data directory is still alive on my sdcard?"
or
"Why are there so many directories on my sdcard. What are they all about?"

Storing data in the recommend directory would be a much cleaner way. Is it possible to change the storing place for OpenGPX?

Discussion

  • Martin Preishuber

    • priority: 5 --> 3
    • assigned_to: nobody --> preisl
     
  • Martin Preishuber

    this is a kinda philosophical question. OpenGPX does store shared preferences according to the docs as you mentioned, but it's kinda different with user data for 3 reasons:

    1. users have to easily copy single gpx files or full databases to the android device. most android file managers start with /sdcard as root folder, so it's more convenient to just copy files to a subfolder in /sdcard.
    2. internal data is protected, so you can't access it from other apps like file managers. getExternalFolder() and co might be a good idea to use, but that would brake support for android 1.6 devices.
    3. internal space is usually very limited ...

    hope that answers your question. btw. there is an option in the prefernces to set the data path of opengpx, it should be possible to set it to /Android/data/mpr.openGPX/files/ ...

     
  • Brot

    Brot - 2010-09-17

    I can see your point. I think it's a good idea to store the data on the external storage.
    And I think there are solutions for your reason 1.
    But breaking support for 1.6 devices is bad.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.