Android上的getDir和getFilesDir有什么区别?

cle*_*roo 30 android private file

我想在我的应用程序的内部存储中保存一张图片,将其设为私有.所以我做了一些研究,看到了两种获取目录的方法.

1.与getDir:

File dir = getDir(Environment.DIRECTORY_PICTURES, Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

2.使用getFilesDir:

File dir = getFilesDir();
Run Code Online (Sandbox Code Playgroud)

哪个最好?哪个返回内部存储中的位置?

写文件的方式取决于你得到你的方式?我有点迷失,因为有很多方法可以在Android中编写文件.

Ero*_*rol 36

getFilesDir()将File对象返回到仅对您的应用程序私有的目录.使用时openFileOutput(String, int),您编写的数据将直接存储在此目录中,任何其他应用程序都无法访问.它包含您的应用程序文件.

getDir()使您可以在内部存储器中创建任何文件或目录,其他应用程序也可以访问该文件或目录,具体取决于您创建它的模式.openFileOutput(String, int)将无法使用此输出,因此您将不得不使用其他方式编写和读取文件来处理此目录或文件.这更多地用于创建除应用程序仅使用的文件之外的自定义文件.