我想用我的android應用程序創建一個文件。我需要在特定的類中寫入文件。我目前擁有的代碼如下所示。當它試圖寫入文件時,我不斷收到nullpointerexception
。下面列出了確切的錯誤。我是android新手,請詳細說明。在android上創建一個文件
有人可以告訴我我做錯了什麼,我該如何解決這個問題?
//the class where i need to create and write to the file
public class DataRobot {
Context tThis;
FileOutputStream fOut;
OutputStreamWriter writer;
public DataRobot(SmartApp smartApp) extends Activity {
tThis = (Context) smartApp;
}
public void onCreate(Bundle savedInstanceState) {
try {
//file = new File("/sdcard", "test.csv");
fOut = openFileOutput("test.csv", MODE_WORLD_READABLE);
writer = new OutputStreamWriter(fOut);
} catch (NullPointerException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void analyzeData(SmartDataObject temp) {
data = temp;
try {
//the following line is where the error is occurring.
writer.write(Double.toString(data.getHeartRate()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//the error
03-26 03:47:53.924: WARN/System.err(273): java.lang.NullPointerException
03-26 03:47:53.934: WARN/System.err(273): at cpe495.smartapp.DataRobot.analyzeData(DataRobot.java:80)
03-26 03:47:53.946: WARN/System.err(273): at cpe495.smartapp.SmartApp$1.dataReceivedReceived(SmartApp.java:49)
03-26 03:47:53.956: WARN/System.err(273): at cpe495.smartapp.ConnectDevice.fireDataReceivedEvent(ConnectDevice.java:79)
03-26 03:47:53.956: WARN/System.err(273): at cpe495.smartapp.ConnectDevice.run(ConnectDevice.java:46)
03-26 03:47:53.965: WARN/System.err(273): at java.lang.Thread.run(Thread.java:1096)
我已經使用,作爲一個參考。這是我從參考中得到的。我不得不改變一點,因爲它不適合我的實施。 – prolink007 2011-03-26 00:58:24
我做了一些改變,這裏是發生的新錯誤,你有什麼想法如何擺脫這種新的nullpointerexception?我在代碼中發生了錯誤的地方發表了評論。 – prolink007 2011-03-26 03:55:04
我在代碼中看不到任何錯誤,也許嘗試將數據變量聲明爲SmartDataObject – teiger 2011-03-26 13:52:09