sensor 이벤트를 발생시킨 센서 객체
accuracy 이벤트가 발생했을 당시 센서의정확도
values 감지된 값
timestamp 센서 이벤트가 발생한 시간
센서의 종류
sensor의 정보
sensor 리스너 등록
어플이 종료 후에도 리스너가 계속 등록되어있으면 불필요하게 베터리가 소모되기 때문에 리스너를 제거해주는것이 좋다.
void android.hardware.SensorManager.unregisterListener(SensorEventListener listener, Sensor sensor)
사용 (mixare 소스중)
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
sensorMgr.registerListener(sensorListener, sensorGrav, SENSOR_DELAY_GAME);
리스너 사용
@Override
accuracy 이벤트가 발생했을 당시 센서의정확도
values 감지된 값
timestamp 센서 이벤트가 발생한 시간
센서의 종류
타입 |
상수값 |
설명 |
TYPE_ACCELEROMETER |
1 |
가속계 |
TYPE_MAGNETIC_FIELD |
2 |
자기장 |
TYPE_ORIENTATION |
3 |
회전 방향 |
TYPE_GYROSCOPE |
4 |
자이로스코프. 역학적 운동을 조사하는 회전의 |
TYPE_LIGHT |
5 |
조도. 화면 밝기 조정 |
TYPE_PRESSURE |
6 |
압력 감지 |
TYPE_TEMPERATURE |
7 |
온도계 |
TYPE_PROXIMITY |
8 |
근접 거리계. 통화중 액정 끌 때 사용 |
TYPE_ALL |
-1 |
모든 센서 |
sensor의 정보
int getType () |
센서의 타입 |
String getName () |
센서의 이름 |
float getPower () |
전력 사용량을 밀리 암페어(mA)단위로 조사한다. |
float getResolution () |
해상도 |
float getMaximumRange () |
최대 측정 범위 |
String getVendor () |
제조사 |
int getVersion () |
버전 |
sensor 리스너 등록
boolean android.hardware.SensorManager.registerListener(SensorEventListener
listener, Sensor
sensor, int rate)
주기 |
설명 |
SENSOR_DELAY_UI |
UI 갱신에 필요한 정도의 주기 |
SENSOR_DELAY_NORMAL |
화면 방향 전환 등의 일상적인 변화 주기 |
SENSOR_DELAY_GAME |
게임에 적합한 정도의 주기 |
SENSOR_DELAY_FASTEST |
최대한의 빠른 주기 |
어플이 종료 후에도 리스너가 계속 등록되어있으면 불필요하게 베터리가 소모되기 때문에 리스너를 제거해주는것이 좋다.
void android.hardware.SensorManager.unregisterListener(SensorEventListener listener, Sensor sensor)
사용 (mixare 소스중)
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
sensors = sensorMgr.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0) {
sensorGrav = sensors.get(0);
}
//리스너로 등록sensorMgr.registerListener(sensorListener, sensorGrav, SENSOR_DELAY_GAME);
리스너 사용
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
//sensor Name으로 분기
if (event.sensor.getName().equals(sensorMag.getName())) {
float x = event.values[0];
float y = event.values[1];
float y = event.values[1];
float z = event.values[2];
}
}
'개발 > 안드로이드 개발' 카테고리의 다른 글
LiveWallpaper - 간단한 LiveWallpaper 만들기(1) (0) | 2012.05.03 |
---|---|
안드로이드 갑자기 생긴 에러에 대한 해결책 (2) | 2012.04.18 |
[안드로이드] 전화수신거부 (4) | 2012.01.19 |
[안드로이드] 어플 종료(?) (0) | 2012.01.17 |
Android Serializable 주의사항 (0) | 2011.11.10 |