现在已经两天了,我被困在一个我似乎无法解决的常见而简单的问题上(而其他人却是):
在 Android 上的 SD 卡上创建文件夹!!!是的!!!
我在这里红了很多帖子,很多教程似乎都在说同样的事情:
- 使用外部文件夹路径 + /yourFolderName 创建一个字符串
- 创建一个将路径作为参数传递的新文件
- 调用 mkdir()(或 mkdirs())就可以了
- 完毕!
您可以在旁边检查 SD 卡是否已安装、可读、可写,当然不要忘记在您的 Manifest.xml 中放入 WRITE_EXTERNAL_STORAGE 的权限,但请注意,它必须设置为清单的直接子级,而不是应用程序!!!
好吧,这似乎对我不起作用。
folder_creation 代码在 onCreate() 内部,我正在尝试调用 MediaScannerConnection 来测试文件是否存在,但它在 OnScanCompleteListener 上返回 null - 但我不确定我是否以正确的方式使用它。
应用程序运行良好(启动默认相机活动,然后返回主活动),但未创建文件夹!(现在我只想创建里面什么都没有的文件夹)
也许是与我的包名中包含“example”一词的包名有关的问题?(我在某处红了一些相关的东西......)
有什么问题?请给我一个提示,建议,一些东西......
我正在使用 minSdkVersion = 8 在带有 Eclipse 的 Mac 1.7.5 上构建,并在带有 2.3.5 (sdkVersion = 10) 的 HTC Wildfire S 上进行测试。在非 root 设备上使用 ES File Manager 1.6.1.6 检查
这是代码的主要部分让我发疯......
我会很高兴知道我能做些什么......提前谢谢你!
myPath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator
+ "myFolder";
File newDirectory = new File(myPath);
Log.v("judy says", newDirectory.toString());
newDirectory.mkdir(); // this doesn't work because "no directory" is displayed in the logCat window
if (!newDirectory.exists()) {
newDirectory.mkdir();
Log.v("no, no, no", "no directory");
}
MediaScannerConnection.scanFile(this,
new String[] { newDirectory.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});