#pogoplug accessでどうやって各種アプリに対応しているのか

#pogoplug accessでgood readerやcomic glass等にダウンロードを委譲することができるようになっていますが、どうやってやっているのかを説明すると、iPhoneで実装されているurl schemeの機能を利用しているだけです。

各アプリが登録したurl schemeをurlの先頭につけてあげるだけで他のアプリに転送できるようになります。
例えば、goodr eaderなら

ghttp://url

とすれば、良いし、comic glassなら

cghttp://url

とすればオッケーです。

i文庫HDやi文庫Sなら

ibhttp://url

でいけるし、

ServersManなら

serversman://url

でいけます。

とはいえ、urlを渡した先でうまく処理してもらえるかどうかは別の話なのですが。
このように、url schemeを利用することで、比較的簡単に他のアプリと連携できるようになります。

FacebookTwitterHatenaTumblr共有

#pogoplug accessをi文庫Sに対応した・・・けれど。

#pogoplug accessをi文庫Sに対応した。
とはいえ、i文庫HDとurlスキームが同じだったので、キャプションを増やしただけ。
あと、urlの後ろにtitle=filenameという文字列を増やして、ファイル名がi文庫系で出るようにしてみた。

テストでは、i文庫Sにurlが転送されたのですが、どうもURLが長いらしくi文庫Sでうまくダウンロード出来ませんでした。

#pogoplug access for smartphoneのurl連携にi文庫HDを追加した

というわけで、#pogoplug access for smartphoneをGoodReaderとComitGlassに対応してみた。

そして、対応するサービスが増えたときのために、ファイル名をクリックしたときに、別ページに遷移してサービスを選択できるようにした。

引用元: NAL-6295の舌先三寸 » Blog Archive » #pogoplug access for smartphoneをGoodReaderとComicGlassに対応してみた.

というわけで、さらにi文庫HDに対応してみた。

暫定的に #pogoplug にクライアントサイドだけでアクセスするwebアプリの公開

先日までサンプル扱いにしていたWebアプリケーションが一応かたちになったので、暫定的にPOGOPLUG ACCESSという名前で公開します。
このアプリをつかってiPhoneのmobile safari等からpogoplugのAPIを利用して、自分のpogoplugにアクセスしダウンロード及びストリーミングができるようになっています。ダウンロードした後はmobile safariなのでgood reader等外部のアプリにデータを渡す事が可能です。
(自分が欲しくて作りました。)

http://nal-6295.biz/ipogo/

からアクセスして利用できるようになっています。
サンプルではデバイスとサービスの設定が常に表示されていたのですが、今回から表示時は折り畳むようにして、できるだけリストをたくさん表示するようにしました。

もちろん、クライアントサイドだけで動作するように作成していますので、このアプリを公開しているサーバとやり取りするのは、htmlファイルやjavascriptファイルをダウンロードする時だけで、データのやり取りはしていませんので、安心してください。

このアプリケーションがアクセスするのは

・pogoplugのapiサーバ

のみです。

追記:名前をストレートなものに戻す

ページに要素を追加したあとにjquery mobileのスタイルを適用するには

先日から作っているpogoplugにアクセスするサンプルアプリケーションでjquery mobileを利用しスマートフォンに特化した見た目にしているのですが、どうもselectタグを後から適用すると、スタイルが適用されず、selectタグだけ素の状態で表示されていました。
その後、selectタグも先に用意してoptionリストだけ後から追加してみたのですが、そうすると今度はスタイルが適用されたselectをクリックしても選択肢が空の状態で表示されてしまい、使えないものとなっていました。
そこで、jquery mobileのサイトや実装を見たところ、

    
       //ここまでさんざん操作して、要素を追加した

      $(document).page();
  

とpage()メソッドを呼ぶだけで良いのではないかと推測し、実際に入れて確認したところ、うまくスタイルを反映してくれるようになりました。

localStorageを利用してオフラインWebアプリでデータのやり取りをする

この前から作っているクライアントサイドスクリプトだけでpogoplugにアクセスするサンプルをindex.htmlとcontent.htmlに分割したので、ログイン時に取得するvaltokenのやり取りをどうしようか考えて、最初はcookieでやっていたんだけど、折角だからlocalStorageを使うようにした。
利用方法は簡単で、

任意のKeyNameにValueStringを設定するときは

    localStorage.KeyName = ValueString;

任意のKeyNameから保存してあるデータを取得するときは、

   var value =  localStorage.KeyName;

とすれば良いです。
ちなみに、文字列のデータしかやり取りできませんので、連想配列なんかは、jsonのデータなりなんなり文字列に変換して保存するようにしましょう。

クライアントサイドスクリプトでpogoplugのapiを利用するサンプルその2 #pogoplug

先ほどポストしたサンプルは、ファイルもディレクトリも一緒くたに表示していたので、ディレクトリをクリックすると中身ゼロのzipファイルがダウンロードされる状況でした。

気軽にサンプル提示できると良いと思っていたので、クライアントサイドスクリプトのみでpogoplugのapiを利用するサンプルを作成してみた。

実際にはhtmlとjqueryを利用して実装している。

引用元: クライアントサイドスクリプトでpogoplugのapiを利用するサンプル #pogoplug at NAL-6295の舌先三寸.

今回のサンプルでは、ファイルとディレクトリを区別し、ディレクトリの場合はそのディレクトリに移動できるようにしました。
また、親ディレクトリにも戻れるようにしました。

ディレクトリのアップダウンにも対応したサンプル

クライアントサイドスクリプトでpogoplugのapiを利用するサンプル #pogoplug

気軽にサンプル提示できると良いと思っていたので、クライアントサイドスクリプトのみでpogoplugのapiを利用するサンプルを作成してみた。
実際にはhtmlとjqueryを利用して実装している。
jqueryのgetメソッドに対するエラー処理は記述しておらず、本当に簡単なサンプルで、

ログインして、
デバイスリスト取得して、
サービスリスト取得して、
ルートにあるファイルへのリンクを表示して、
ダウンロードできる。

というだけのものだ、
次のリンクを表示することで、確認することが可能だ。
サンプルを表示
また、1ページのhtmlの中にjqueryを利用した実装も全て記述してあるので、リンク先をダウンロードしてブラウザで表示すれば簡単に確認できると思うし、テキストエディタで何をやっているかを見ることができると思う。
[amazon asin=”B0048KR1KU” /]