我们不能简单地在Android的外部SD卡(不是设备的内部存储器)上以编程方式创建新目录,我们不能在SD卡上写文件吗?
即使在使用 Ti.Filesystem.externalStorageDirectory 之后,Titanium是否也被限制为始终在内部存储器上写入文件?
能够在Android上的SD卡上以编程方式创建新目录的人能否在这里写下答案,或者没有人需要在外部SD卡上写一些东西?
答案 0 :(得分:2)
您可以使用System
类获取如下所示的存储变量
要获取内部SD卡,您可以使用
String extStore = System.getenv("EXTERNAL_STORAGE");
File f_exts = new File(extStore);
要获取外部SD卡,您可以使用
String secStore = System.getenv("SECONDARY_STORAGE");
File f_secs = new File(secStore);
您可以选择创建文件夹的位置以及要使用的文件夹。
修改强>
Environment.getExternalStorageDirectory()
详细信息的参考资料注意:不要被"外部"这个词弄糊涂。这里。此目录最好被视为媒体/共享存储。它是一个文件系统,可以容纳相对大量的数据,并在所有应用程序之间共享(不强制执行权限)。传统上这是一张SD卡,但它也可以作为内置存储器实现,该设备不同于受保护的内部存储器,可以作为文件系统安装在计算机上。
希望它能提供帮助。
答案 1 :(得分:0)
在sdcard中尝试这个创建文件夹和文件
File localFile = new File(Environment.getExternalStorageDirectory(),"/data/create_new_folder_name/");
if (!localFile.exists()) {
localFile.mkdir();
}
try{
File gpxfile = new File(localFile, "yourfilename.xyz");
FileWriter writer = new FileWriter(gpxfile,true);
writer.append("your file text");
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
manifest.xml权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 2 :(得分:0)
使用存储访问框架在micro SD卡上写入。 Google for ACTION_OPEN_DOCUMENT_TREE和ACTION_OPEN_DOCUMENT。
除此之外,您还可以在micro SD卡上的一个应用程序特定目录中以正常方式书写。看看getExternalFilesDirs()返回的第二个条目。