핸드폰화면을 하늘을 향해서 두고 위아래로 천천히 움직이면 카운트가 올라가도록 하려면 어느 부분을 어떻게 고쳐야 할까요 도와주세요~

 

소스입니당.

 

import java.security.PublicKey;

import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.ToggleButton;

public class SquatActivity extends Activity implements SensorEventListener {

 private long lastTime;
 private float speed;
 private float lastX;
 private float lastY;
 private float lastZ;
 
 private float x, y, z;
 private static final int SHAKE_THRESHOLD = 800;
 
 private static final int DATA_X = SensorManager.DATA_X;
 private static final int DATA_Y = SensorManager.DATA_Y;
 private static final int DATA_Z = SensorManager.DATA_Z;
 
 private SensorManager sensorManager;
 private Sensor accelerometer;

 
 
 
 private TextView prox;
 
 private int testNum = 0;
 float num;
 
 private SoundPool sp4;
 private int id4;
 ToggleButton tb4;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pedomete);
       
        sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
        accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    
       
        prox = (TextView)findViewById(R.id.prox);
       
        prox.setTextColor(Color.BLACK);
//        sp = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
//        id = sp.load(this, R.raw.sound01, 1);
        ImageButton help4 = (ImageButton)findViewById(R.id.help4);
        ImageButton reset4 = (ImageButton)findViewById(R.id.reset4);
       
        help4.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    
    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    
    startActivity(intent);
    
   }
  });
        help4.setBackgroundColor(Color.TRANSPARENT);
       
        reset4.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    
    testNum =0;
    prox.setText(""+testNum);
    
   }
  });
        reset4.setBackgroundColor(Color.TRANSPARENT);
       
 tb4 = (ToggleButton)findViewById(R.id.tb4);
       
        tb4.setChecked(true);
        tb4.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    if(tb4.isChecked()){
     tb4.setBackgroundDrawable(getResources().getDrawable(R.drawable.musicon));
     
     
     
    } else {
     tb4.setBackgroundDrawable(getResources().getDrawable(R.drawable.musicoff));
   
     
    }
   }
  });

    }


    public void onAccuracyChanged(Sensor sensor, int accuracy) {
  // TODO Auto-generated method stub
  
 }
    public void onStart() {
     super.onStart();
     
     if (accelerometer != null){
      sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_FASTEST);
     }
     
    }

    public void onSensorChanged(SensorEvent event) {
  // TODO Auto-generated method stub
     
  
  x = event.values[0];
  y = event.values[1];
  z = event.values[2];
  if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
   long currentTime = System.currentTimeMillis();
    long gabOfTime = (currentTime - lastTime);
   
   if (gabOfTime < 10 ||gabOfTime<5) {
    lastTime=currentTime;
             num=event.values[0];
    
//    x = event.values[SensorManager.DATA_X];
//    y = event.values[SensorManager.DATA_Y];
//    z = event.values[SensorManager.DATA_Z];
    
    speed = Math.abs(x + y + z - lastX - lastY - lastZ) /
      gabOfTime * 10000;
    
    if (speed > SHAKE_THRESHOLD) {
     // 이벤트 발생
      if(z < 180){
                
                testNum ++;
                if(y < 45 && tb4.isChecked()){
//                 sp2.play(id2, 1, 1, 0, 0, 1);
                }

               }
     
               else {
  
               }
         
    
      prox.setText(""+testNum);
     
     }
    }
    
    lastX = event.values[DATA_X];
    lastY = event.values[DATA_Y];
    lastZ = event.values[DATA_Z];
    
   }
  }
//   
//    protected void onResume() {
//        super.onResume();
//      // register this class as a listener for the orientation and accelerometer sensors
//        sm.registerListener(this,
//                SensorManager.SENSOR_ORIENTATION |SensorManager.SENSOR_ACCELEROMETER,
//                SensorManager.SENSOR_DELAY_NORMAL);
//    }
   

  
 protected void onPaus(){
  super.onPause();
  sensorManager.unregisterListener(this);
 
 }
 
   
  
 

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}