我正在开发必须将数据保存到文件的Android应用。要使文件可供所有应用程序访问并通过USB传输到计算机,文件应保存在名为" ABC"的文件夹中。我手动创建了文件夹" ABC"在外部存储卡和内部存储上。我能够通过代码在外部存储卡上获得该文件夹的完整路径,并能够从中进行写入和读取。
String path = Environment.getExternalStorageDirectory().toString() + "/ABC";
但是内部存储变得更加难以捉摸,因为我无法获得" ABC"内部存储上的文件夹。有没有办法以编程方式确定在内部存储上创建文件夹的位置?一般来说,在Android内部存储上创建的文件夹是什么?
编辑:
内部存储空间 - 我的意思是不可移动的存储空间
外部存储 - 我的意思是可移动存储
答案 0 :(得分:1)
我手动创建了文件夹" ABC"在外部存储卡和内部存储器上。
您可能已在external storage上创建了此目录。除非您在设备或模拟器上进行测试,否则您无法在internal storage上创建此目录,因为您无权访问它。 A"卡"对于绝大多数Android设备而言,这意味着removable storage,这完全是另一回事。
我能够通过代码在外部存储卡上获得该文件夹的完整路径,并能够从中进行写入和读取。
您的代码用于外部存储。在很少的设备上是"卡"。
但是内部存储变得更加难以捉摸,因为我无法获得" ABC"内部存储上的文件夹。
没有" ABC"内部存储上的文件夹,只要您无法从设备根目录创建/ABC
目录,甚至不能在/data
之外创建getFilesDir()
目录。您只能使用File
等方法为您应用的内部存储空间部分工作。而且,除非您在模拟器或根设备上进行测试,否则您无法创建这样的" ABC"手工制作目录。
嗯,嗯,当然欢迎您检查您创建的有没有办法以编程方式确定在内部存储上创建文件夹的位置?
new File(getFilesDir(), "ABC")
对象中指向某个位置的路径(例如/data
)。
通常,在Android内部存储上创建的文件夹是什么?
<?php
$jsonParser = new JsonParser;
try {
$jsonParser->parse(file_get_contents($localConfig), JsonParser::DETECT_KEY_CONFLICTS);
} catch (\Seld\JsonLint\DuplicateKeyException $e) {
$details = $e->getDetails();
$io->writeError('<warning>Key '.$details['key'].' is a duplicate in '.$localConfig.' at line '.$details['line'].'</warning>');
}
。