반응형
출처 - http://h2110.tistory.com/6
안드로이드 폰에서의 방향 센서 이용 방법입니다.
안드로이드 센서에는 가속도센서, 방향센서, 자이로스코프,
압력센서, 자기센서, 조도센서, 근접센서, 온도센서가 있는데,
그중에서 방향 센서 입니다.
values[0]는 z축을 기준으로 한 회전값을 가지는데, 범위는 0 ~ 359의 범위를 가집니다.
values[0]의 값은 y축이 가르키는 방향이
북쪽일 경우 values[0]의 값은 0, 동쪽일 경우 90, 남쪽일 경우 180, 서쪽일 경우 270을 타나냅니다.
values[1]는 x축을 기준으로한 기울기 값을 나타내는데, 범위는 -180 ~ 180의 범위를 가집니다.
valuse[1]은 x축을 기준으로 구르는 걸 나타냅는데, 위로 구르면 +, 아래로 구르면 - 값 입니다.
values[2]는 y축을 기준으로한 기울기 값을 나타내는데, 범위는 -90 ~ 90의 범위를 가집니다.
values[2]는 y축을 기준으로 구르는 걸 나타내는데, 왼쪽으로 구르면 +, 오른쪽으로 구르면 -입니다.
SensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);//가속센서 Accelerationx_axis = (TextView)findViewById(R.id.x_axis); y_axis = (TextView)findViewById(R.id.y_axis); z_axis = (TextView)findViewById(R.id.z_axis); @Override public void onSensorChanged(SensorEvent event) { synchronized(this){ switch(event.sensor.getType()){ case Sensor.TYPE_ORIENTATION: x_axis.setText(""+Float.toString(event.values[0])); y_axis.setText(""+Float.toString(event.values[1])); z_axis.setText(""+Float.toString(event.values[2])); break; } } @Override protected void onStop() { super.onStop(); SensorManager.unregisterListener(this, SensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION)); } @Override protected void onResume() { super.onResume(); SensorManager.registerListener(this, SensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_GAME); }
반응형
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드로 구글맵 다루기 - 2. 맵(MapView) 나타내기 (0) | 2011.08.19 |
---|---|
안드로이드로 구글맵 다루기 - 1. 전체 구조 이해 (0) | 2011.08.19 |
[안드로이드]방향(Orientation)센서 사용예제 (0) | 2011.07.18 |
Location Based Service (0) | 2011.07.14 |
[Android] 출력 : 캔버스 (Canvas, Paint) (0) | 2011.06.23 |
댓글