Датчики

Введение

Последнее время наряду с ноутбуками и смартфонами набирает популярность еще одна разновидность мобильных компьютеров - планшетные. Наиболее известным примером такого компьютера является Apple iPad. От ноутбуков планшеты отличает отсутствие традиционной клавиатуры, от смартфонов - большие размеры. Они ориентированы в первую очередь на развлечение пользователя, пассивное восприятие информации. В линейке аппаратных платформ для ОС Android планшеты занимают одно из главных мест.

В этой лекции мы рассмотрим аппаратные особенности планшетов с точки зрения прикладного программиста. Во-первых, этосенсорный экран, который в планшете заменяет почти все традиционные устройства ввода, такие как "мышь" и клавиатура. В случае "мыши" эти замена почти эквивалента по природе самого сенсорного экрана - оба они являются pointing device, и мы сосредоточимся как раз на этом случае.

Во-вторых, планшет обладает набором датчиков, например, датчиком ориентации, освещения, акселерометром и т.п. Для поддержания такого разнородного набора датчиков требуется самостоятельный API. Датчики, в свою очередь, позволяют реализовать более удобный, более интуитивный интерфейс управления программой на планшете, который был бы невозможен на нетбуке.

Кроме аппаратных особенностей, у планшетов есть особенности пользовательского интерфейса, для которого и исчезновение клавиатуры, и изменение размера экрана критичны. Эти особенности также являются очень существенными, но мы их касаться не будем.

Планшетные компьютеры, как и многие другие мобильные устройства обладают набором датчиков, например, датчиком ориентации, освещения, акселерометром и т.п. Для поддержания такого разнородного набора датчиков требуется самостоятельныйAPI. Датчики, в свою очередь, позволяют реализовать более удобный, более интуитивный интерфейс управления программой на планшете, который был бы невозможен на нетбуке.

Датчики - неотъемлемая часть современного планшета или смартфона. В продвинутых телефонах они появились очень давно - например, датчик, позволяющий телефону определить, приложен ли он к уху или должен работать в режиме громкой связи. Сейчас количество датчиков и их возможности существенно возросли. Это касается как датчиков высокого уровня (получение текущей ориентации экрана (портрет, пейзаж)), так и низкого уровня, как, например, получение в режиме реального времени показаний акселерометра.

Вместе с тем набор датчиков меняется от устройства к устройству, более того, трудно предугадать, какие новые датчики появятся в будущем. Данные, получаемые от датчиков, неоднородны. Эти ограничения делают API датчиков относительно сложным.