Использование возможностей смартфона в приложениях Лекция 5

advertisement
Использование
возможностей смартфона
Лекция 5
в приложениях
Введение в разработку приложений для смартфонов на ОС Android
Содержание

Отличительные особенности смартфонов

Сенсорное (touch) управление

Работа с мультимедиа

Использование встроенной камеры

Взаимодействие с системами позиционирования

Другие сенсоры и датчики
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
2
Отличительные
особенности смартфонов
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
3
Смартфон - «умный телефон»
Это мобильный телефон

с операционной системой

с возможностью установки дополнительных
приложений, расширяющих функционал
устройства
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
4
Экран смартфона
занимает всю
площадь
передней панели
устройства
высокое
разрешение
не
физические
кнопки,
а touchинтерфейс
чувствителен
к
прикосновения
м
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
5
Touch-интерфейс

интерфейс, основанный на виртуальных
элементах управления


выбор выполняется

простым касанием

жестами(gestures)
если точек касания несколько
(т. е. используется несколько пальцев),
интерфейс называется multi-touch
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
6
Смартфон – мультимедийный центр
Аудио
плеер
Набор
библиотек
для обработки
мультимедиа
Media
Framework
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
Видео
плеер
Камера
для
фотоснимков
и
видеосъемки
7
Смартфон – GPS навигатор
GPS-модуль
(большинство
моделей)
Комбинированный
модуль
GPS/ГЛОНАСС
(некоторые модели)
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
8
Смартфон – личный тренер

отслеживает параметры человека (спортсмена)
во время бега, езды на велосипеде, ходьбы на
лыжах и т. д.

выдает полную статистику маршрута на основе
спутников GPS:

точное время в пути

расстояние, подъемы/спуски

среднюю скорость

потраченные калории и т. д.
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
9
Смартфон «взаимодействует» со средой
Датчик
приближения
—
• отключает
подсветку и
блокирует
экран при
приближении
телефона
к уху во время
разговора
Акселерометр
• реагирует на
смену
ориентации
экрана: в играх,
особенно
симуляторах;
в качестве
шагомера
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
10
Смартфон «взаимодействует» со средой
Датчик
освещенности
• регулирует
яркость
экрана
Гироскоп
• позиционирует
устройство
в
пространстве
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
11
Сенсорное
(touch) управление
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
12
Сенсорное управление

подразумевает
использование
сенсорных
жестов для взаимодействия с приложением
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
13
Сенсорное управление

Касание (touch)

Использование:
действия
по
Запуск
умолчанию
для выбранного элемента

Выполнение: нажать, отпустить
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
14
Сенсорное управление

Длинное касание (long touch)

Использование:
элемента.
использовать
Выбор
Не
этот
стоит
жест
для
вызова контекстного меню

Выполнение:
нажать,
ждать,
отпустить
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
15
Сенсорное управление

Скольжение
или
перетаскивание (swipe or drag)

Использование:
содержимого
между
Прокрутка
или
навигация
элементами
интерфейса
одного уровня иерархии

Выполнение:
нажать,
переместить, отпустить
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
16
Сенсорное управление

Скольжение
после
длинного
касания (long press drag)

Использование:
Перегруппировка
данных
или
перемещение в контейнер

Выполнение:
длительное
касание, переместить, отпустить
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
17
Сенсорное управление

Двойное касание (double touch)

Использование:
Увеличение
масштаба, выделение текста

Выполнение:
быстрая
последовательность двух касаний
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
18
Сенсорное управление

Перетаскивание
с
двойным
касанием
(double touch drag)

Использование:
Изменение
размеров:
расширение или сужение по отношению
к центру жеста

Выполнение:
касание,
следующее
за двойным касанием со смещением:

смещение вверх уменьшает размер содержимого

смещение вниз увеличивает размер содержимого
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
19
Сенсорное управление


Сведение пальцев (pinch close)
Использование:
уменьшение
содержимого, сворачивание

Выполнение:
двумя
касание
пальцами,
экрана
свести,
отпустить
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
20
Сенсорное управление

