Android - 创建自定义目录以存储文件

5

在我的应用中,我打算将用户生成的文件存储在用户SD卡存储器内的自定义目录中(我打算创建该目录)。

我使用以下方法实现:

String pathToExternalStorage = Environment.getExternalStorageDirectory().toString();
File appDirectory = new File(pathToExternalStorage + "/" + "AppName");
// have the object build the directory structure, if needed.
appDirectory.mkdirs();

你会推荐采取这种方法吗?如果用户删除了我的应用程序,这个文件夹和文件会保留吗?
因为Android文档说:
如果你想保存文件并且这些文件不属于你的应用程序,当你的应用程序被卸载时不能被删除,那么请把它们保存到外部存储器中的一个公共目录。这些目录位于外部存储器的根目录下,如Music/、Pictures/、Ringtones/等。
我需要这些文件即使用户卸载应用程序也要保留,但我不想通过在现有文件夹中添加我的文件来混淆视听 - 我认为创建一个单独的文件夹会更好。我针对API v9及以上版本。
2个回答

5
似乎这是一个不错的做法。我也以类似的方式进行操作,只不过我将所有内容都保存在data文件夹中,即sdcard/data/{packagename}
更新:
不应该像这样操作。应该使用Environment.getDataDirectory()代替。

1

@jeffreyveon,您的解决方案对我有用。希望我能发表评论,但声望不够。

String path = Environment.getExternalStorageDirectory().toString();
                File appDirectory = new File(path + "/" + "FolderName");  
                appDirectory.mkdirs();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接