Працюємо з gps в android на java, стрілець coder

Мобільні пристрої часто використовуються для вирішення різних завдань пов'язаних з визначенням географічних координат. Транспорт, будівництво, мандрівники, так чи інакше, мають потребу у визначенні свого місця розташування або інших об'єктів.

На сьогоднішній день найпростішим рішенням для цього є використання портативних приймачів супутникових навігаційних систем. зокрема вбудованих в пристрої на базі Android. При цьому найбільш поширеними є пристрої з підтримкою системи GPS.

В Android SDK весь функціонал по роботі з навігаційними системами об'єднаний в пакет android.location. Ключові компоненти даного пакету:

  • LocationManager - (клас) забезпечує доступ до системної службі визначення місцезнаходження Android;
  • LocationListener - (інтерфейс) регламентує обробку додаток подій служби визначення місцезнаходження Android;
  • Location - (клас) представляє географічні координати отримані від навігаційної системи.
Підготовка до роботи

При написанні Android програми працює з навігаційними системами на Java за допомогою Android SDK спочатку необхідно виконати ряд підготовчих операцій.

Це пов'язано з тим, що на відміну від Delphi. тут відсутні будь-які дозволи, що надаються за замовчуванням і немає готових компонентів, які повністю брали б на себе всю роботу по взаємодії з GPS приймачем.

Всі необхідні дії потрібно виконати самостійно.

Насамперед надаємо додатком необхідні дозволи в файлі маніфесту.

Перед викликом методу requestLocationUpdates обов'язково необхідно перевірити наявність відповідних дозволів (оператор if). Якщо вони відсутні перед оператором return можна виконати деякі дії. Наприклад, записати повідомлення про помилку в журнал. Однак в будь-якому випадку при відсутності необхідних дозволів робота з навігаційною системою повинна бути завершена до реєстрації об'єкта LocationListener.

Метод requestLocationUpdates має кілька перевантажень. Найбільш часто використовувана з них приймає чотири параметри. Саме вона використана в прикладі вище.

  1. Постачальник даних про місцезнаходження.
    В даному прикладі використовується GPS;
  2. Мінімальний інтервал оновлення даних про місцеположення в мілісекундах.
    Значення «0» відповідає використанню мінімально можливого інтервалу часу для даного пристрою;
  3. Мінімальна відстань для поновлення даних про місцезнаходження в метрах.
    Значення «0» відповідає використанню мінімально можливої ​​відстані для даного пристрою;
  4. Реєстрований об'єкт LocationListener.

Після реєстрації додаток зможе отримувати інформацію про місцезнаходження пристрою в міру його зміни.

Якщо необхідно отримати її одноразово, необхідно замість методу requestLocationUpdates використовувати метод requestSingleUpdate, який також має кілька перевантажень.

  1. Постачальник даних про місцезнаходження.
    В даному прикладі використовується GPS;
  2. Реєстрований об'єкт LocationListener;
  3. Об'єкт, який реалізує зворотний виклик.
    Необов'язковий параметр.

Приклад використання методу requestSingleUpdate: