android 가속도 센서 예제

참고: 장치가 미사용 인 경우 중력 센서의 출력은 가속도계의 출력과 동일해야 합니다. 센서 프레임워크가 응용 프로그램에 센서 이벤트를 보내는 속도를 결정하는 공개 방법은 없습니다. 그러나 각 센서 이벤트와 연결된 타임스탬프를 사용하여 여러 이벤트에 대한 샘플링 속도를 계산할 수 있습니다. 샘플링 속도(지연)를 설정한 후에는 변경할 필요가 없습니다. 어떤 이유로 지연을 변경해야 하는 경우 센서 리스너를 등록 취소하고 다시 등록해야 합니다. 회전 센서를 사용하여 장치 회전을 결정하는 데 사용할 수 있는 분지, 롤 및 피치 값을 찾을 수 있습니다. Azimuth는 자북과 y축 사이의 각도이며, 롤은 양수 x축을 향한 z축 기울기를 나타내고 피치는 양수 y축을 향한 z축 기울기를 나타냅니다. 이러한 값은 장치 회전을 결정하고 이를 기반으로 앱 기능을 구현하는 데 사용할 수 있습니다. 회전 벡터 센서를 사용하는 방법을 보여 주는 샘플 응용 프로그램에 대 한 는 RotationVectorDemo.java를 참조하십시오. 응용 프로그램이 특정 센서에 전적으로 의존하는 경우에만 설명기를 android:required=”true”로 설정해야 합니다. 응용 프로그램이 일부 기능에 대한 센서를 사용하지만 여전히 센서없이 실행되는 경우 센서를 요소에 나열해야하지만 설명기를 android :required =”false”로 설정해야합니다. 이렇게 하면 특정 센서가 없는 경우에도 장치가 앱을 설치할 수 있습니다.

이는 응용 프로그램에서 사용하는 기능을 추적하는 데 도움이 되는 프로젝트 관리 모범 사례이기도 합니다. 응용 프로그램에서 특정 센서를 사용하지만 여전히 센서 없이 실행되는 경우 런타임시 센서를 감지하고 응용 프로그램 기능을 적절히 비활성화하거나 사용하도록 설정해야 합니다. 이러한 제스처는 사용자에게 더 흥미 롭고 흥미 있게 만들어 안드로이드 앱에 생명을 불어 올바펠니다. 그리고, 안드로이드 응용 프로그램에서 이러한 제스처를 구현하기 위해, 안드로이드 가속도계가 사용된다. 의on을 살펴 보자Sensor변경 방법. 이 메서드를 사용하여 흔들림 제스처를 검색합니다. onSensorChanged 메서드는 내장 된 센서가 변화를 감지 할 때마다 호출됩니다. 이 메서드는 장치가 작동 할 때마다 반복적으로 호출됩니다.

센서 및 SensorEvent 클래스를 사용하려면 아래와 같이 두 개의 가져오기 문을 추가합니다. Google Play에 응용 프로그램을 게시하는 경우 매니페스트 파일의 요소를 사용하여 응용 프로그램에 적합한 센서 구성이 없는 장치에서 응용 프로그램을 필터링할 수 있습니다. 요소에는 특정 센서의 존재 여부에 따라 응용 프로그램을 필터링할 수 있는 여러 하드웨어 설명자가 있습니다. 나열할 수 있는 센서에는 가속도계, 기압계, 나침반(지자기장), 자이로스코프, 조명 및 근접센서가 포함됩니다. 다음은 가속도계가 없는 앱을 필터링하는 예제 매니페스트 항목입니다. 응용 프로그램의 특정 기능에 높은 데이터 수집 속도 또는 스트리밍 센서가 필요한 경우 이 방법을 사용하여 센서가 이러한 요구 사항을 충족하는지 확인한 다음 그에 따라 응용 프로그램에서 관련 기능을 활성화 또는 비활성화할 수 있습니다. 모션 센서는 기울기, 흔들림, 회전 또는 스윙과 같은 장치 움직임을 모니터링하는 데 유용합니다. 이동은 일반적으로 직접 사용자 입력(예: 사용자가 게임에서 자동차를 조종하거나 게임에서 공을 제어하는 사용자)을 반영하지만 장치가 앉아 있는 물리적 환경(예: 당신이 당신의 차를 운전하는 동안 당신과 함께 이동). 첫 번째 경우 장치의 참조 프레임 또는 응용 프로그램의 참조 프레임을 기준으로 모션을 모니터링하고 있습니다. 두 번째 경우는 세계의 참조 프레임을 기준으로 모션을 모니터링하고 있습니다.

모션 센서 자체는 일반적으로 장치 위치를 모니터링하는 데 사용되지 않지만 지자기장 센서와 같은 다른 센서와 함께 사용하여 세계의 기준 프레임에 대한 장치의 위치를 결정할 수 있습니다(자세한 내용은 위치 센서 참조 정보)를 참조하십시오.