2013-08-02 68 views
-4
public void onSensorChanged(SensorEvent event) { 
      float azimuth = event.values[0]; 
      textViewX.setText("Sensor Irány :" + azimuth); 

如何將「方位角」變成一個變量?我不能讓我的FileWriter代碼將這些數據寫入文件。它無法解析方位角。如何將「方位角」變爲變量?

fw = new FileWriter(Environment.getExternalStorageDirectory() + "/DataLog.csv", 
        true); 
BufferedWriter br = new BufferedWriter(fw); 
      br.append(azimuth); 
     br.append("\r\n"); 
     br.close(); 
     fw.close(); 

如果我寫的方位來此代碼爲FileWriter的將其寫入到一個文件,我得到這個錯誤:「方位不能被解析爲一個變量」

+0

不理解你的問題... –

+0

你能包括你得到的實際錯誤嗎? – Michelle

+0

我更新了問題。 – user2628458

回答

0

看來,你的方位變量超出您嘗試使用它的範圍。它在onSensorChanged()中定義,而您試圖從onLocationChanged()訪問它。一個變量只能在代碼塊(由花括號包圍的代碼行)內定義,在它被定義之後才能被訪問。所以你不能從一個不同的函數體內訪問一個函數中定義的變量。爲了在onLocationChanged()中使用方位角的值,您需要在那裏重新定義它,或者(在onSensorChanged())中將其值分配給onLocationChanged()然後可以訪問的全局變量。

查看wiki on scope以瞭解有關範圍的更多信息。