【Android】TaskerとZooper Widgetを使って様々な可能性を考える

head_memo

こんにちは、えんぞーです。

今回は今までも紹介してきました「Tasker」と「Zooper Widgit」を連携させたサンプルを作ってみたいと思います。

そもそもTaskerとZooperがどのように連携するのかというと、Zooper用の変数をTasker側で作成出来る!

簡単に言うと「Tasker側で色々やった文字列をZooper側で表示できる」という事になります。
ちょっと確認してないので分からないのですが、PRO版のみの機能かも知れません。
もし無料版の人で、そんな項目無いのだけど?って方いましたら・・・・ごめんなさい。

今回作るサンプル

今回サンプルとして作った物はこれです↓

Screenshot_2013-09-11-13-29-04

単純な和暦の表示なんですが、和暦を算出するのはWEB上のPHPにします。

「平」「成」「25」「年」とそれぞれ変数に入れて自由にレイアウトしてみようという事になります。

あくまでサンプルなので実用性はあまりないですが、後は応用次第でなんとでも出来るよねっていう事で・・・^^

日本語フォントを好きな物にしたい

まずZooperの方で表示する日本語フォントを追加しようと思います。

別にこれは特別なことをするわけではないのですが、「sdcard/ZooperWidget/Fonts」の中に好きなフォントを入れるだけです。

screenshot_02

AirDroidを使えば簡単にファイルをコピーする事が出来るのでおすすめです。

AirDroid
SAND STUDIO
価格:無料  平均評価:4.7(137,248 件)

和暦を表示するだけのスクリプトを作成

こんな感じのPHPを作ってサーバーにアップしておきます。

出力部分がカンマで区切られているのはそこで一つずつ区切って変数に入れ込むためです。

この部分についてはまた後で説明します。

Tasker側でTASKを作る

実際に値を取ってきてZooperの変数に入れ込む作業のタスクをTasker側で作成します。

Screenshot_2013-09-11-14-19-11

この様なTASKになります。

では、順番に見ていきます。

1:HTTP POST

ここでサーバー上のPHPにアクセスしています。

今回の場合、Server:Portに「enz0.net」を使いました。

Pathはスクリプトファイルの場所です。例を出すと「tasker/wareki.php」。
この値でそのまま動くので試して見たい方はそのまま同じように入れて下さい。
※いつ消すか分からないのでそこだけはご了承下さい。

Data/Fileは空。本当はPOSTするデータをここに入れたりするのですが今回は出力結果を受け取りたいだけなので空に。

Conten Typeは「text/xml」や「text/plain」にして下さい。「」はいらないです^^
※逆にPOSTするデータがある場合はこれだと駄目なので空にして下さい。この場合は返り値がとれない(?)

他の項目はそのままで大丈夫です。

この状態で実行した場合、PHP側で出力された文字列が「%HTTPD」という変数に入ります。

実際に動かしているスクリプトはこちら

2:Variable Split

ここで先ほど取ってきた変数の中身をカンマで区切ります。

なので、Name欄には「%HTTPD」をSplitter欄には「,」を入れます。

例を出して解説しますと、

%HTTPD=「平,成,25,年,9月11日,水曜日」
↓これをカンマ区切りで区切る
%HTTPD1=平
%HTTPD2=成
%HTTPD3=25
%HTTPD4=年
%HTTPD5=9月11日
%HTTPD6=水曜日

このようになるわけですね。
ちなみに、今回はHTTPD1~4までしか使わないですけども。

3~6:Zooperの変数にセットする

後は出来た変数をZooperで使用出来る様にするだけです。

Screenshot_2013-09-11-14-41-20
TASKの追加画面からPluginを選択。

Screenshot_2013-09-11-14-41-27
Pluginの中の「Zooper Widget Pro…」を選択します。

Screenshot_2013-09-11-14-41-41
ConfigurationのEditをタップ。

Screenshot_2013-09-11-14-42-23
ここで変数名と入れ込む変数を選択。
今回の場合は画像の様にしています。
Zooperで使用する場合の変数名はこの場合、#Twareki1#となります。

この作業を変数分行います。

Zooperに変数を入れ込んでみる

Zooperでの使用方法は簡単で、変数を指定してあげるだけ。

Screenshot_2013-09-11-14-59-39

「高度なテキスト編集」で先ほど作った変数を入れ込んであげれば出来上がりです。

後はそれぞれのテキストを整形してしませば完成です。

Screenshot_2013-09-11-15-07-04

Taskerで作ったTASKの更新はTASKERのPROFILESで設定しておけばOKです。

今回の場合は・・・・年の初めに実行されるように仕込んでおく・・・とか。

まとめ

ここまでやっておいて言うのもなんですが、もう少し実用性のあるものにすれば良かったと反省。

ただ、このようにしてTasker側の値を持ってこれるという事が分かれば色々と応用出来るかと思います。

今回のサンプルはPHPじゃなくてJavascriptでも良かったのですが単純にHTTPを絡めたかっただけです。

今疑問なのが、POSTの値があった場合はContentTypeを「x-www-form-urlencoded」でPOSTするのですが、この場合%HTTPDに返り値が入らないです。

POSTしてPHPが走るのは良いのですが、その出力テキストが欲しい場合とかどうするのでしょうね・・・。

やりかた分かったら載せますねヽ(´ー`)ノ

Tasker
Crafty Apps EU
価格:¥399  平均評価:4.6(14,510 件)

Zooper Widget
Zooper Inc
価格:無料  平均評価:4.6(2,350 件)

Zooper Widget Pro
Zooper Inc
価格:¥199  平均評価:4.8(2,428 件)

コメント

  1. クララちゃん より:

    出来ればtaskerで天気を取得からzooperに投げる作業をまとめて欲しいです!

    • えんぞー より:

      >クララちゃんさん
      要望コメントありがとうございます^^

      TASKERから天気を取得というとAPI使って取得した情報をって感じになりそうですね。
      この場合の利点としては好きな天気API使える・・とかになるのかな。

      ちなみにZooperの標準機能で表示する天気では駄目って事だと思うのですが、
      具体的にここが駄目だからTASKERから天気を持って来たいってあります?
      Zooper標準の天気表示機能でいうと、
      ・天気予報の場所は登録したパーツ毎に設定出来るので複数カ所の天気にも対応可能
      ・今の天気から7日後の天気までを取得可能
      なので割と柔軟に対応出来るかなと思います。
      天気予報自体の信憑性が怪しいとか表示したい場所のデータが呼び出せないとか色々と考えられる部分はありますけども(笑´∀`)