我想在我的应用程序的内部存储中保存一张图片,以便将其设为私有(private)。所以我做了一些研究,看到了两种获取目录的方法。
1.与getDir :
File dir = getDir(Environment.DIRECTORY_PICTURES, Context.MODE_PRIVATE);
2.与getFilesDir :
File dir = getFilesDir();
哪个最好?哪个返回内部存储中的位置?
写入文件的方式取决于您获取目录的方式?我有点迷茫,因为在 Android 中写入文件的方法有很多。
最佳答案
getFilesDir()
将 File 对象返回到仅对您的应用程序私有(private)的目录。当你使用 openFileOutput(String, int)
时,你写的数据直接存放在这个目录中,其他任何应用程序都无法访问。它保存您的应用程序文件。
getDir()
使您可以在内部存储器中创建任何文件或目录,其他应用程序也可以根据您创建它的模式访问这些文件或目录。 openFileOutput(String, int)
将无法与 this 的输出一起使用,因此您将不得不使用其他写入和读取文件的方式来处理此目录或文件。这更多用于创建自定义文件,而不是仅由您的应用程序使用的文件。
关于android - Android 上的 getDir 和 getFilesDir 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11781260/