Современные мобильные телефоны имеют большие экраны.
Совершенно естественно желание использовать часть пространства для отображения важной и актуальной информации.
В Android для этого даже есть специальный объект под названием AppWidget. С помощью виджетов прямо на рабочем столе телефона или планшета помимо значков приложений можно отображать прогноз погоды, баланс счета телефона, предстоящие события, избранные контакты – практически все, что угодно, поскольку данные для виджетов предоставляют приложения.
Мне очень нравится эта функция Android (кстати, интересно, есть ли что-нибудь подобное на других платформах?).
Я использую его с самого начала.
Но есть определенная категория программ, предоставляющих виджеты, в которых мне всегда чего-то хватало.
Я сейчас имею в виду программы, выводящие на экран текущий баланс телефона.
Таких программ много.
Некоторые для получения текущего баланса делают USSD или SMS-запрос, а другие используют автоматизированный сервис управления тарифом абонента через Интернет, например ISSA МТС или сервис-гид Мегафона.
Второй тип мне нравится больше, потому что через интернет-сервис можно получать информацию на несколько разных телефонов, а через СМС или USSD только на тот телефон, с которого сделан запрос.
Ну а для планшетов без телефонии первый способ вообще закрыт. Вообще я перепробовал много таких программ, некоторые были лучше других, но они не всегда показывали то, что я хотел (до недавнего времени я пользовался баланс по ).
Например, я хотел посмотреть, сколько трафика осталось на моем телефоне, а сколько на модеме.
Все так просто – вот эта информация, на сайте! Если информация о балансе берется оттуда, то почему бы не взять информацию о трафике? Если бы для этого можно было написать просто регулярное выражение, я бы давно это сделал.
Но мне оставалось только дождаться обновления программы.
И обновления выходили, куча других операторов обновлялись, но нужный мне индикатор трафика не появлялся.
Кроме того, я ни разу не нашел программы, которая бы сохраняла динамику изменения баланса, чтобы можно было быстро увидеть, в какой момент вдруг начали списываться лишние деньги.
И с тарификация мтс это вполне может случиться.
Ниже мое решение проблемы.
Поскольку мне хотелось изучить Android, я решил написать собственную программу.
Но сразу избавьтесь от главного, на мой взгляд, недостатка существующих программ.
Весь набор поддерживаемых мобильных операторов и других аккаунтов, балансы которых необходимо просмотреть, необходимо перенести из программы в плагины.
И эти модули должны быть написаны не на сложной Java, а на простом JavaScript. Уже в процессе разработки я понял, что это открывает более широкие возможности.
Вам вообще не придется ограничиваться мобильными операторами и интернет-провайдерами.
Вы можете отображать практически любую информацию, представленную в числовой или текстовой форме.
Например, их очень легко сделать.
обменные курсы И EMS отслеживание .
Я позвонил в программу AnyBalance .
И плагины для него Поставщики AnyBalance .
Мне бы хотелось, чтобы провайдеры AnyBalance имели открытый исходный код, чтобы те, кого не устраивает функционал какого-либо провайдера, могли легко его дополнить.
Ну или спросите об этом друга, знающего Javascript. Для этой цели я создал Проект кода Google и разместил там документацию и примеры.
Призываю хабра-сообщество посмотреть и оценить мою работу.
И если есть возможность, добавьте в него своего оператора :) Когда будет написано больше провайдеров AnyBalance, в AnyBalance появится возможность поиска и добавления провайдеров прямо из репозитория.
Сама программа доступна по адресу Android Market .
У него есть несколько действующих провайдеров, таких как Мегафон Москва, Курсы валют , отслеживание отправлений EMS и пару провайдеров для получения остатков игровой валюты из игр.
Источники всех поставщиков в репозитории .
Много информации о том, как делаются провайдеры, написано на странице проекта на Google-код .
Расскажу здесь коротко.
Каждый провайдер объявляет набор счетчиков, которые он представляет, а также содержит Javascript, который получает эти счетчики.
При обновлении виджета AnyBalance создает WebView, в котором запускается основная функция провайдера.
Результаты (значения счетчиков) сохраняются AnyBalance для отображения на виджетах, построения графиков и статистики.
Собственно, сам провайдер предельно прост. Его функция ограничивается получением текущих значений счетчика.
Чрезвычайно простой классический пример – Привет, мир .
А вот как должны выглядеть полученные данные, определяет пользователь.
Во-первых, пользователь может выбрать, какие счетчики показывать, а какие нет. Во-вторых, он выбирает тип виджета.
На данный момент в AnyBalance имеется три типа виджетов — два типа для числовых значений и один для текстовых.
Пользователь может выбрать, какие счетчики в каких полях виджета показывать.
Также в AnyBalance есть возможность показывать графики и статистику, чего мне так не хватало в других программах.
Вот пример того, как это выглядит.
На данный момент я полностью перешёл на AnyBalance. Надеюсь, оно вам тоже понравится, и поможет помимо отображения баланса решить давнюю проблему отображения, например, количества золота в ВОВ или наличия определенного товара в Интернете непосредственно на сайте.
экран телефона :) Также буду благодарен всем, кто добавит своих провайдеров в генеральный проект или изменить существующие.
Еще есть вопрос по безопасности: можно ли писать вредоносные провайдеры :).
Все настройки учетной записи хранятся в SharedPreferences, поэтому теоретически один провайдер может получить доступ к настройкам другого.
Я пока не знаю, как это исправить.
Теги: #баланс #виджет #JavaScript #Android #anybalance #мегафон #ems почта России #баланс мобильных операторов #Разработка для Android
-
Веб-Дизайн, Inkscape И Все-Все, Часть 1
19 Oct, 24 -
Три Моих Любимых Жука
19 Oct, 24