2013-04-14 31 views
0

對於我的生活,我似乎無法在Android 4.2.2上使用Processing for Android編寫簡單的tsv文件。如何在Processing for Android中保存csv文件?

此代碼只是失敗默默...

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

我已經設置了權限:WRITE_EXTERNAL_STORAGE但是這並沒有區別。

我要瘋了! 感謝您的幫助!

鮑勃

+0

所以它不打印任何異常?嘗試調用e.printStackTrace() – Axarydax

+0

檢查我的解決方案,我已經放棄了這一點。我越來越對Processing的疑惑感到失望。我習慣於使用像Python,Lisp,C這樣的嚴格envts進行編程,其中參考作品是*真正的*引用......與處理在processing.org上的示例不完整並且不總是可行的... – gratefulfrog

回答

1

很抱歉的噪聲....我發現最後的溶液:

  1. 使用上tyhe的Nexus一個終端應用程序4(的Android 4.2.2),我創建一個目錄:

    $的mkdir/SD卡/的MyStuff

  2. 代碼現在應該讀

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

注意//之前「SD卡」目錄名 - 我想這在某種程度上使系統考慮的路徑爲「外部存儲」,所以它沒關係!

什麼複雜性!

+0

也許不是真的,當你試圖直接保存到「數據」。tsv「,它試圖將文件保存到當前目錄(可能不是/ sdcard/MyStuff) – Axarydax

+0

是的,可能是這樣,但我嘗試了很多不同的目標,例如」/sdcard/data.tsv「 ,/storage/data.tsv「,」data.tsv「,」/ data.tsv「......但是隻有當我發現了最後的雙斜槓語法,即」// sdcard/...「寫了一個文件,可以稍後閱讀,甚至在終端中看到... – gratefulfrog

1

您還可以使用GetExternalStorageDirectory方法:

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

然後將字符串以匹配您的路徑:

基本路徑+ = 「的MyStuff」;

這需要你從Android SDK導入環境類:

import android.os.Environment; 

此外,在處理,你可以使用「SD卡」命名 - 即:

基本路徑=「//SD卡//的MyStuff「;

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(); 
    } 

這樣你的代碼知道自動路徑...希望幫助!

+0

確實,這有助於很多!我在那個目錄中發現了各種各樣的東西!順便說一句,std Unix cmds在Android終端上並非全部可用,例如'more','find'等。 – gratefulfrog

+0

不確定,還沒有真正與終端玩過......(另外,如果這個答案有幫助,請立即投票!;-)) –