что такое гироскоп и акселерометр и как их использовать в Android

Все .. Я новичок в Android, и я хочу знать об акселерометре и гироскопе. Как оба используются в приложении для Android и как это работает. Я пробую простое демонстрационное приложение для проверки наличия или отсутствия датчика на мобильном устройстве. Но это не найдено .. Пожалуйста, помогите мне с гироскопом и акселерометром.

Это мой демонстрационный класс приложения

public class MainActivity extends Activity {

private SensorManager mSensorManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    if(mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) != null)
    {
            Toast.makeText(getApplicationContext(), "Found", 9).show();
             // Sensor FOUND
    }
    else
    {
        Toast.makeText(getApplicationContext(), "NOt...Found", 9).show();
            //Sensor NOT FOUND
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}}

Спасибо заранее..


person Pratik Parekh    schedule 26.09.2013    source источник


Ответы (1)


Вы можете найти эту ссылку, полезную в гироскопе для Android

и для accelerometer начните с этого

public class yourActivity extends Activity implements SensorEventListener{
 private SensorManager sensorManager;
 double ax,ay,az;   // these are the acceleration in x,y and z axis
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
        sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
   }
   @Override
   public void onAccuracyChanged(Sensor arg0, int arg1) {
   }

   @Override
   public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
            ax=event.values[0];
                    ay=event.values[1];
                    az=event.values[2];
            }
   }
}
person Hybrid Developer    schedule 26.09.2013
comment
спасибо за ответ, большое спасибо дружище - person Pratik Parekh; 26.09.2013