Files
compass_target/ИНСТРУКЦИЯ.md

102 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Компас Цель — Android приложение (Kotlin)
Приложение показывает направление и расстояние от вашего текущего GPS-местоположения до выбранной цели (репитер, метка, объект). Работает в тёмной теме, с компасом и счётчиком спутников.
---
## Возможности
- **Дистанция до цели** в метрах/километрах — обновляется в реальном времени
- **Компас с фиксированным севером** — N всегда сверху:
- красная стрелка — направление на выбранную цель (абсолютный азимут)
- белый треугольник — куда направлен телефон
- стрелка скрыта, пока нет GPS-фикса
- **Азимут на цель** в градусах и словесно (С, СВ, В, ЮВ, Ю, ЮЗ, З, СЗ)
- **Высота** над уровнем моря
- **Спутники** — количество используемых и разбивка по созвездиям: GPS, ГЛОНАСС, Galileo, BeiDou
- **Точность GPS** (± метры)
- **10 целей** — выбор и редактирование (название, широта, долгота), сохранение между запусками
- **Вставка текущих координат** в поле цели одной кнопкой
- Экран не гаснет во время работы
---
## Быстрый старт
1. Установите APK: `app/build/outputs/apk/debug/app-debug.apk`
2. Запустите приложение
3. Разрешите доступ к геолокации (GPS) — без этого приложение не работает
4. Подождите фикса GPS (до 12 минут на улице)
---
## Цели по умолчанию
| № | Название | Широта | Долгота |
|---|----------|--------|---------|
| 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 ▾»)
- В открывшемся списке выберите нужную цель — дистанция и стрелка обновятся сразу
### Редактирование цели
1. Тапните по названию цели сверху → кнопка **«Редактировать…»**
2. Измените название, широту, долготу
3. **«Вставить текущие координаты»** — автоматически подставит ваше текущее местоположение
4. **«Сохранить»** — изменения сохраняются между запусками
### Чтение экрана
- **Центр круга** — дистанция до выбранной цели
- **Красная стрелка** — куда идти/смотреть на цель
- **Белый треугольник** — ориентация телефона
- **Карточка под компасом** — азимут, высота, спутники, точность GPS
- **Строка внизу** — ваши координаты и координаты цели
---
## Сборка проекта
Требования: JDK 17+, Android SDK (platform 34), Gradle (используется 9.2.0).
```bash
# локальный 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+)