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:
- Android Studio’yu açın ve yeni bir proje oluşturun.
- Projenizin build.gradle dosyasına aşağıdaki satırı ekleyin:
implementation 'com.google.android.gms:play-services-sensors:17.0.0'
- 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) {
}
}
“`
- 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
- Android Developers: Accelerometer
- Android Tutorial: Accelerometer
- Accelerometer Sensor Tutorial
- Accelerometer Data Collection App