好吧,快速提醒我,我是android编程新手。 我对uni的java有非常基本的经验。 我最近一直在与我的三星Galaxy Tab的android工作室和应用程序大厦搞乱。 对不起,如果这之前已经问过,但我看不到它。Android - 访问存储位置
我曾试图弥补,显示我的SD卡上的所有文件名称的应用程序。就在最高层。我做了一个快速界面,只有一个按钮和一个文本视图开始(我离开单个文本视图不会显示一个列表,但有问题,但我到那个)无论如何
结束了以下代码。
*public void ShowFolder(View view){
TextView test = (TextView)findViewById(R.id.View);
root = new File(Environment.getRootDirectory().toString());
File[] Files;
Files = root.listFiles();
String[] File_List;
File_List = root.list();*
然后我运行这个使用调试器,看看最后在两个数组列表。 我运行了这段代码三次,但将“Environment.getRootDirectory”改为“getExternalStorageDirectory()”和“getDataDirectory()”。
只有getRootDirectory版本将返回anything.In两个其他情况下,调试器显示为空文件和Files_list。 我知道他们是有效的位置,因为使用这些命令然后输出到字符串,我可以手动在我的平板电脑上用文件浏览器找到。
所以,简单地说,你为什么不所有这三个选项返回文件列表? 我首先想到它的权限,但我不确定如何确认这一点。
(很抱歉的长期职位)
OK了文档在这里,做出这些变化。 因此,这是我的错误练习,而不是一个错误? 为什么getExternalStorageDirectory()和getDataDirectory()不会在数组列表返回任何项目的任何信息? –
我已经编辑了我的答案,并提供了关于可能缺少许可的其他信息。 – rafal
谢谢,添加了权限,我可以返回所有3个目录函数的值。 还有其他类似的函数用于返回目录路径吗? 特别是将路径返回到我的SD卡。我也尝试过查找这个,但看起来getExternalStorageDirectory()函数在某些时候会执行此操作,而不是其他操作,具体取决于正在使用的设备。 –