Разведение
пальцев
(pinch
open)

Использование:
увеличение
содержимого, разворачивание.

Выполнение:
двумя
касание
пальцами,
экрана
развести,
отпустить
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
21
Процесс распознавания жеста

сбор данных

распознавание жеста
Приложение управляется с помощью сенсорных жестов,
если оно способно распознать, что под набором касаний
экрана скрывается некоторый жест и выполнить
соответствующее действие.
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
22
Процесс распознавания жеста.
1. Сбор данных о сенсорных событиях.

при
Основные
действия
взаимодействии
пользователя
с
сенсорным
экраном:

касание экрана пальцем

перемещение пальца по экрану

отпускание пальца
сенсорные события (touch-события)
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
23
Сенсорные события (touch-события)
Жест

начинается при первом касании экрана

продолжается пока система отслеживает
положение пальцев пользователя

заканчивается получением финального
события, состоящего в том, что ни один
палец не касается экрана
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
24
Сенсорные события (touch-события)

инициируют вызов метода onTouchEvent()

обрабатываются,
реализован
в
если
классе
этот
метод
активности
или
некоторого компонента, иначе событие
просто игнорируется
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
25
Сенсорные события (touch-события)

Объект
MotionEvent,
передаваемый
в метод onTouchEvent(), предоставляет
детали каждого взаимодействия
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
26
Константы класса MotionEvent,
определяющие сенсорные события

MotionEvent.ACTION_DOWN
—
касание
экрана пальцем, начальная точка для
любого сенсорного события или жеста

MotionEvent.ACTION_MOVE —
перемещение пальца по экрану

MotionEvent.ACTION_UP —
поднятие пальца от экрана
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
27
Процесс распознавания жеста.
2. Обработка событий для распознавания
жеста

своя собственная обработка событий —
можно
работать
с
произвольными
жестами

стандартные
отдельных
жесты
без
сенсорных
обработки
—
событий
класс GestureDetector
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
28
Класс GestureDetector для
распознавания стандартных жестов

поддерживает
жесты:
onDown(),
onLongPress(), onFling() и т. д.

может
использоваться
в
связке
с методом onTouchEvent()
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
29
API для работы с жестами

предоставляется
Android,
начиная
с версии 1.6

располагается в пакете android.gesture

позволяет
сохранять,
загружать,
создавать и распознавать жесты
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
30
Предустановленное приложение
Gesture Builder по созданию жестов

содержится в Виртуальном устройстве
Android (AVD)

созданные жесты сохраняются на SD карте
виртуального устройства

созданные жесты могут быть добавлены
в приложение в виде бинарного ресурса
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
31
Виртуальное устройство Android (AVD)

Для распознавания жестов необходимо
добавить компонент GestureOverlayView
в XML файл активности:

как
обычный
интерфейса
элемент
графического
пользователя
(встроен
в
компоновку, например RelativeLayout)

как
прозрачный
слой
поверх
других
компонентов (как корневой элемент в XML
файле активности)
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
32
Виртуальное устройство Android (AVD)

При использовании собственных жестов
в приложении необходимо реализовать
интерфейс OnGesturePerformedListener и
его метод onGesturePerformed()
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
33
Работа с мультимедиа
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
34
Мультимедиа библиотека Android

позволяет легко использовать в приложениях
аудио, видео и изображения:

из медиа файлов сохраненных как ресурсы приложения
(raw ресурсы)

из файлов, расположенных в файловой системе

из
потока
данных,
получаемого
через
сетевое
соединение

НО! невозможно воспроизводить аудио во время
звонка
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
35
Мультимедиа библиотека Android

Для воспроизведения аудио и видео Android
предоставляет класс MediaPlayer

При
работе
с
воспроизводить
(проигрывание
аудиоконтентом
необработанные
динамически
можно
данные
генерируемого
аудио)

Для записи аудио и видео Android предоставляет
класс MediaRecorder
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
36
Диаграмма жизненного цикла экземпляра
класса MediaPlayer

Овалы — состояния объекта MediaPlayer

