我可以在Android内部存储上创建文件夹吗?

问题描述:

假设我正在处理文本编辑器应用程序。我想将创建的文本文件存储在手机或SD卡上(来自用户选择)的文件夹中。我只想将文件保存到内部存储(电话)上的文件夹中。我能够从代码创建一个android内部存储文件夹并将这些文件复制到那里? “/ data/data/MyapplicationPackage /”下的应用程序或商店中不会私有的文件夹可以访问(读取)吗? 任何提示?谢谢。我可以在Android内部存储上创建文件夹吗?

+0

你的要求是什么?不使用应用程序就可以访问文件(例如,通过安装SD卡并直接访问)?让您的应用的数据可以被其他应用访问?还有别的吗? –

+0

是的,使文件夹(和文件)可以访问,而无需使用我的应用程序。用户可以通过蓝牙或其他方式将该文件夹发送到其他设备。或者使用USB连接将文件夹复制到电脑,... –

为了满足您的要求,您可以:

  1. 让你的应用程序的文件,并存储在外部存储(SD卡)的文件夹。
  2. 提供某种'导出'功能,让用户导出文件和文件夹(可能捆绑在一个zip文件中)。如果你使用ACTION_SEND,你可以让他们通过电子邮件发送导出的文件,保存到Dropbox等几乎免费。
  3. 通过ContentProvider使您的数据可用以隐藏实际的存储机制。根据数据的类型,您可能想要控制对该提供者的访问。
+0

1.这是否意味着,我的应用程序将安装在SD卡上?我怎样才能处理SD卡少电话? –

+0

不,只是数据文件。即使它没有物理SD卡,它应该有应用程序共享的外部存储器,并且可以从PC访问。请查看http://developer.android.com/reference/android/os/Environment。详细信息请参见html#getExternalStorageDirectory()。 –

+0

1.好的。我误解了“外部存储”的概念和方法吗? 这并不意味着物理SD卡? 2.是的,已经考虑过了。现在我有三个复选框来选择保存zip文件夹(电话存储,SD卡,FTP服务器)的位置,第一个就是我为什么在这里(如何在这个地方制作一个小文件夹:D) 到目前为止我还不确定。但是,谢谢:) –

据我所知,你可以,但它不符合你的标准。 它将是私人的,存储在/ data/data/...下,除了通过应用程序之外,不会被用户访问。那是除非用户是根植的。

+0

:(是否有替代选择或接近我的标准? –

看一看here。你有很多选项可以做到这一点,所有这些都取决于你的设备上安装的名称。请参阅API getDir()为私有文件创建文件路径。

请检查录音机应用程序正在写入其文件的路径,这为我解决了,因为我无法获得任何隐私文件。

您可以在控制台模式下始终以“adb shell”进入ADB并运行linux“mount”命令查看所有已装入的文件,但您仍然需要root权限。

+0

为什么如此难以在内部存储器上制作简单的文件夹与外部存储器相比? –

+0

不幸的是,在Android中有很多难以做到的事情,我自己我很习惯,清理博客找到答案。 – ruhalde

+0

哦,是的,我在这里挖了很长时间才着陆。 –

我也面临同样的问题。我想在内部存储器中创建一个文件夹。我尝试了很多在*中提供的代码。但没有那些工作正常。所以最后我给了我自己的根目录。

File newFolder = new File("/storage/emulated/0/", "Folder_Name"); 

此代码对我来说工作得非常好。