Делаем виджеты используя “tasker” и “zoom”
+
В данной статье речь пойдет о создании виджетов при помощи таскер. В этом нам поможет «zoom». Если вам лень читать всю статью внизу даны ссылки на готовые задачи и виджет.
Что же нам для этого понадобится:
Инструменты:
- tasker Cсылка
-zoom Cсылка
Постановка задачи
Для создания виджетов мы будем использовать программу zoom. Управление ими осуществлять будем из таскера. В меню выбора действий есть соответствующий пункт, зайдя в который мы можем посмотреть список действий, которые нам доступны при работе с виджетом. В качестве примера будем работать с АПИ нашего любимого сайта - ДВ.
В качестве примера рассмотрим работу с апи нашего любимого сайта ДВ. Возьмем проверку статуса пользователя - находится ли юзер на сайте или нет. Работа разделяется на две части: 1.создание виджета 2. Написание функции запроса статуса пользователя с сайта и вывод информации в виджете.
Виджет будет состоять из текста, картинки и одной кнопки. В тексте будем выводить инфу - онлайн юзер или нет, на кнопке будет висеть обращение к задаче таскера (в ней мы будем обрабатывать результаты общения с сайтом) ну и картинка для наглядного отображения. В функции мы будем: вводим, ник пользователя (того чей статус мы хотим проверить), делаем пост запрос (вернет 1 если на сайте и 0 если офлайн). Пишем результат в файл, читаем файл, проверяем, если онлайн - выводим текст "онлайн" зеленым цветом ставим соответствующую картинку. Если офлайн выводим слово "офлайн" красным цветом и соответствующую картинку.
Ход работы:
1.Виджет
Сначала создадим виджет: запускаем zoom , в правом нижнем углу нажимаем на "+". Задаем параметры виджета. Нам интересны первые два пункта это название виджета (я назвал статус) и размер (3 х 1). Далее добавим элементы button , text , image. Расположим элементы как вам по вкусу. Как это сделал я показано на скриншоте.
Нажмем на кнопку и зададим ее параметры. Пока нас интересует только название кнопки - я написал "проверить ". Картинку можно выбрать любую пока что.
2.Задача
Виджет почти готов. Приступим к созданию функции. Общаться с сервером мы будем при помощи Get запросов. В Таскер нам предоставляется такая функция в разделе «сеть». Зайдем в таскер, создадим задачу, назовем ее "статус юзера". Логику работы задачи я описал выше.
1.Ввод значения переменной. Эту функцию можно найти в меню «категории действий» >> «переменные» >> «ввод значения переменной». В ней параметры: название – надпись отображаемая вверху окошка ввода, переменная – в какую переменную мы поместим введенную нами информацию, тип вводимых данных – числа/текст и т.д. , layout – как будет выглядеть окошко ввода( я перенастроил на свой вкус), задержка – через какое время скрывать окно автоматически.(у меня полученные данные хранятся в переменной %user_name
2.,3., установить переменную. Найти такую штуку можно все там же в разделе «переменные». Задаем имя переменной (в моем случае она называется %user_status_api). Поскольку тут нам ничего вводить не нужно а просто поместить в переменную часть апи(все ее содержание кроме ника в конце) то во втором параметре «до», пишем строку: api.dimonvideo.ru/gapi.php?op=6&user= . Затем установим переменную %user_status_api до %user_name с параметром «добавить». Таким образом к части ссылки из апи мы добавляем в самый конец введенный нами ник пользователя.
4. Делаем get запрос, используя апи сайта и записываем результат в файл. Сеть>>get запрос. Параметры: server:port - данные берем из переменной %user_status_api. Остальные параметры можно не трогать, вот только зададим куда записывать результат – output file (у меня test.txt то есть в тестовый файл в корень флэш карты.)
5. Читаем файл в переменную . Нам нужно прочитать что находится в нашем файле test. Для этого в «категории действий» выбираем пункт «файл» >> «read file». Параметры: файл – где находится наш файл. Переменная – в какую переменную запишем результат. (у меня переменная называется %status_user)
6-9. Если результат = 0 пишем офлайн и делаем цвет шрифта красным. Логическая операция «если» находится в «категории действий» >> task. В ней мы сравним переменную %status_user = 0. Под операцией сравнения находится ряд действий которые будут выполняться если переменная равна нулю. Переход к следующему действию если не равно нулю.
10-13. Если результат = 1 пишем онлайн зеленым цветом. Для этой операции нам понадобится логическое «else если». Опать же сравним переменную %status_user , равна ли она 1. Если равна то выполняем ряд действий.
Вернемся к виджету. Настроем параметры кнопки , последний параметр - функция выполняемая при нажатии. Выбираем последний пункт : "tasker task" и нашу созданную функцию. Все готово . Теперь можем расположить наш виджет на рабочем столе и проверить его работу. При нажатии на кнопку появляется окно ввода ника пользователя, после чего статус будет отображен в виджете. Так же можно настроить автоматическое обновление данных в виджете . Напомню что таскер должен быть включенным .
Автор материала: zaterehniy
Дата написания: 4.05.2013
Версия ПО: tasker 1.6u1(лиценция), zoom 1.0.4 (маркет). Так же использовались бесплатные пакеты иконок к такскер- Holo light MD, holo dark md.
Ссылки:
Прикрепленный файл #1:
Прикрепленный файл #2:
elektrik_66,форум по Таскеру .
можно) заходите на
0 ответить