Дуги — вызовы каких методов необходимо
выполнить, чтобы сменить состояние объекта
MediaPlayer

Дуги с одной стрелкой — вызовы синхронных
методов

Дуги с двумя стрелками — вызовы асинхронных
методов
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
37
Диаграмма жизненного цикла экземпляра
класса MediaPlayer
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
38
Состояния MediaPlayer

бездействие (Idle) — создан экземпляр класса
MediaPlayer (с помощью оператора new или
вызова метода reset())

инициализирован (Initialized) – задан источник
медиа-информации (метод setDataSource())

ошибка (Error) – появилась какая-то ошибка,
(не поддерживаемый формат, слишком высокое
разрешение - для вывода объекта из этого
состояния вызвать метод reset())
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
39
Состояния MediaPlayer

готов
(Prepared)
–
состояние
готовности
к воспроизведению

синхронный способ - вызов метода prepare()

асинхронный
способ
-
срабатывание
метода
onPrepared() интерфейса OnPreparedListener() в
состоянии подготовки, как реакция на событие
готовности;
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
40
Состояния MediaPlayer

запущен
(Started)
–
выполняется
воспроизведение медиа-контента (метод start())

приостановлен
(Paused)
–
воспроизведение
приостановлено (метод pause())

остановлен
(Stopped)
–
воспроизведение
остановлено (метод stop())
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
41
Состояния MediaPlayer

воспроизведение
(Playback
завершено
Completed)
–
достигнут
конец
воспроизводимого содержания (реакции на конец
воспроизводимого
метода
материала;
onCompleted()
срабатывание
интерфейса-слушателя
OnCompitionListener)

метод
seekTo()
позволяет
поменять
место
жизненного
цикла
воспроизведения

конец
(End)
—
конец
MediaPlayer (метод release())
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
42
Диаграмма жизненного цикла экземпляра
класса MediaRecorder

Овалы — состояния объекта MediaRecorder

Дуги — вызовы каких методов необходимо
выполнить, чтобы сменить состояние объекта
MediaRecorder

Дуги с одной стрелкой — вызовы синхронных
методов

Дуги с двумя стрелками — вызовы асинхронных
методов
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
43
Диаграмма жизненного цикла экземпляра
класса MediaRecorder
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
44
Состояния MediaRecorder

начальное (Initial) – создан объект класса
MediaRecover (с помощью оператора new или
вызова метода reset())

инициализирован
(Initialized)
–
объект
MediaRecover готов к использованию (метод
setAudioSource() или setVideoSource())
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
45
Состояния MediaRecorder

сконфигурирован
приемник
данных
для
записи (Data Source Configured) – задаются
основные
свойства
состояние
для
настройки
приемника
(метод
свойств:
данных,
setOutputFormat(),
setAudioEncoder(),
setVideoEncoder(), setOutputFile(), setVideoSize(),
setVideoFrameRate(), setPreviewDisplay())
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
46
Состояния MediaRecorder

готов (Prepared) – состояние готовности к
записи (метод prepare())

записывает (Recording) – идет запись (метод
start())

освобожден (Released) – запись завершена, все
ресурсы освобождены (метод release())
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
47
Актуальная информация

http://developer.android.com/guide/appendix/media-formats.html

http://developer.android.com/guide/topics/media/mediaplayer.html

http://developer.android.com/reference/android/media/MediaPlayer.html

http://developer.android.com/reference/android/media/
MediaRecorder.html

http://developer.android.com/guide/topics/media/audio-capture.html
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
48
Использование
встроенной камеры
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
49
Поддержка камеры

Платформа
Android
позволяет
приложениям
получать фотографии и записывать видео

Для решения этих задач, существует два способа:

непосредственное обращение к камере

использование
намерений
(Intent)
для
вызова
существующего приложения
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
50
Классы объектов по работе с камерой

Camera — класс, реализующий управление
камерами
устройства
(для
получения
фотографий или записи видео)

SurfaceView
—
класс,
предоставления
используемый
пользователю
для
возможности
предварительного просмотра

MediaRecorder
–
класс,
используемый
для
записи видео с камеры
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
51
Классы объектов по работе с камерой

