Подтвердить что ты не робот

В чем разница между getDir и getFilesDir на Android?

Я хотел бы сохранить изображение во внутреннем хранилище моего приложения, чтобы сделать его закрытым. Поэтому я сделал небольшое исследование и увидел 2 способа получить каталог.

1.With getDir:

File dir = getDir(Environment.DIRECTORY_PICTURES, Context.MODE_PRIVATE);

2.With getFilesDir:

File dir = getFilesDir();

Что лучше? Что возвращает местоположение во внутреннем хранилище?

Способ записи файлов зависит от того, как вы получаете свой каталог? Я немного потерян, так как есть много способов писать файлы на Android.

4b9b3361

Ответ 1

getFilesDir() возвращает объект File в каталог, который является приватным только для вашего приложения. Когда вы используете openFileOutput(String, int), данные, которые вы пишете, непосредственно хранятся в этом каталоге и недоступны никому другому приложению. Он содержит ваши файлы приложений.

getDir() позволяет вам создавать любой файл или каталог во внутренней памяти, который также доступен другим приложениям в зависимости от режима, который вы его создаете. openFileOutput(String, int) не будет работать с выходом этого, поэтому вам придется использовать другие способы записи и чтения файлов для работы с этим каталогом или файлом. Это больше используется для создания пользовательских файлов, отличных от файлов, используемых только вашим приложением.