Как создать файловые каталоги и папки в файловой системе Android data/data/project

#android #filesystems #directory #createfile

#Android #файловые системы #каталог #создать файл

Вопрос:

Я работаю над программой для редактирования видео и довольно новичок в Android и Java. Чего бы я хотел, так это когда пользователь нажимает кнопку «создать новый проект», появляется диалоговое окно с запросом у пользователя названия проекта. Я отключил эту часть, но затем я хочу, чтобы, когда пользователь нажимает «ok» в этом диалоговом окне, мой код принял имя и создал каталог внутри моих данных / data file для моего проекта, а внутри этого каталога создал папки с названиями от 1 до 5 или более. Я действительно не знаю, как это сделать, поэтому буду признателен за любой вклад.

Ответ №1:

Как предложил сгарман, вы можете использовать SD-карту (и я думаю, что это лучше), но если вы хотите использовать каталог вашего приложения, вы можете получить его, вызвав getFilesDir() из вашей активности, он вернет File объект /data/data/your.app/files , тогда вы можете получить путь и добавить новый каталог:

 String dirPath = getFilesDir().getAbsolutePath()   File.separator   "newfoldername";
File projDir = new File(dirPath);
if (!projDir.exists())
    projDir.mkdirs();
...
  

Комментарии:

1. Спасибо. Что вы думаете по этому поводу File projDir = new File(getFilesDir(), "newfoldername"); File projDir = new File(dirPath); if (!projDir.exists()) projDir.mkdirs(); Не должно ли это сработать?

2. Что делать, если в устройстве нет SD-карты?

Ответ №2:

Правильный способ получить каталог, который для основного владельца устройства находится под Android /data / packagename на внешнем хранилище, — это просто вызвать getExternalFilesDir() в доступном контексте.

Это,

 File folder = context.getExternalFilesDir("YOUR FOLDER NAME");
  

А также вы должны добавить разрешение на запись в манифест

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  

Ответ №3:

Ознакомьтесь с методом getFilesDir, который вернет каталог, который вы ищете. Вероятно, вы также захотите создать подкаталог.

Ответ №4:

Вы должны попробовать это, чтобы создать папку в Android/data /data/your.app /. используйте это в вашем onCreate методе.

 File file = this.getBaseContext().getExternalFilesDir("yourFolderName");
    if (!file.exists())
        file.mkdir();
  

Ответ №5:

Этот метод работает в моем приложении. Я использую все описанные выше методы, которые здесь не работают

File файл= новый File(Environment.getExternalStorageDirectory().toString() «/Android/data/com.package_name/your_folder_name»)

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