5.2 KiB
5.2 KiB
Компас Цель — Android приложение (Kotlin)
Приложение показывает направление и расстояние от вашего текущего GPS-местоположения до выбранной цели (репитер, метка, объект). Работает в тёмной теме, с компасом и счётчиком спутников.
Возможности
- Дистанция до цели в метрах/километрах — обновляется в реальном времени
- Компас с фиксированным севером — N всегда сверху:
- красная стрелка — направление на выбранную цель (абсолютный азимут)
- белый треугольник — куда направлен телефон
- стрелка скрыта, пока нет GPS-фикса
- Азимут на цель в градусах и словесно (С, СВ, В, ЮВ, Ю, ЮЗ, З, СЗ)
- Высота над уровнем моря
- Спутники — количество используемых и разбивка по созвездиям: GPS, ГЛОНАСС, Galileo, BeiDou
- Точность GPS (± метры)
- 10 целей — выбор и редактирование (название, широта, долгота), сохранение между запусками
- Вставка текущих координат в поле цели одной кнопкой
- Экран не гаснет во время работы
Быстрый старт
- Установите APK:
app/build/outputs/apk/debug/app-debug.apk - Запустите приложение
- Разрешите доступ к геолокации (GPS) — без этого приложение не работает
- Подождите фикса GPS (до 1–2 минут на улице)
Цели по умолчанию
| № | Название | Широта | Долгота |
|---|---|---|---|
| 1 | П-Зори DMR | 67.371 | 32.48967 |
| 2 | R1ZBF-SVX | 67.3685 | 32.49 |
| 3 | Лысая Гора | 67.43083 | 32.4535 |
| 4 | Апатиты DMR | 67.55917 | 33.40967 |
| 5 | Кировск DMR | 67.602 | 33.72767 |
| 6 | Мончегорск DMR | 67.93883 | 32.9375 |
| 7 | R1ZCU-SVX | 69.00283 | 33.102 |
| 8 | R1ZAAG-HE | 69.0735 | 33.43167 |
Как пользоваться
Выбор цели
- Тапните по названию цели вверху экрана (например «ЦЕЛЬ: П-Зори DMR ▾»)
- В открывшемся списке выберите нужную цель — дистанция и стрелка обновятся сразу
Редактирование цели
- Тапните по названию цели сверху → кнопка «Редактировать…»
- Измените название, широту, долготу
- «Вставить текущие координаты» — автоматически подставит ваше текущее местоположение
- «Сохранить» — изменения сохраняются между запусками
Чтение экрана
- Центр круга — дистанция до выбранной цели
- Красная стрелка — куда идти/смотреть на цель
- Белый треугольник — ориентация телефона
- Карточка под компасом — азимут, высота, спутники, точность GPS
- Строка внизу — ваши координаты и координаты цели
Сборка проекта
Требования: JDK 17+, Android SDK (platform 34), Gradle (используется 9.2.0).
# локальный SDK
echo "sdk.dir=/путь/к/Android/Sdk" > local.properties
# сборка debug APK (ограниченные ресурсы — под слабые ПК)
gradle :app:assembleDebug --no-daemon
# установка на телефон по USB (режим отладки включён)
adb install -r app/build/outputs/apk/debug/app-debug.apk
Ресурсы сборки ограничены в gradle.properties (heap 1 ГБ, 2 воркера, без параллелизма) — при мощном ПК можно убрать.
Структура
app/src/main/java/com/ua1zbe/compass/
├── MainActivity.kt — GPS, компас, сенсоры, меню и редактирование целей
├── CompassView.kt — отрисовка компаса (канвас)
└── TargetsStore.kt — хранение целей (SharedPreferences/JSON)
Примечания
- Компас использует магнитометр и акселерометр — калибруйте телефон восьмёркой при неточных показаниях
- Высота берётся из GPS (приборная, над уровнем моря)
- ГЛОНАСС и другие созвездия видны автоматически через
GnssStatus(Android 7+)