2008/12/12

flinks - ディープリンクライブラリ

Flexで簡単にディープリンクを実現できるflinksというライブラリが公開された。
今のところバージョンは0.1である。
http://code.google.com/p/flinks/

Google Codeで公開されていたのでソースを眺めてみると。
DeepLinking.as, EnableDeepLinking.asの2クラスだけで構成されていた。
どうやらBrowserManagerによる面倒な処理を包み隠してくれているようだ。

試しにサンプルを作って動かしてみたよ。
http://f.air-life.net/samples/flex/flinksTest/

使い方としてはApplicationのmxml内にEnableDeepLinkingを定義してディープリンク機能を初期化し、ディープリンクを適用するState毎にDeepLinkingを定義する。
<riaspace:EnableDeepLinking defaultState="" defaultTitle="でふぉると" autoDeepLinkStates="true"/>

全体のコードはこんな感じ。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
xmlns:riaspace="net.riaspace.deepLinking.*"
backgroundGradientColors="[#6CFF00, #6CFF00]" viewSourceURL="srcview/index.html">
<riaspace:EnableDeepLinking defaultState="" defaultTitle="でふぉると" autoDeepLinkStates="true"/>
<mx:states>
<mx:State name="state1">
<riaspace:DeepLinking title="title1"/>
<mx:SetProperty target="{kanban}" name="text" value="state1だよ"/>
</mx:State>

<mx:State name="state2">
<riaspace:DeepLinking title="title2"/>
<mx:SetProperty target="{kanban}" name="text" value="state2だよ"/>
</mx:State>

<mx:State name="stateX">
<riaspace:DeepLinking exclude="true"/>
</mx:State>
</mx:states>
<mx:Label id="kanban" text="でふぉ" verticalCenter="0" horizontalCenter="0" fontSize="36"/>
<mx:ApplicationControlBar horizontalCenter="0" top="0" width="100%" dock="true" fillColors="[#34B700, #34B700]" fillAlphas="[1.0, 1.0]">
<mx:Button label="State1" click="currentState='state1'"/>
<mx:Button label="State2" click="currentState='state2'"/>
<mx:Button label="対象外" click="currentState='stateX'"/>
</mx:ApplicationControlBar>
</mx:Application>

0 件のコメント: