我正在开发一个视频编辑器程序,并且对 android 和 java 相当陌生。我想要发生的是当用户按下“创建新项目”按钮时,会弹出一个对话框,询问用户项目的名称。我把那部分写下来了,但是我想要的是,当用户在该对话框上按“确定”时,我的代码将采用该名称并在我的数据/数据文件中为我的项目创建一个目录,并在该目录中创建标题为 1 到 5 或更多的文件夹。我真的不知道该怎么做,所以任何输入都将不胜感激。
6 回答
正如 sgarman 建议的那样,您可以使用 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();
...
对于主要设备所有者而言,获取位于外部存储上的 Android/data/packagename 下的目录的正确方法是在可用的 Context 上调用 getExternalFilesDir()。
那是,
File folder = context.getExternalFilesDir("YOUR FOLDER NAME");
而且您还必须在 Manifest 中添加写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
您几乎可以使用文件来完成所有这些操作,并使用类似这样的东西将编辑后的图像保存到 SD 卡
查看getFilesDir方法,该方法将返回您要查找的目录。您可能还想创建一个子目录。
您必须尝试在 Android/data/data/your.app/ 中创建文件夹。在你的onCreate
方法中使用它。
File file = this.getBaseContext().getExternalFilesDir("yourFolderName");
if (!file.exists())
file.mkdir();
此方法适用于我的应用程序。我使用上面讨论的所有方法在这里都不起作用
文件文件=新文件(Environment.getExternalStorageDirectory().toString()+"/Android/data/com.package_name/your_folder_name")
此方法用于在您的应用程序的数据目录中创建文件夹此文件夹图像和视频不能在图库中访问,而是手动访问您应用程序中的所有文件使用文件夹路径