понедельник, 29 ноября 2010 г.

Soft : Обещанный FAQ по TrainDroid

Давно обещал сделать мануал по TrainDroid, но все не доходили руки сделать скриншоты. Однако нашлись добрые люди, поэтому встречайте!

Первое, что мы видим, открыв программу, это следующего вида экран:
Конечно меню вы просто так не увидите, но я не хотел бы выкладывать много одинаковых скриншотов. Собственно здесь изображено расписание электричек, разнесенное по датам. Пункты меню:

  • Очистить - очищает старое расписание. Удаляет все данные до сегодняшнего дня (не включительно).
  • Очистить все - собственно это оно и делает - удаляет все сохраненные расписания.
  • Обновить - позволяет получить новое расписание.
  • Станции - изменение списка доступных станций.
  • Шаблоны - позволяет изменить регулярки, используемые для добычи данных.

Выбрав конкретную дату и щелкнув по ней, получим следующую картинку:
Здесь мы видим все доступные расписания на выбранную дату. Далее:
Здесь видим конкретное время движения электричек. В данном примере для получения расписания использовался только 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 комментарий:

Сергей комментирует...

Спасибо большое, пользуюсь с удовольствием!