保存外部存储的数据

我想保存一些数据在用户的外部目录(即SD卡),但似乎有一个奇怪的问题。 我使用Environment.getExternalStorageDirectory()返回“mnt / sdcard /”(这很好)。 我想在这个目录中创build两个文件夹,所以我这样做:

 File main = new File(getExternalStorageDirectory() + "/my_app/some_data"); if(!main.isDirectory()) main.mkdirs(); 

现在我想这会使目录“mnt / sdcard / my_app / some_data”,但是在使用文件pipe理器来查看SD卡后,事实certificate这个文件夹是在“mnt / sdcard / my_app / mnt / sdcard / my_app / some_data“,这是相当离奇的。 谁能告诉我如何解决这个问题?

Solutions Collecting From Web of "保存外部存储的数据"

尝试以下,看看你得到什么…

 String packageName = this.getPackageName(); File myFilesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Android" + File.separator + "data" + File.separator + packageName + File.separator + "files"); myFilesDir.mkdirs(); 

这是我用来创buildSD卡上的工作目录。 对我来说,它创造…

 /mnt/sdcard/Android/data/com.mycompany.myApp/files 

…其中'com.mycompany.myApp'是我的应用程序的实际包名称。