README: обновлено описание v2.0 (расширенный маршрут, WebView)

This commit is contained in:
2026-09-27 09:07:46 +00:00
parent b0d47f488d
commit 3e61ae7e74

View File

@@ -1,78 +1,55 @@
# Автобус №127 — Расписание (Android) # Автобус №127 — Расписание (Android)
[![Лицензия: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](#лицензия) Приложение с расписанием автобуса **№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.