Android - Як лічильник кроків із програми охорони здоров’я Samsung підраховує кроки переповнення стека
Я знаю, що коли я хочу використовувати будь-який з андроїдних датчиків, я повинен реєструвати їх і читати їх значення за допомогою onSensorChanged ().

Якщо я закінчу з ними, я реєструю їх, щоб заощадити енергію.
Як так, лічильник кроків у моєму додатку для здоров’я Galaxy S7s вміє рахувати кроки?
Я припускаю, що це не напр. акселерометр, оскільки велике споживання енергії датчика розряджало б мою батарею за лічені години.
2 відповіді 2
Я знайшов справді чудову статтю з цього приводу, тому що я теж про це дивувався деякий час тому. https://www.explainthatstuff.com/how-pedometers-work.html
Ось коротка версія
Сучасні крокоміри працюють дуже подібним чином, але частково є електронними. Відкрийте один, і ви знайдете металевий маятник (молоток з вагою на одному кінці), підключений до електронної схеми підрахунку тонкою пружиною. Зазвичай ланцюг розімкнута, і по ньому не протікає електричний струм. Коли ви робите крок, молоток коливається поперек і торкається металевого контакту в центрі, завершуючи ланцюг і дозволяючи струму протікати. Потік струму підсилює ланцюг і додає одиницю до вашої кількості кроків. Коли ви виконуєте крок, молоток знову повертається назад (за допомогою пружини), і ланцюг обривається, фактично скидаючи крокомір, готовий до наступного кроку. Крокомір показує кількість ваших кроків на РК-дисплеї; більшість з них перетворить кількість кроків на приблизну відстань у милях або кілометрах (або кількість спалених калорій) одним натисканням кнопки. Зверніть увагу, що в деяких крокомірах ланцюг молоток-маятник працює протилежним чином: він зазвичай закритий, і кожен крок тимчасово його розмикає.