twitter関連サービス1


ツイッタータイムラインのアイコンが
リールになったスロットマシン

twitter関連サービス2


OpenLaszloで開発された
ツイッター検索表示サービス
【2010/3/12twinavi掲載!!】

事業者情報



植林で地球温暖化防止に貢献中☆

SDK for FeliCaをOpenLaszloで使ってみた

  • 2010年1月23日(土) 00:58 JST
  • 閲覧件数
    642
FeliCaを利用するアプリをAdobe AIR / Adobe Flash上で開発できるツール、

SDK for FeliCa & Adobe® AIR® / Adobe® Flash® Basic

を試してみました。Sonyのサイトからダウンロードできます。



開発ソフトはFlashつながりということでムリヤリですが、

OpenLaszlo

です。(素直にActionscriptそのものを使えばいいのでしょうが、知らないので。。。)

実はOpenLaszloからActionscriptを使えるんですよねー。
しかもFlashのライブラリswcファイルを使うこともできます。

ということでOpenLaszloでも開発できるだろーと。

◆私の開発環境
Windows7
OpenLaszlo4.6.1

◆ダウンロードしたファイル
(1) SDK for FeliCa & Adobe® AIR® / Adobe® Flash® Basic
SDKforFeliCa_Adobe_AIR_Flash_Basic.exe
クリックするとライブラリが出てきます。他にはドキュメントやサンプルなど。
(2) FeliCaポートソフトウェア
FeliCaPortWithDriver.exe
クリックするとFeliCa Proxy Service(ポート10250を使うWindows上のサービス)がインストールされます。

◆ライブラリのOpenLaszloへの配置
OpenLaszloのホームディレクトリのWEB-INFディレクトリの下にflexlibディレクトリを作成し(4.7.0以降は既にあるかも)、そこにSDKforAIR_Flash_Basic.swcをコピーします。

例)  C:\Tomcat6\webapps\openlaszlo-4.6.1\WEB-INF\flexlib\SDKforAIR_Flash_Basic.swc


◆OpenLaszloのコード
OpenLaszlo4.6.1で、コンパイルはswf9モードです。
ボタンを押してFeliCa Proxy Serviceと認証できるかどうかの簡単なテストアプリです。
SDKforFeliCaAdobe_AIR_Flash開発手引書_1.0.pdfでいうと34ページまでの部分を実装しています。

Windows上のサービスとしてのFeliCa Proxy Serviceが、
動作(=ポート10250がリッスン状態)していれば「成功」と表示、
動作してなければ「失敗:7008:ソケット通信でセキュリティエラーが発生しました。」と表示されます。

<canvas proxied="false">
<!--
    OpenLaszlo4.6.1/swf9
-->

    <script when="immediate"><![CDATA[
        class FC {
            #passthrough (toplevel: true) {
                // FeliCaProxyService と認証するために必要なパッケージをインポート
                import com.sony.jp.felica.event.OpenStatusEvent;
                import com.sony.jp.felica.FeliCaControl;
            }#
   
            // FeliCaProxyService と通信を行うFeliCaControl クラスを宣言
            var fc = new FeliCaControl();
   
            function buttonClick(){
                // FeliCaProxyService との認証結果イベントのリスナー登録
                fc.addEventListener(OpenStatusEvent.OPEN_COMPLETE, onOpenComplete);
                fc.addEventListener(OpenStatusEvent.OPEN_FAILURE, onOpenFailure);
               
                // FeliCaProxyService と認証するための FeliCaControl クラスのopen 関数
                fc.open(10250);
            }
   
            function onOpenComplete(evt:OpenStatusEvent){
                result.setAttribute('text',"成功");
            }
            function onOpenFailure(evt:OpenStatusEvent){
                var error = evt.object;
                result.setAttribute('text',"失敗:" + error.errorID + ":" + error.message);
            }
        }
    ]]></script>
   
   
    <attribute name="_FC" type="expression" value="null"/>
    <handler name="oninit">
        this._FC = new FC();
    </handler>
   
    <simplelayout/>
    <button>FeliCaProxyServiceとの認証
        <handler name="onclick">
            result.setAttribute('text',"認証中・・・");
            canvas._FC.buttonClick();
        </handler>
    </button>
    <text id="result"/>

</canvas>
 


追記(2010/1/26):OpenLaszlo4.7.0/swf9でも動作OK