Android-递增全局变量
我正在尝试制作一个带有接近手势的应用程序。我在主要活动中设置了接近传感器:Android-递增全局变量,android,global,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; pu
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;
}
}
此外,我还在singleton类中设置了一个全局变量,并在主活动中引用了它:
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;
}
}
我试图用全局变量计算传感器更新。
谁能告诉我如何:
谢谢大家! 我同意埃里克的意见。请参见下面的示例,您也可以根据自己的需求以其他方式进行操作
public void updateData(Context context){
this.data++;
if (this.data==LIMIT){
Intent intent=new Intent(CurrentClass.this, ClassToStart.class);
context.startActivity(intent)
}
}
您当前使用的代码是由您编写的吗?(如果是这样的话,这些应该是微不足道的修改。)我尝试过使用If-else语句,但它给了我错误。将来,请显示您尝试过的内容(以及任何错误),否则看起来您只是在要求别人为您做工作。好的,对不起。下次我会这么做的