아래 근접센서 소스의 결과가 x=1.0, y=0.0, z=0.0 이런 결과로 나오고 있습니다.
1. 이것을 x=0 이 아니라 만보기처럼 단순히 1과 같이 숫자로만 나오게 할려면 소스를 어떻게 수정해야 합니까?
2. 또한 숫자가 0과 1만 반복되는데 카운트가 증가되게 할려면 어떻게 해야 합니까?(소스 예시로 좀 부탁)
답변 부탁드릴께요 ㅠㅠ 워낙 초보라 막막합니다.
public class pushup extends Activity implements SensorEventListener{
private static final String TAG = "Sensor";
SensorManager sm;
SensorEventListener proxL;
Sensor proxSensor;
float maxAccX;
float maxAccY;
float maxAccZ;
TextView prox;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pushup);
sm = (SensorManager)getSystemService(SENSOR_SERVICE);
proxSensor = sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
/*proxL = new proxListener();*/
prox = (TextView)findViewById(R.id.count05);
maxAccX = -10;
maxAccY = -10;
maxAccZ = -10;
}
@Override
public void onResume() {
super.onResume();
sm.registerListener(this, proxSensor, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onPause() {
super.onPause();
sm.unregisterListener(this);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
synchronized (this){
float var0 = event.values[0];
float var1 = event.values[1];
float var2 = event.values[2];
switch(event.sensor.getType()){
case Sensor.TYPE_PROXIMITY:
prox.setText("x = " + var0 +" , y = " + var1 + " , z = " + var2);
if(maxAccX < var0)
maxAccX = var0;
if(maxAccY < var1)
maxAccY = var1;
if(maxAccZ < var2)
maxAccZ = var2;
prox.setText("x = " + var0 +" , y = " + var1 + " , z = " + var2);
Log.e(TAG, "TYPE_PROXIMITY : x = " + var0 +" , y = " + var1 + " , z = " + var2);
break;
}
}
}
}