Intent
–
описание
класс,
содержащий
выполняемой
абстрактное
операции,
оно
передается системе Android, а ОС сама находит
и
запускает
необходимое
приложение
и
возвращает результат его работы
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
52
Типы намерений по работе с камерой

MediaStore.ACTION_IMAGE_CAPTURE –
для запроса на выполнение фотоснимков

MediaStore.ACTION_VIDEO_CAPTURE –
для запроса на запись видео
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
53
Взаимодействие
с системами
позиционирования
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
54
Системы позиционирования

позволяют
определить
местоположение
в некоторой системе координат (обычно широта
и долгота)
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
55
Системы позиционирования мобильного
телефона (смартфона)

смартфон постоянно связывается с сотовой
вышкой, в зоне действия которой он находится

У каждой вышки в мире свой уникальный
идентификатор - идентификатор соты (Cell ID),
для нее точно известны широта и долгота ее
расположения

зная Cell ID метоположения, можно получить
географические координаты центра этой соты
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
56
Системы позиционирования мобильного
телефона (смартфона)

Радиусы сот варьируются от активности сетевой
трафика района

Результаты
приближенные
(«плюс-минус
трамвайная остановка»)
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
57
Системы позиционирования мобильного
телефона (смартфона)

Если смартфон в зоне действия более, чем
одной сотовой вышки, возможно выполнение
триангуляции его местоположения

сотовая вышка может определить, с какого
направления
приходит
местоположение
сигнал
без
–
точное
установки
дополнительного оборудования
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
58
Системы позиционирования смартфона

спутниковые
системы
глобального
позиционирования (Global Positioning System,
GPS):

GPS, разработанная и реализованная в США

система
ГЛОНАСС
спутниковая
(Глобальная
система)
-
навигационная
советско-российская
спутниковая система навигации
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
59
Системы позиционирования смартфона

Многие смартфоны поддерживают обе системы
GPS – надежность и точность определения
координат, прежде всего, в городских условиях

Есть возможность использования сигналов WiFi,
Bluetooth и NFC, а также внутреннего сенсора
для более точной геолокации, особенно внутри
помещений
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
60
Системы позиционирования смартфона

Многие смартфоны поддерживают обе системы
GPS - надежность и точность определения
координат,
прежде
всего,
в
городских
условиях.

Есть возможность использования сигналов WiFi,
Bluetooth и NFC, а также внутреннего сенсора
для более точной геолокации, особенно внутри
помещений.
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
61
Приложения по учету текущего
местоположения под Android

спутниковые
системы
глобального
позиционирования (GPS )

определение
местоположения
в
сети
(с помощью Network Location Provider)
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
62
Спутниковые системы глобального
позиционирования (GPS )

GPS дает более точные результаты
НО

плохо работает в помещениях
(чаще не работает)

сильно расходует заряд батареи

медленно определяет координаты
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
63
Network Location Provider

определяет
координаты,
используя
сигналы
сотовых вышек и WiFi,

может работать как на улице, так и внутри
помещений

более экономно расходует заряд батареи

работает быстрее по сравнению с GPS
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
64
Доступ к геолокации смартфона

Осуществляется
через
классы
пакета
android.location

Центральный класс пакета LocationManager доступ к системным сервисам для определения
координат устройства

Добавление
карт
с
помощью
Google
Maps
Android API - автоматический доступ к серверам
Google Maps
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
65
Google Maps Android API

загрузка данных

отображение карт

сенсорные жесты на карте

добавление
маркеров,
многоугольников
и
внешних прозрачных слоев

изменение пользовательского представления
отдельных участков карты
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
66
Google Maps Android API

Ключевой класс MapView

отображает карту с данными полученными из
сервиса Google Maps

предоставляет все элементы пользовательского
интерфейса, необходимые для управления картой
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
67
Google Maps Android API

Когда MapView в фокусе

Он перехватывает нажатия клавиш и сенсорные
жесты
для
выполнения
автоматического
перемещения и изменения масштаба карты

