О, Android + “ЖКХ/связи” — звучит как приложение, где половина успеха не в UI, а в том, чтобы нормально пережить реальность: логины, квитанции, API “то работает, то нет”, пуши, фотки счётчиков
Маршрут под Android (самый адекватный в 2026)
1)
Kotlin база + Android fundamentals
2)
Jetpack Compose (UI) — сейчас это прям дефолт
3)
Архитектура: MVVM + Repository
4)
Хранение: Room (локально) + DataStore (настройки/токены)
5)
Сеть: Retrofit + OkHttp (+ Moshi/Kotlinx Serialization)
6)
Асинхронщина: Coroutines + Flow
7)
DI: Hilt (или Koin, но Hilt чаще в бою)
8)
Навигация: Navigation Compose
Минимальный MVP для “ЖКХ/связи”, чтобы не утонуть
Выбирай 1–2 фичи и доводи до конца:
•
Лицевые счета: список счетов/объектов (квартира/интернет)
•
Показания счётчиков: ввод + история (локально)
•
Квитанции: список PDF/изображений + скачивание/шаринг
•
Напоминания: “передать до 25 числа” (WorkManager + уведомления)
Как бы я резал по этапам
Этап 1 — каркас
• Экран: список “услуг/счетов”
• Экран: детали (показания/платежи)
• Локальная база (Room) — без сервера вообще
Так ты отработаешь Compose + навигацию + Room без боли.
Этап 2 — сеть
• Подключаешь API (если есть) через Retrofit
• Кешируешь в Room (offline-first лайтовый)
• Добавляешь авторизацию (токен в DataStore)
Важно: в ЖКХ часто “зоопарк” провайдеров. Если API нет — можно начать хотя бы с “ручного режима” и позже прикрутить интеграции.
Этап 3 — напоминания и “жизнь приложения”
• WorkManager для регулярных задач
• Уведомления
• Экспорт/шаринг квитанций
• Защита: PIN/биометрия (если данные чувствительные)
Подводные камни именно для ЖКХ/связи
•
PDF/сканы: заранее продумай просмотр (Android PdfRenderer/сторонние либы)
•
Фотки счётчиков: разрешения, сжатие, хранение (лучше в app storage + ссылка в Room)
•
Даты и тарифы: валидация (чтобы не отправили “999999”)
•
Провайдеры: разные форматы — делай слой “адаптеров” под каждого поставщика, если дойдёшь до интеграций
Что учить прямо сейчас (по порядку) — без лишнего
1) Kotlin: null-safety, data/sealed class, коллекции
2) Compose: state, recomposition, LazyColumn, Navigation
3) Coroutines/Flow: suspend, flow, combine
4) Room + DataStore
5) Retrofit
Чтобы я подсказал прям конкретный стек/структуру проекта, ответь коротко:
1) “ЖКХ связи” — это про
интернет/телефонию (провайдер) или прям
управляйка/квитанции?
2) У тебя есть
готовое API или всё будет “вручную/парсить/сканить”?
3) Нужны
платежи внутри приложения или только “смотреть/напоминать/передавать показания”?