2012-11-10 61 views
0

如何將數據寫入Android設備中的文本文件? 截至目前,我正在將數據發送到以json格式寫入的服務器。不過,我希望我的程序直接在Android內寫入數據。在Android中寫入數據

我想每次傳感器改變它們的值時記錄傳感器值。我有以下代碼: 我應該放什麼而不是評論?

public void onSensorChanged(SensorEvent event) 
{ 
    switch(event.sensor.getType()) 
    { 
     case Sensor.TYPE_LINEAR_ACCELERATION: 
//writing event.values[0], event.values[1] and event.values[2] to result.txt 
     break; 
     .......... 
    } 
} 
+0

你有什麼試過嗎?順便說一下,除調試以外,存儲傳感器的每個狀態都是一個壞主意。您將浪費大量時間和精力來保存這些數據。 – rekire

+0

嗨,但是,我可以找到「result.txt」FileOutputStream fOut; String fileLocation =「result.txt」; String TESTSTRING = new String(sensordata); fOut = openFileOutput(fileLocation,MODE_WORLD_READABLE); \t \t \t \t \t \t fOut.write(TESTSTRING.getBytes()); fOut.close(); –

+0

它用於測試目的。順便說一句,謝謝你這麼快速的迴應。 –

回答

0
String strContent = "Write File using Java FileOutputStream example !"; 
FileOutputStream fileOut = openFileOutput(outputFile, MODE_APPEND); 
OutputStreamWriter osw = new OutputStreamWriter(fileOut); 
osw.writeBytes(strContent.getBytes()); 
osw.flush(); 

其他代碼:

File logFile = new File("sdcard/log.file"); 
    if (!logFile.exists()) 
    { 
     try 
     { 
     logFile.createNewFile(); 
     } 
     catch (IOException e) 
     { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 
    } 
    try 
    { 
     //BufferedWriter for performance, true to set append to file flag 
     BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
     buf.append(text); 
     buf.newLine(); 
     buf.close(); 
    } 
    catch (IOException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

我不會寫文件每次sensot改變,而是會建立一個字符串,只有相關的數據,並在年底將其寫入文件的過程。

+0

我可以使用字符串作爲數據嗎? (當我嘗試使用「myData」而不是數據時,它給了我一個錯誤)文件在哪裏被保存?謝謝 –

+0

編輯的答案。使用3部手機和2部平板電腦。 –