Android Accelerometer Kullanımı

Android Accelerometer Kullanımı

Accelerometer, bir nesnenin ivmesini ölçen bir sensördür. Android cihazlar, genellikle üç eksenli bir accelerometer içerir. Bu, cihazın x, y ve z eksenlerindeki ivmesini ölçebileceği anlamına gelir. Accelerometer, cihazın hareketini, yönünü ve eğimini belirlemek için kullanılabilir.

Accelerometer kullanmak için, öncelikle Android cihazınızda accelerometer sensörünün etkinleştirildiğinden emin olmanız gerekir. Bunu, Ayarlar > Sensörler bölümünden yapabilirsiniz. Accelerometer sensörü etkinleştirildikten sonra, aşağıdaki adımları izleyerek accelerometer verilerine erişebilirsiniz:

  1. Android Studio’yu açın ve yeni bir proje oluşturun.
  2. Projenizin build.gradle dosyasına aşağıdaki satırı ekleyin:

implementation 'com.google.android.gms:play-services-sensors:17.0.0'

  1. Projenizin MainActivity.java dosyasına aşağıdaki kodları ekleyin:

“`
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements SensorEventListener {

private SensorManager sensorManager;
private Sensor accelerometer;
private TextView xAxisTextView;
private TextView yAxisTextView;
private TextView zAxisTextView;

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

    xAxisTextView = findViewById(R.id.x_axis_text_view);
    yAxisTextView = findViewById(R.id.y_axis_text_view);
    zAxisTextView = findViewById(R.id.z_axis_text_view);

    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}

@Override
protected void onResume() {
    super.onResume();
    sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}

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

@Override
public void onSensorChanged(SensorEvent event) {
    float xAxis = event.values[0];
    float yAxis = event.values[1];
    float zAxis = event.values[2];

    xAxisTextView.setText("X: " + xAxis);
    yAxisTextView.setText("Y: " + yAxis);
    zAxisTextView.setText("Z: " + zAxis);
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

}

}
“`

  1. Projenizi çalıştırın.

Bu kod, accelerometer sensöründen gelen verileri alır ve x, y ve z eksenlerindeki ivmeyi TextView bileşenlerine yazar.

Accelerometer, birçok farklı uygulamada kullanılabilir. Örneğin, accelerometer kullanılarak aşağıdaki uygulamalar yapılabilir:

  • Adım sayacı
  • Eğlence amaçlı oyunlar
  • Sanal gerçeklik uygulamaları
  • Navigasyon uygulamaları
  • Spor uygulamaları

Faydalı Siteler ve Dosyalar


Yayımlandı