Створення android компаса за допомогою датчика орієнтації пристрою
Створення Android компаса за допомогою датчика орієнтації пристрою
Створюємо новий проект, вибираємо Blank Activity, мінімальна версія Android 2.2. Додаток буде складатися з одного xml файлу і одного java класу.
Налаштуємо зовнішній вигляд нашого майбутнього компаса в файлі activity_main.xml. Додамо сюди 2 елементи: TextView для відображення градуси відхилення від півночі, а також ImageView. який буде відображати зображення компаса:
Картинка, яку я використовував для компаса:

Ви при бажанні можете використовувати будь-яке інше зображення і помістити його в папку res / drawable.
Також в додатку використовується слухач змін показань датчика (SensorEventListener), тому наш додаток має виконувати цей інтерфейс:
Самі датчики не розуміють, коли їм пора на упокій, тому необхідно використовувати методи onResume () і onPause (). щоб вказувати, коли програма має працювати, а коли датчики можуть бути вільні :). Якщо це не зробити, то датчик буде старанно працювати і при закритті програми, що зменшить час роботи пристрою на кілька годин через стрімке розряду батареї.
Метод onSensorChanged () фіксує зміни показань датчика орієнтації при його відхиленні від півночі, якому ми присвоюємо значення 0 градусів. При повороті пристрою в будь-яку сторону в елементі TextView буде динамічно відображатися зміна положення пристрою в просторі по відношенню до півночі в градусах.
Відкриваємо файл MainActivity.java і додаємо всі, про що було згадано вище:
Все, давайте скомпілюємо проект і протестуємо додаток (можна і не компілювати, а протестувати через реальний пристрій, підключений до Android Studio). Запускаємо і бачимо:

Працює, сподіваюся у вас все також вийшло, удачі!