- Cкачать XML с базами зон
- Выкачать все XML с базами станций по зонам
- Сконвертировать их в sqlite
- Хранить базы в приложении
- Доставать данные из базы
- СДЕЛАТЬ ПРИЛОЖЕНИЕ НЕ ОДНОРАЗОВЫМ
- При запуске определяем геолокацию и по ней решаем, в какой зоне ищем. Если не получилось, то последняя зона, из коробки Москва.
- При нажатии на кнопку геолокации находим ближайшую станцию. Если не получилось, рисуем вместо кнопки грустный смайл.
- Если в datePicker выбрана прошедшая дата, то уведомляем об этом
- Дёргаем из интерфейса автодополнение названия станции
- Получаем
esr
для «Откуда» и «Куда» - Выполняем сетевой реквест маршрутов (ниток)
- Получаем респонз в QML
- Красиво отображаем на
ThreadsPage
- Переключение руками зоны: список всех + поле поиска с автодополнением
- Скроллинг для
SearchBox
или всего экрана, потому что клавиатура перекрывает подсказки (!)
- Обработка нажатия на Enter внутри
SearchBox
— автозаполнить верхней подсказкой и перейти к другому полю, если другое тоже заполнено — открыватьThreadsPage
- При клике мимо TextField подсказки от
SearchBox
должны спрятаться - Название, выданное
SearchBox
, можно отображатьshort_title
, если возможно - Надо сделать
FirstPage
красивее, особенно заголовок и вертикальные отступы
- Клик на маршрут в
ThreadsPage
открывает список станций и прочую мякотку - При запуске сразу же дёргаем sqlite, чтобы база для скорости лежала в оперативной памяти
- Если искались поезда на сегодня, то на Cover выводим ближайший поезд и кнопку обновить, иначе скриншот
- Избранные или последние маршруты
- Оффлайн расписание?
- Проверять актуальность базы (смотреть
ETag
?) Если старая, то скачать XML, превратить в sqlite и обновить