방향 센서를 이용하여 x,y,z의 TextView에 값이 변동되는 어플리케이션
사용하고자 하는 클래스에 implements SensorEventListener
1 2 3 4 5 | private SensorManager mSensorManager; private Sensor mOrientation; mSensorManager = (SensorManager)getSystemService(Application.SENSOR_SERVICE); mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); | cs |
방향센서를 사용할 때 사용하는 코드
5번 줄대신 다른 메소드를 사용하지만 사용법을 익히지 않아 getDefaultSensor를 사용함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | protected void onResume(){ super.onResume(); mSensorManager.registerListener(this,mOrientation,SensorManager.SENSOR_DELAY_UI); } protected void onPause(){ super.onPause(); mSensorManager.unregisterListener(this); } @Override public void onSensorChanged(SensorEvent event) { if(event.sensor.getType() == Sensor.TYPE_ORIENTATION){ z.setText(String.valueOf(-event.values[0]) ); x.setText(String.valueOf(event.values[1])); y.setText(String.valueOf(event.values[2])); } } | cs |
어플리케이션을 사용하는 도중 다른 화면으로 넘어갔을 때도 방향 센서를 사용하고 있기 때문에 onPause에서 해지해준뒤
onResume에서 재 등록을 해주는 것
SensorEventListener 인터페이스를 implements하면 onSensorChanged와 onAccuracyChanged 메소드를 Override하게 되는데 onSensorChanged는 센서 값이 바뀌었을 때 불리는 메소드로 여러가지의 센서를 사용 할 경우 event.sensor.getType() == Sensor.사용하는 센서이름 을 비교하여 (또는 Switch~case 문으로) 각 센서에 맞는 행동을 한다.
'프로그래밍 > Java, Android' 카테고리의 다른 글
(안드로이드) ImageView, RadioButton을 사용한 Simple Application (0) | 2016.07.10 |
---|---|
(안드로이드) 방향 센서(Orientation Sensor)을 이용한 Simple Application (2) (0) | 2016.07.10 |
(안드로이드) Bluetooth를 이용한 Image 파일 전송하는 Simple Application (0) | 2016.07.10 |
(안드로이드) ImageView와 onTouchEvent를 이용한 Simple Application (0) | 2016.07.10 |
(Java) OBEX 예제 (vCard) (0) | 2016.07.10 |