После установки приложения папка пакета Внутреннее хранилище (Android> данные) не создается - PullRequest
2 голосов
/ 15 апреля 2019

Когда я заново устанавливаю приложение, я замечаю, что у большинства приложений будет папка, созданная во Внутреннем хранилище> Android> Данные> com.example.package.Например, его приложение на Facebook это будет что-то наподобие com.facebook.xxxxx.

Однако, один из проектов, который я задействовал в последнее время, заметил, что такой папки приложения нет в пути Внутреннее хранилище> Android> Данные>(Папка отсутствует).

В каком сценарии не будет создана папка приложения по указанному выше пути?Поскольку большинство приложений, которые я отлаживаю, запускаются через android studio или устанавливаются через файл apk ... По умолчанию всегда есть одна папка приложения в указанном выше месте.

Поскольку я хочу записать файл ниже в getFilesDir (),

File file = new File(activity.getFilesDir(),imageFileName);

С помощью getFilesDir () записанный файл будет перемещен в Android> Данные> Папка пакета> Папка «Файлы», большинство установленных приложений имеют путь к папке пакета в Android> Данные> (Здесь).Сегодня я понимаю, что один из проектов, которые я делаю сейчас, не создает такую ​​папку пакета.Итак, когда я использую getFilesDir (), эти файлы все равно будут храниться и создаваться в указанном пути, но это невидимо?Или те файлы, которые я создаю с помощью getFilesDir (), не будут созданы?Потому что, как я уже говорил, это приложение не создает папку пакета.Должен ли я использовать македир?Если да, что будет проверка?if (! activity.getFilesDir (). exist ())

File file = new File(activity.getFilesDir(),imageFileName);

//getFilesDir() normally is package folder Android > Data > (package folder*) > Files

1 Ответ

0 голосов
/ 16 апреля 2019

Я проверил и обнаружил, что если телефон имеет только внутреннюю память (не поддерживает SDCard) или, возможно, телефон поддерживает внешнюю память, но не имеет SDCard.Папка приложения в этом пути по умолчанию не будет создаваться (Android> Данные> [папка приложения]), пока я не вызову (getExternalFilesDir (null), «Example1») проверку своих существующих () и makedirs (), если это не так.существует, наконец, папка приложения создается с папкой Example1 по этому пути Android> Приложение> com.xxxxx.myapp> files> Example1.

Однако, почему некоторые создаваемые мной примеры приложений я никогда не вызываю getExternalFilesDir (null)или любой путь хранения для записи файлов, но по умолчанию я могу найти путь к моему образцу приложения в Android> Приложение> [Здесь].

Некоторые папки приложения не будут создаваться по умолчанию, но до тех пор, пока проверка getExternalFilesDir (null) не будет создана, итогда он становится существующим и созданным.Некоторая папка приложения будет создана, когда приложение установлено по умолчанию.Как Android определяет, должна ли папка Android> App> App быть создана и видима или создана, и сделать ее невидимой ??

Это меня смущает.Некоторое приложение создаст папку приложения, другое приложение не создаст ее по умолчанию, когда приложение установлено.Давайте предположим, что оба приложения никогда не вызывают метод создания пути к файлу.Просто пример приложения, которое я запускаю, используя последнюю Android Studio, чтобы проверить что-то, это создало папку пакета.Приложение большого проекта использует старые настройки gradle, и почти 5 лет назад приложение по умолчанию не будет создавать папку пакета, пока я не вызову File (getExternalFilesDir (null), Example1), проверим, существует ли она, и не будет mkDirs (), папка пакета становится созданной и видимой.

...