Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Датчик GPS




Android позволяет использовать показания GPS -датчика в тех случаях, когда логика приложения напрямую зависит от расположения устройства в пространстве, относительно Земли. GPS -датчик не является стандартным датчиком в Android, поэтому для его использования применяется немного другой подход.

LocationManager - менеджер управления службой GPS, основной класс, которой представляет GPS -датчик в Android. Класс предоставляет доступ к системной службе локации, позволяющей приложению получать периодические обновления в течении некоторого промежутка времени.

Для инициализации объекта класса LocationManager используйте метод getSystemService() с параметром Location_Service.

Чтобы запустить службу GPS используйте метод requestLocationUpdate(String provider, long minTime, float minDistance, LocationListener listener).

Параметр provider задается в виде статической константы, которая определяет поставщика услуги GPS. Например, если указатьLocationManager.GPS_PROVIDER, в качестве параметра, то поставщиком услуги будет спутник GPS, а если указатьLocationManager.NETWORK_PROVIDER - то, поставщиком услуги будет сетевой протокол UDP или HTTP.

Второй параметр задает периодичность получения данных от GPS службы.

Третий параметр определяет минимальный размер области пространства, в котором мы не хотим получать уведомления от GPS службы. Этот параметр определяется логикой приложения.

Четвертый параметр - слушатель, который реагирует на изменения локации.

Для того, чтобы сбросить слушатель используйте метод removeUpdates(LocationListener listener).

Рассмотрим подробно интерфейс ocationListener. Он включает в себя следующие методы:

1. onLocationChanged(Location location) - метод вызывается всякий раз, когда происходит изменение показаний GPS датчика. Количество вызовов данного метода напрямую зависит от того, как вы на него подписались (параметры minDistance, minTime). Экземпляр класса Location содержит показания датчика. Его основные поля: londitude (долгота), latitude (широта), altitude (высота над уровнем моря), accuracy (точность), timestamp (время идентификации события).

2. onStatusChanged (String provider, int status, Bundle extras) - метод вызывается всякий раз, когда GPS программно терпит изменения(плохой сигнал, устройство не отвечает и т.д.). Например данный метод вызывается, когда GPS служба не в состоянии установить местоположение или недавно стала доступной после периода блокировки.

3. onProviderEnabled(String provider) - метод вызовется, если приложению доступна служба GPS, или вызовется после того, как пользователь включит GPS.

4. onProviderDisabled(String provider) - метод вызывается, если приложению недоступен GPS, вообще говоря, если устройство никогда не использовало службу GPS, то этот метод после автоматического вызова должен предоставить пользователю возможность включить GPS.




Поделиться с друзьями:


Дата добавления: 2014-11-26; Просмотров: 515; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.