2013-04-07 155 views
-2

我正在嘗試使用鄰近手勢創建應用程序。我已成立了一個接近傳感器的主要活動:Android - 遞增全局變量

import android.hardware.Sensor; 
import android.hardware.SensorEvent; 
import android.hardware.SensorEventListener; 
import android.hardware.SensorManager; 
import android.os.Bundle; 
import android.app.Activity; 


public class MainActivity extends Activity implements SensorEventListener { 
    SensorManager sm; 
    Sensor proxSensor; 




    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     list(); 
     Global g = Global.getInstance(); 
     g.setData(0); 
     int data=g.getData(); 

    } 
    public void list() { 
     sm=(SensorManager)getSystemService(SENSOR_SERVICE); 
     proxSensor=sm.getDefaultSensor(Sensor.TYPE_PROXIMITY); 

     sm.registerListener(this, proxSensor, SensorManager.SENSOR_DELAY_NORMAL); 
    } 

    @Override 
    public void onAccuracyChanged(Sensor arg0, int arg1) { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void onSensorChanged(SensorEvent arg0) { 
     // TODO Auto-generated method stub 





    } 

另外,我還成立了一個單獨的類的全局變量,並在主要活動中引用它:

public class Global { 
    private static Global instance; 
    private int data; 

    private Global() {} 

    public void setData(int d){ 
     this.data=d; 
    } 
    public int getData(){ 
     return this.data; 
    } 

    public static synchronized Global getInstance(){ 
     if(instance==null){ 
      instance=new Global(); 
     } 
     return instance; 
    } 



} 

我試圖用全局變量來計算傳感器更新。 誰能告訴我如何:

  1. 添加1全局變量每次傳感器triggored
  2. 一旦全局變量已經達到一定值的值,觸發活動。

代碼將不勝感激,因爲我對這個問題無能爲力。

謝謝!

+0

[你有什麼試過?](http://whathaveyoutried.com)你目前使用的代碼是由你編寫的嗎? (如果是這樣,這些應該是微不足道的修改。) – Eric 2013-04-07 16:43:17

+0

我試過使用if else語句,但它給了我錯誤 – 2013-04-07 17:12:13

+0

將來,顯示你已經嘗試了什麼(以及任何錯誤),否則它看起來像你請人們爲你做這項工作。 – Eric 2013-04-07 17:14:42

回答

0

我同意Eric的評論。看到下面的例子,你也可以根據你的需求做一些其他的方法。

public void updateData(Context context){ 
    this.data++; 
    if (this.data==LIMIT){ 
     Intent intent=new Intent(CurrentClass.this, ClassToStart.class); 
     context.startActivity(intent) 
    } 
} 
+0

我會盡力謝謝! – 2013-04-07 17:15:46