Эльф MetarViewer предназначен для закачивания сводки погоды в формате METAR, распарсивания и выдачи информации в виде сообщения.
Закачка погоды производится при запуске эльфа. Так как погода обновляется на сайте один раз в полчаса и становится доступной примерно на 11й и 41й минуте каждого часа, то эльф при запуске закачает погоду только в случае наличия обновленной версии. То есть эльф оценивает наличие обновлений по локальному времени телефона. Кроме того, эльф обновит погоду, если сменился аэродром (в файле locations.txt).
Также есть возможность просмотреть уже загруженную погоду, даже если есть обновления. Для реализации этой возможности, эльф запускается в режиме демона после первого запуска и виден в Букменеджере. Если выбрать просмотр автора, то высветится сообщение с последней загруженной погодой.
Еще эльф показывает время восхода и заката солнца. Для этого используются географические координаты города, которые прописаны в файле aerodrom.txt.
Для работы эльфа, необходимо установить java приложение MyDownload.jar. Закачка погоды производится не напрямую, а с помощью этого мидлета.
Затем необходимо создать рабочий каталог программы: на флешке в папке ini создать директорию WC (ini/WC). Сюда необходимо поместить файл aerodrom.txt и location.txt. В файле location.txt прописать русское название города, который есть в файле aerodrom.txt. Если города нет, то нужно использовать ближайший город. Например: Армавир => Ставрополь.
При работе программа в рабочей директории дополнительные файлы: time_zone.txt - часовой пояс локального времени телефона, metar.txt - сводка погоды из интернета, url.txt - конфигурационный файл для java закачивальщика, debug.txt - файл появляется в случае каких то ошибок и содержит их описание.
Эльф тестировался на моем телефоне ДБ2010 к750. Размер файла metar.txt, который качается с интернета очень маленький - около 100 байт. За один просмотр погоды мой оператор ТЕЛЕ2 снимает 1 копейку (тарификация 1кб).
Кроме необходимых файлов для работы эльфа, выкладываю скрипт на perl, с помощью которого я сформировал список аэродромов России. Может кто нибудь захочет сформировать список для другой страны.
Я выкладываю исходные тексты эльфа - он получился достаточно объемным. Может кто нибудь захочет добавить новые возможности или исправить возможные недоработки. Пользуйтесь - мне не жалко :)
Я повесил запуск эльфа на клавишу "с" с помощью эльфа FastKey. Очень удобно получилось - на экране отображается температура окружающего воздуха (textInfo, температура батарейки), а по клавише "с", по запросу можно прочитать текущую сводку погоды. Метеостанция, а не телефон :)
полезные ссылки:
http://www.fallingrain.com/world/a/K/u/r/s/k/ - здесь можно найти координаты любого города (респект radodendron)
http://weather.noaa.gov/pub/data/observations/metar/stations/UUOK.TXT - это метар курска. Чтобы протестировать существование страницы с другим метаром, замените UUOK на код нужного аэродрома. Код можно найти в поисковике в интернете.
Данный эльф был создан на основе эльфа WeatherControl. Основные идеи тоже оттуда. Это стало возможно только благодаря выкладыванию исходных текстов эльфа и закачивальщика на java автором WeatherControl. Так что не стесняемся, господа эльфмейкеры, выкладываем исходники, не тормозим прогресс :)
Внимание! Для компиляции необходимо:1. Заменить свой файл 1.xcl на вложенный в этом сообщении. Там добавлен сигмент HEAP, необходимый для компоновки функций работы с временем из стандартной библиотеки.
2. Закоментарить функцию sprintf в Lib_Clara.h, которая своим объявлением конфликтует с одноименной функцией стандартной библиотеки.
[ Редактировано igor_b в 3.2.10 15:21 ]
[ Редактировано igor_b в 9.3.10 12:58 ]