README: обновлено описание v2.0 (расширенный маршрут, WebView)
This commit is contained in:
87
README.md
87
README.md
@@ -1,78 +1,55 @@
|
|||||||
# Автобус №127 — Расписание (Android)
|
# Автобус №127 — Расписание (Android)
|
||||||
|
|
||||||
[](#лицензия)
|
Приложение с расписанием автобуса **№127** по маршруту
|
||||||
|
**Кандалакша — Полярные Зори — Зашеек** (Мурманская область).
|
||||||
Приложение для Android с расписанием автобуса **№127** по маршруту
|
|
||||||
**Полярные Зори ⇄ Зашеек** (Мурманская область, Кандалакшский район).
|
|
||||||
Написано на **Kotlin** с использованием **Android SDK** и Material Components.
|
|
||||||
Тёмная тема, аккуратные карточки и «чипы» расписания.
|
|
||||||
|
|
||||||
## Возможности
|
## Возможности
|
||||||
|
|
||||||
- Расписание на **будни**, **субботу** и **воскресенье** (переключатель вкладок).
|
- **Выбор остановки** — Кандалакша / Полярные Зори / Зашеек. При выборе
|
||||||
- Блок **«Ближайшие рейсы»** — три ближайших отправления с подсчётом
|
показываются доступные направления (куда можно уехать).
|
||||||
«через N минут» (время по **МСК**, обновляется каждые 30 сек).
|
- **Ближайшие рейсы** — по 3 на каждое направление, с подсчётом
|
||||||
- Полные списки рейсов **туда** (ПЗ → Зашеек) и **обратно** (Зашеек → ПЗ),
|
«через N ч M мин» (время по **МСК**, обновляется каждые 30 сек).
|
||||||
аккуратно переносящиеся по 5 в строке.
|
- **Автоопределение дня недели** — будни/выходные.
|
||||||
- Тёмная тема (#121212) с оранжево-красным акцентом.
|
- **Полное расписание** — по кнопке раскрывается вся таблица
|
||||||
- Адаптивная иконка-автобус (Adaptive Icon).
|
(4 остановки: Кандалакша · ПЗ→Зашеек · Зашеек · ПЗ→Кандалакша).
|
||||||
- Живые часы местного времени (МСК) в шапке.
|
- Тёмная тема, живые часы МСК, подсветка ближайших рейсов (< 15 мин).
|
||||||
|
|
||||||
## Скриншот
|
|
||||||
|
|
||||||
<sub>Иконка приложения — стилизованный автобус на градиентном фоне.</sub>
|
|
||||||
|
|
||||||
## Технические данные
|
## Технические данные
|
||||||
|
|
||||||
| Параметр | Значение |
|
| Параметр | Значение |
|
||||||
|-----------------|-----------------------------------|
|
|-----------------|------------------------------|
|
||||||
| Язык | Kotlin 1.9.22 |
|
| Тип | WebView-обёртка (HTML/JS) |
|
||||||
| Минимальный SDK | 26 (Android 8.0) |
|
| Минимальный SDK | 26 (Android 8.0) |
|
||||||
| Целевой SDK | 34 (Android 14) |
|
| Целевой SDK | 34 (Android 14) |
|
||||||
| Сборка | Gradle 8.6 + Android Gradle Plugin 8.2.2 |
|
| Сборка | Gradle 8.6 + AGP 8.2.2 |
|
||||||
| UI | Material Components, ConstraintLayout |
|
| Подпись | keystore `~/bus127.keystore` (alias `bus127`) |
|
||||||
|
|
||||||
## Сборка
|
|
||||||
|
|
||||||
Проект собирается системным Gradle (на хосте `192.168.1.46` gradle распакован
|
|
||||||
в `~/BusSchedule127/gradle-8.6`):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
export ANDROID_HOME=~/Android/Sdk
|
|
||||||
export JAVA_HOME=/usr
|
|
||||||
export PATH=$PATH:~/BusSchedule127/gradle-8.6/bin
|
|
||||||
|
|
||||||
cd BusSchedule127
|
|
||||||
gradle clean assembleRelease --no-daemon
|
|
||||||
```
|
|
||||||
|
|
||||||
Подписанный APK появится в:
|
|
||||||
`app/build/outputs/apk/release/app-release.apk`
|
|
||||||
|
|
||||||
> Для подписи используется keystore `~/bus127.keystore` (alias `bus127`).
|
|
||||||
> Секретные ключи в репозиторий не включены — генерируйте свои
|
|
||||||
> через `keytool` перед релизной сборкой.
|
|
||||||
|
|
||||||
## Структура
|
## Структура
|
||||||
|
|
||||||
```
|
```
|
||||||
BusSchedule127/
|
apk-webview/ # исходники APK (WebView)
|
||||||
├── app/
|
├── app/
|
||||||
│ ├── build.gradle
|
│ ├── build.gradle
|
||||||
│ └── src/main/
|
│ └── src/main/
|
||||||
│ ├── AndroidManifest.xml
|
│ ├── AndroidManifest.xml
|
||||||
│ ├── java/ru/ua1zbe/bus127/MainActivity.kt
|
│ ├── java/ru/ua1zbe/bus127/MainActivity.java
|
||||||
│ └── res/
|
│ ├── assets/index.html # интерфейс (HTML/JS)
|
||||||
│ ├── drawable/ # фоны, чипы, иконка-автобус
|
│ └── res/values/strings.xml
|
||||||
│ ├── layout/ # activity_main.xml
|
└── settings.gradle, build.gradle, gradle.properties
|
||||||
│ ├── mipmap-anydpi-v26/ # адаптивная иконка
|
web/index.html # веб-версия (та же страница, для браузера)
|
||||||
│ └── values/ # colors, strings, themes
|
|
||||||
├── build.gradle
|
|
||||||
├── settings.gradle
|
|
||||||
├── gradle.properties
|
|
||||||
└── README.md
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Сборка
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export JAVA_HOME=$HOME/jdk-17.0.20.1+1
|
||||||
|
export ANDROID_HOME=$HOME/Android/Sdk
|
||||||
|
cd apk-webview
|
||||||
|
~/gradle-8.6/bin/gradle assembleRelease --no-daemon
|
||||||
|
```
|
||||||
|
|
||||||
|
Готовый APK — в [релизах](../../releases) и в репозитории `android_apk`.
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
MIT — свободное использование и модификация.
|
MIT.
|
||||||
|
|||||||
Reference in New Issue
Block a user