Android Open Source - study-android-fallballgame Inclination Sensor






From Project

Back to project page study-android-fallballgame.

License

The source code is released under:

Apache License

If you think the Android project study-android-fallballgame listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package jp.hym.falingballgamge;
/*  ww w  .j  a va 2 s  . com*/
import java.util.List;

//import com.example.graffitimessage.SensorValue;

//import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
//import android.util.EventLog.Event;
//import android.widget.TextView;

public class InclinationSensor{
  
  SensorManager mSensorManager;
  Sensor mMagSensor;
  Sensor mAccSensor;
  
  SensorValue mSensorValue;
  
  private float roll;  //???
  private float picth;  //???

  public InclinationSensor(Context context, int ori){
    mSensorValue = new SensorValue(ori);
    mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
  }

  public void getInclination(){
    // ??????????
        List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);

        // ???????????????????(implements SensorEventListener???????this?????????)
        for (Sensor sensor : sensors) {

            if( sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD){
                mSensorManager.registerListener(mSendorLis, sensor, SensorManager.SENSOR_DELAY_UI);
                mMagSensor = sensor;
            }

            if( sensor.getType() == Sensor.TYPE_ACCELEROMETER){
                mSensorManager.registerListener(mSendorLis, sensor, SensorManager.SENSOR_DELAY_UI);
                mAccSensor = sensor;
            }
        }
  }

  //??????
    public void releaseSensor(){
      //????????????????????
        if (mMagSensor!=null || mAccSensor!=null) {
            mSensorManager.unregisterListener(mSendorLis);
            mMagSensor = null;
            mAccSensor = null;
        }
    }

      //????
    private SensorEventListener mSendorLis = new SensorEventListener() {

      public void onSensorChanged(SensorEvent event) {
        mSensorValue.onSensorChanged(event);

        roll = (float)mSensorValue.getRollDegree() ;
        picth = (float)mSensorValue.getPitchDegree() ;
        //direction = (float)mSensorValue.getAzimuthDegree();
      }

      public void onAccuracyChanged(Sensor sensor, int accuracy){

       }
    }; 
    
    float GetRoll(){
      if(roll > 90.0f){
        roll = 180 - roll;
      }else
      if(roll < -90.0f){
        roll = -180 - roll;
      }
    return roll;
  }
  
  public float GetPicth(){
    return picth;
  }
}




Java Source Code List

jp.hym.falingballgamge.GameSurface.java
jp.hym.falingballgamge.GoalActivity.java
jp.hym.falingballgamge.HolderCallBack.java
jp.hym.falingballgamge.InclinationSensor.java
jp.hym.falingballgamge.MainActivity.java
jp.hym.falingballgamge.SensorValue.java