0

对于我的生活,我似乎无法使用 Processing for Android 在 Android 4.2.2 上编写一个简单的 tsv 文件。

这段代码只是默默地失败了......

try {
  saveTable(tsv,"data.tsv");
}
catch (Exception e) {  
  println(e);
}

我已经设置了权限:WRITE_EXTERNAL_STORAGE 但这没有任何区别。

我快疯了!!谢谢你的帮助!

鲍勃

4

3 回答 3

1

您还可以使用 GetExternalStorageDirectory 方法:

String basePath = Environment.getExternalStorageDirectory().getAbsolutePath();

然后连接字符串以匹配您的路径:

basePath += "我的东西";

这要求您从 Android SDK 导入环境类:

import android.os.Environment;

此外,在处理中,您可以只使用“sdcard”命名法 - 即:

basePath = "//sdcard//MyStuff";

于 2013-04-15T20:15:04.680 回答
1

对不起,噪音......我终于找到了解决方案:

  1. 在 tyhe Nexus 4 (Android 4.2.2) 上使用终端应用程序,我创建了一个目录:

    $ mkdir /sdcard/MyStuff

  2. 代码现在应该是

    saveTable(tsv,"//sdcard/MyStuff/data.tsv");
    

注意“ sdcard ”目录名称之前的// - 我猜这会以某种方式使系统将路径视为“外部存储”,所以没关系!

多么复杂!

于 2013-04-14T14:39:52.340 回答
1

此外,有关使用终端创建目录的相关答案 - 以下是您将如何从处理中执行此操作:

import java.io.File;
import java.io.IOException;

String dirName;

  // Create Directory
  try{
    dirName = "//sdcard//MyStuff";  // Or use te Environment Class -- see above
    File newFile = new File(dirName);
    newFile.mkdirs();
    if(newFile.exists()) {
      //
      if(newFile.isDirectory()) {
        //
      } 
      else {

      }
    } 
    else {
      println("Directory Doesn't Exist... Creating");
    }
  }
  catch(Exception e) {
    e.printStackTrace();
  }

这样你的代码就会自动知道路径......希望有帮助!

于 2013-04-15T20:24:23.913 回答