2013-04-07 225 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