Он управляет сетевыми запросами для получения
дополнительных фрагментов карты
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
68
Google Maps Android API

не является частью платформы Android

доступен на любом устройстве с Google Play
Store, работающем, начиная с Android 2.2, через
Google Play services

для интеграции в приложения, в Android SDK
необходимо установить библиотеку Google Play
services
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
69
Другие сенсоры
и датчики
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
70
Сенсоры могут быть полезны
если необходимо регистрировать

положение и перемещения

повороты
устройства
в
трехмерном
пространстве

изменения параметров окружающей среды
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
71
Платформа Android поддерживает
3 категории сенсоров

Датчики движения - измеряют силы ускорения
и вращательные силы по трем осям

Это
акселерометры,
гироскопы,
датчики
вектора вращения и сенсоры силы тяжести
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
72
Платформа Android поддерживает
3 категории сенсоров

Датчики
различные
окружающей
параметры
(температура
среды
-
измеряют
окружающей
воздуха
и
среды,
давление,
освещенность и влажность)

Это
барометры,
термометры
и
датчики
освещенности
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
73
Платформа Android поддерживает
3 категории сенсоров

Датчики положения - измеряют физическое
положение устройства

Это
магнитометры
и
датчики
ориентации
устройства в пространстве
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
74
Реализация сенсоров и датчиков

Аппаратно-реализованные датчики - физические
элементы встроенные в мобильное устройство,
получают
данные
путем
прямых
измерений
свойств (ускорение, сила геомагнитного поля,
изменение углов)

Программно-реализованные датчики – получают
данные с одного или нескольких физических
датчиков и вычисляют значение, которое от них
ожидается
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
75

Какие типы датчиков поддерживаются Android
можно
узнать
по
ссылке:
http://developer.android.com/guide/topics/senso
rs/sensors_overview.html
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
76
Набор классов и интерфейсов для работы с
сенсорами

является частью пакета android.hardware

позволяет:

определять
какие
сенсоры
доступны
на устройстве

определять
индивидуальные
возможности
сенсоров, такие как максимальное значение,
производитель,
требования
к
потребляемой
энергии и разрешения
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
77
Набор классов и интерфейсов для работы
с сенсорами
позволяет

собирать
данные
с
сенсоров
и
определять
минимальную частоту, с которой выполняется
сбор данных

подключать и отключать слушателей событий от
датчиков, события состоят в изменении значений
датчиков
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
78
Классы и интерфейсы по работе с датчиками.
SensorManager

создает
экземпляр
сервиса,
связанного
с сенсором

предоставляет различные методы для доступа и
составления списка сенсоров, подключения и
отключения
слушателей
событий
от сенсоров, сбора информации

содержит
константы
для
задания
точности
сенсора, частоты получения данных и настройки
датчиков
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
79
Классы и интерфейсы по работе с датчиками

Sensor - для создания экземпляра датчика,
предоставляет
методы,
позволяющие
определить свойства сенсора

SensorEvent
-
для
создания
соответствующего
событию
предоставляющего
следующую
объекта,
датчика
и
информацию:
данные сенсора; тип сенсора, породившего
событие, точность данных и время появления
события
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
80
Классы и интерфейсы по работе с датчиками

Интерфейс
SensorEventListener
реализации
двух
уведомления
методов,
(события
-
для
получающих
датчиков),
когда
меняется значение сенсора или когда меняется
точность сенсора.
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
81

Подробнее об использовании сенсоров можно
узнать по ссылке:
http://developer.android.com/guide/topics/sensors/
sensors_overview.html
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
82
Использованные источники

Зигард Медникс, Лайрд Дорнин, Дж. Блэйк Мик,
Масуми
Накамура
Программирование
под
Android. – СПб.: Питер, 2012

http://www.cmsmagazine.ru/library/items/moblil
e/tactile-interaction/

http://habrahabr.ru/post/150905/

http://software.intel.com/ru-ru/node/394259

http://www.infocity.az/?p=8233
Введение в разработку приложений для смартфонов на ОС Android. Лекция 5.
Тема "Использование возможностей смартфона в приложениях "
83
Download