[android] 안드로이드 센서 튜토리얼

안드로이드 기기에는 다양한 센서가 내장되어 있습니다. 센서를 사용하면 앱이 사용자의 동작, 환경 조건 등을 감지하고 이에 반응할 수 있습니다. 이번 튜토리얼에서는 안드로이드 앱에서 센서 데이터를 읽고 사용하는 방법에 대해 알아보겠습니다.

센서 목록 확인

안드로이드 기기에는 다양한 센서가 내장되어 있으며, 가속도계, 자이로스코프, 근접 센서, 광 센서 등이 있습니다. 먼저 사용할 수 있는 센서의 목록을 확인해야 합니다.

SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
List<Sensor> sensorList = sensorManager.getSensorList(Sensor.TYPE_ALL);

for (Sensor sensor : sensorList) {
    Log.d("Sensor", sensor.getName());
}

센서 데이터 수집

원하는 센서를 선택하고 해당 센서 데이터를 수집해야 합니다. 예를 들어, 가속도계 센서 데이터를 수집하는 방법은 다음과 같습니다.

Sensor accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
SensorEventListener accelerometerListener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        float x = event.values[0];
        float y = event.values[1];
        float z = event.values[2];
        // 가속도계 데이터 사용
    }
    
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // 정확도 변경 시 처리
    }
};

sensorManager.registerListener(accelerometerListener, accelerometerSensor, SensorManager.SENSOR_DELAY_NORMAL);

데이터 처리 및 활용

수집된 센서 데이터를 처리하고 필요에 따라 활용할 수 있습니다. 예를 들어, 가속도계 데이터를 사용하여 특정 동작을 감지하거나 화면 방향을 조절할 수 있습니다.

if (x > 5) {
    // 특정 동작 감지 시 처리
}

마치며

이상으로 안드로이드 앱에서 센서를 사용하는 방법에 대해 알아보았습니다. 다양한 센서를 활용하여 사용자 경험을 향상시키는 앱을 개발해보세요.

참고 문서: