# Автобус №127 — Расписание (Android) [![Лицензия: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](#лицензия) Приложение для Android с расписанием автобуса **№127** по маршруту **Полярные Зори ⇄ Зашеек** (Мурманская область, Кандалакшский район). Написано на **Kotlin** с использованием **Android SDK** и Material Components. Тёмная тема, аккуратные карточки и «чипы» расписания. ## Возможности - Расписание на **будни**, **субботу** и **воскресенье** (переключатель вкладок). - Блок **«Ближайшие рейсы»** — три ближайших отправления с подсчётом «через N минут» (время по **МСК**, обновляется каждые 30 сек). - Полные списки рейсов **туда** (ПЗ → Зашеек) и **обратно** (Зашеек → ПЗ), аккуратно переносящиеся по 5 в строке. - Тёмная тема (#121212) с оранжево-красным акцентом. - Адаптивная иконка-автобус (Adaptive Icon). - Живые часы местного времени (МСК) в шапке. ## Скриншот Иконка приложения — стилизованный автобус на градиентном фоне. ## Технические данные | Параметр | Значение | |-----------------|-----------------------------------| | Язык | Kotlin 1.9.22 | | Минимальный SDK | 26 (Android 8.0) | | Целевой SDK | 34 (Android 14) | | Сборка | Gradle 8.6 + Android Gradle Plugin 8.2.2 | | UI | Material Components, ConstraintLayout | ## Сборка Проект собирается системным 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/ ├── app/ │ ├── build.gradle │ └── src/main/ │ ├── AndroidManifest.xml │ ├── java/ru/ua1zbe/bus127/MainActivity.kt │ └── res/ │ ├── drawable/ # фоны, чипы, иконка-автобус │ ├── layout/ # activity_main.xml │ ├── mipmap-anydpi-v26/ # адаптивная иконка │ └── values/ # colors, strings, themes ├── build.gradle ├── settings.gradle ├── gradle.properties └── README.md ``` ## Лицензия MIT — свободное использование и модификация.