안드로이드 방향센서 예제

Android 플랫폼은 지자기장 센서와 가속도계의 위치를 결정할 수 있는 두 개의 센서를 제공합니다. 또한 Android 플랫폼은 장치의 얼굴이 물체(근접 센서라고 함)에 얼마나 가까운지 확인할 수 있는 센서를 제공합니다. 지자기장 센서와 근접 센서는 하드웨어 기반입니다. 대부분의 핸드셋 및 태블릿 제조업체에는 지자기장 센서가 포함되어 있습니다. 마찬가지로, 핸드셋 제조업체는 일반적으로 핸드셋이 사용자의 얼굴 가까이에 있는 시기를 결정하는 근접 센서를 포함합니다(예: 전화 통화 중). 장치의 방향을 결정하는 데 장치의 가속도계와 지자기장 센서의 판독값을 사용할 수 있습니다. Android 9(API 수준 28) 이상인 장치에서 백그라운드에서 실행되는 앱에는 다음과 같은 제한 사항이 있습니다. 예: 사용자가 항상 터치스크린에서 버튼을 탭하기를 기대하는 이유는 무엇입니까? 오늘날 미드레인지 Android 휴대폰에서 사용할 수 있는 일부 하드웨어 센서를 사용하면 훨씬 더 매력적인 사용자 환경을 제공하는 앱을 만들 수 있습니다. 이 자습서에서는 Android의 센서 프레임워크를 사용하여 근접 센서 및 자이로스코프에서 생성된 데이터에 응답할 수 있는 앱을 만드는 방법을 배웠습니다. 또한 자이로 스코프에 대한 보다 인기있는 대안인 회전 벡터 센서로 작업하는 방법을 배웠습니다.

창의적인 방식으로 센서를 자유롭게 사용할 수 있습니다. 그러나 센서를 비효율적으로 사용하는 앱은 장치의 배터리를 매우 빠르게 소모할 수 있습니다. Android SDK의 일부인 센서 프레임워크를 사용하면 하드웨어 또는 소프트웨어와 같은 대부분의 센서에서 원시 데이터를 쉽고 일관된 방식으로 읽을 수 있습니다. 이 자습서에서는 프레임 워크를 사용하여 두 개의 매우 일반적인 센서인 근접 및 자이로스코프의 데이터를 읽는 방법을 설명합니다. 또한 대부분의 상황에서 자이로 스코프에 대한 보다 쉽고 정확한 대안으로 사용할 수있는 회전 벡터 센서를 소개합니다. 가속도계플레이 샘플과 Android BatchStepSensor 샘플은 이 페이지에서 다루는 API의 사용을 더 자세히 보여줍니다. 기본 센서 유형은 나타내는 물리적 센서의 이름을 따서 명명됩니다. 이 센서는 단일 물리적 센서에서 데이터를 릴레이합니다(다른 센서에서 데이터를 생성하는 복합 센서와 는 반대). 기본 센서 유형의 예로는 다음 코드에서 onSensorChanged() 메서드를 사용하여 광 센서의 데이터를 모니터링하는 방법을 보여 주어 있습니다.

이 예제에서는 main.xml 파일에 정의된 TextView에 원시 센서 데이터를 sensor_data로 표시합니다. 이 응용 프로그램은 에뮬레이터에 모든 인상적인 되지 않습니다., 그래서 만약 당신이 행동에 그것을 보고에 관심이 있다면 가서 실제 안 드 로이드 장치에 로드.