Android - 递增全局变量

时间:2013-04-07 16:31:42

标签: android global

我正在尝试使用接近手势制作应用。我在主要活动中设置了一个接近传感器:

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
  2. 全局变量达到某个值后,触发活动。
  3. 我非常感谢代码,因为我对此主题毫不讳言。

    谢谢!

1 个答案:

答案 0 :(得分:0)

我赞同埃里克的评论。请参阅下面的示例,您也可以根据您的要求以其他方式执行此操作。

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