こんにちは、えんぞーです。
今回は今までも紹介してきました「Tasker」と「Zooper Widgit」を連携させたサンプルを作ってみたいと思います。
そもそもTaskerとZooperがどのように連携するのかというと、Zooper用の変数をTasker側で作成出来る!
簡単に言うと「Tasker側で色々やった文字列をZooper側で表示できる」という事になります。
ちょっと確認してないので分からないのですが、PRO版のみの機能かも知れません。
もし無料版の人で、そんな項目無いのだけど?って方いましたら・・・・ごめんなさい。
今回作るサンプル
今回サンプルとして作った物はこれです↓
単純な和暦の表示なんですが、和暦を算出するのはWEB上のPHPにします。
「平」「成」「25」「年」とそれぞれ変数に入れて自由にレイアウトしてみようという事になります。
あくまでサンプルなので実用性はあまりないですが、後は応用次第でなんとでも出来るよねっていう事で・・・^^
日本語フォントを好きな物にしたい
まずZooperの方で表示する日本語フォントを追加しようと思います。
別にこれは特別なことをするわけではないのですが、「sdcard/ZooperWidget/Fonts」の中に好きなフォントを入れるだけです。
AirDroidを使えば簡単にファイルをコピーする事が出来るのでおすすめです。
和暦を表示するだけのスクリプトを作成
<?php setlocale(LC_TIME, "ja_JP.utf8", "Japanese_Japan.932"); print strftime('平,成,%Ey,年,%B%#d日,%A'); ?>
こんな感じのPHPを作ってサーバーにアップしておきます。
出力部分がカンマで区切られているのはそこで一つずつ区切って変数に入れ込むためです。
この部分についてはまた後で説明します。
Tasker側でTASKを作る
実際に値を取ってきてZooperの変数に入れ込む作業のタスクをTasker側で作成します。
この様な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で使用出来る様にするだけです。
TASKの追加画面からPluginを選択。
Pluginの中の「Zooper Widget Pro...」を選択します。
ConfigurationのEditをタップ。
ここで変数名と入れ込む変数を選択。
今回の場合は画像の様にしています。
Zooperで使用する場合の変数名はこの場合、#Twareki1#となります。
この作業を変数分行います。
Zooperに変数を入れ込んでみる
Zooperでの使用方法は簡単で、変数を指定してあげるだけ。
「高度なテキスト編集」で先ほど作った変数を入れ込んであげれば出来上がりです。
後はそれぞれのテキストを整形してしませば完成です。
Taskerで作ったTASKの更新はTASKERのPROFILESで設定しておけばOKです。
今回の場合は・・・・年の初めに実行されるように仕込んでおく・・・とか。
まとめ
ここまでやっておいて言うのもなんですが、もう少し実用性のあるものにすれば良かったと反省。
ただ、このようにしてTasker側の値を持ってこれるという事が分かれば色々と応用出来るかと思います。
今回のサンプルはPHPじゃなくてJavascriptでも良かったのですが単純にHTTPを絡めたかっただけです。
今疑問なのが、POSTの値があった場合はContentTypeを「x-www-form-urlencoded」でPOSTするのですが、この場合%HTTPDに返り値が入らないです。
POSTしてPHPが走るのは良いのですが、その出力テキストが欲しい場合とかどうするのでしょうね・・・。
やりかた分かったら載せますねヽ(´ー`)ノ
Zooper Inc
価格:無料 平均評価:4.6(2,350 件)
Zooper Inc
価格:¥199 平均評価:4.8(2,428 件)