Initial commit: Компас Цель — Android приложение для навигации по GPS
This commit is contained in:
101
ИНСТРУКЦИЯ.md
Normal file
101
ИНСТРУКЦИЯ.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# Компас Цель — 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 (до 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 ▾»)
|
||||
- В открывшемся списке выберите нужную цель — дистанция и стрелка обновятся сразу
|
||||
|
||||
### Редактирование цели
|
||||
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+)
|
||||
Reference in New Issue
Block a user