2012-12-11 34 views
0

我想寫採用了android這樣的JSON文件:寫入文件,讀取該文件與PhoneGap的

String jsonString = broadcastDataArray.toString(); 
Writer output = null; 

File fileAnnouncement = new File("announcement.json"); 
try { 
    output = new BufferedWriter(new FileWriter(fileAnnouncement)); 
    output.write(jsonString); 
     output.close(); 
    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

,現在我試圖加載/使用PhoneGap的讀取文件。使用此方法here,我能夠讀取包含在我的應用程序源中的文件。但我想讀取一些由android代碼生成的文件。

有沒有辦法做到這一點?是否有任何特定的目錄可以從Java Android和Phonegap/Sencha訪問文件?

任何形式的幫助或指針表示讚賞。謝謝。

回答

1

您可以通過以下方式進行此操作。

在你的Android活動中編寫這個函數來寫入文本文件中的數據。

public void WriteDataToFile(String sFileName, String sBody){ 
     try 
     { 
      FileWriter f = new FileWriter("/sdcard/data.txt"); 
      f.append(sBody); 
      f.flush(); 
      f.close(); 
     } 
     catch(IOException e) 
     { 
      e.printStackTrace(); 
     } 
} 

而現在,您可以通過調用此函數從Sencha/Phonegap應用程序讀取該文件。

var user_data = function(){ 
     var request = new XMLHttpRequest(); 
      request.open("GET", "/sdcard/data.txt"); 
      request.onreadystatechange = function() { 
       if (request.readyState == 4) { 
        // alert("*" + request.responseText + "*"); 
        data = request.responseText;        
       } 
      } 
      request.send(); 
} 
+0

謝謝。現在我可以驗證我的文件是寫在這個地址上的:/sdcard/data.json –

+0

如果它對你有幫助,請接受給定的解決方案。 :) –

+0

另外我發現我可以使用sencha網址上的原始地址,如'/sdcard/data.json'。謝謝Pratik –