Первое, что мы видим, открыв программу, это следующего вида экран:
Конечно меню вы просто так не увидите, но я не хотел бы выкладывать много одинаковых скриншотов. Собственно здесь изображено расписание электричек, разнесенное по датам. Пункты меню:
- Очистить - очищает старое расписание. Удаляет все данные до сегодняшнего дня (не включительно).
- Очистить все - собственно это оно и делает - удаляет все сохраненные расписания.
- Обновить - позволяет получить новое расписание.
- Станции - изменение списка доступных станций.
- Шаблоны - позволяет изменить регулярки, используемые для добычи данных.
Выбрав конкретную дату и щелкнув по ней, получим следующую картинку:
Здесь мы видим все доступные расписания на выбранную дату. Далее:
Здесь видим конкретное время движения электричек. В данном примере для получения расписания использовался только 1 источник - yandex. Если же выбрать и туту, то справа появится второй столбец с данными от туту. То, что электрички с разных источников показываются рядом (что не всегда так, например на яндексе первая электричка на конкретный день определяется по часам (т.е. > 0.00), а на туту - первая после ночного перерыва (т.е. то, что > 0.00 будет в конце)), позволяет определить, указано время отправления или прибытия.
Теперь рассмотрим экран обновления расписания:
Выбираем откуда, куда, в обе или только в одну сторону, дату начала и дату окончания (я 1 раз в неделю, по выходным обновляю нужное расписание на всю неделю + когда какие-то вне плановые поездки уже индивидуальное расписание беру), ну и выбираем источники.
Если вдруг появились проблемы с обновлением, то вероятно на проблемном сайте поменяли шаблон. Для того, чтобы его отредактировать есть пункт в основном меню - "Шаблоны". Но здесь уже нужно будет знать регулярные выражения, ну либо найти того, кто знает;)
Это регулярки для нахождения времени. Другие параметры пока не поддерживаются. Здесь можно посмотреть синтаксис регулярных выражений для андроида.
Ну и последние 2 экрана - список станций и их модификация:
Возникало много вопросов о том, откуда брать ID станций. Для яндекса это обычно само название станции (обычно, потому что я не могу отвечать за весь яндекс:)). Для туту немного подругому. Тут нужно зайти на сайт, выбрать интересующую станцию (ну или выбрать 2 нужные станции), и получить url такого "http://tutu.ru/station.php?nnst=201" или такого "http://tutu.ru/rasp.php?st1=20000&st2=201" вида. В первом случае сразу понятно, где зарыт ID, а во втором просто нужно запомнить, что st1 - станция отправления, а st2 - назначения. Так что и для туту ID найти не так сложно.
Вот собственно и все. Если же все еще есть вопросы, не стесняйтесь, задавайте.
ЗЫ: В данный момент катастрофически не хватает времени, так что больших изменений в функциональности не предвидится. Однако если хватит времени приукрасить код, то выложу его куда-нибудь. Выложил. Может кто присоединится к разработке да и дизайн подправит.
1 комментарий:
Спасибо большое, пользуюсь с удовольствием!
Отправить комментарий