ラベル AIR の投稿を表示しています。 すべての投稿を表示
ラベル AIR の投稿を表示しています。 すべての投稿を表示

2008年10月11日土曜日

AFriendFeed-0.8.1

以前、ActionScript3からFriendFeedAPIに触るというエントリで以下のように書いた。
後は超簡単なGUIにbindすればそれで十分なんだけど…mxmlは全然慣れていないのですw
これは、名指ししてはいない物の相方に対する要望だった訳だが、IWDDのハッカソンの時にAFriendFeedというタイトルで着手して、ちょっとずつ作ってくれていたようで随分形になっていた。といぅか、今の時点の完成度で十分なのでAlertThingyもMySocialもTwhirlも捨てる事にした。
  • Filter機能:Home/Friends/ユーザ単位
  • Filter機能:FriendFeedで扱っているサービス
  • Like機能
  • Comment機能
  • FontSizeの変更
これだけあれば自分にはかなり十分!まだアイコンも無くて、完成ではないけど結構いいですよー。

2008年9月29日月曜日

TimeTrackingツールの紹介

自分はTimeTrackingにSlimTimerを使用しているが、相方がそのサービス用のクライアントを作っている。ASlimTimerというのだが、本日Adobe AIR Galleryに登録されたようだ!おめでとさん!
Gallery内のPermLinkが見つからないから、新着の先頭にある状態のスクリーンショットで紹介。
ちなみに、SlimTimerの機能に対するユーザーの投票数第1位を見てみると…
…このように、オフライン対応が第1位となっている。にもかかわらずSlimTimer側は一向に機能の実装に着手してくれない。だがしかし!ASlimTimerを使えば、ASlimTimer側でオフライン対応してくれるのです!これは便利ですよ!

2008年9月18日木曜日

AS3でのBasic認証

以前書いたActionScript3からFriendFeedAPIに触るというエントリのソースコードではうまくBasic認証が出来ていなかったらしい。正しい方法は相方が見つけてくれたようだ。

2008年8月12日火曜日

ActionScript3からFriendFeedAPIに触る

最近SocialBrowseのアカウントが削除されるという不幸が発生して、LinkのShareFriendFeedに移行した。
だが、専用Clientで自分にあった物が見つからない。AlertThingyは自分のFeedを簡単には見れない(検索条件に"who:shin1ogawa"のように設定すれば可能)上、AIR独特の「特殊なWindowを使用した時の不具合?(WindowをClickすると妙な移動をする)」がイマイチ、twhirlもAlertThingy同様AIRの不具合?と「ひとつのEntryがデカすぎる」というのがイマイチ。MySocialはMac用のWindowを使っているみたいでAIR独特の不具合?は無いんだけど、twhirl同様「ひとつのEntryがデカすぎる(かなりデカイ)」。
自分としてはとにかく以下の機能が最も大事。
  • Friends/MeのFeedが自動更新される。できるだけたくさん見れたら嬉しい。
これだけあれば十分。PostはFirefox+Pluginか、Twitterなら夏ラでやるので必要ない。Commentの追加とLikeをつけられたら嬉しいくらい?なので、よく考えたら作ったら(作ってもらったらw)えーがなー、という事になった。
最近ActionScriptから触ったSlimTimerの時は、たぶんSlimTimer側の問題のせい(とにかく不親切)でAS3のHTTPServiceやURLLoaderが不審な動き(HTTPServiceは異常発生時に不親切すぎ!)をして苦戦したが、FriendFeedのAPIの方はアッサリ動作確認できた。
package service {

import mx.rpc.http.mxml.HTTPService;
import mx.rpc.events.ResultEvent;

public class FriendFeedService {

  public static function executeFeedService(
    nickName:String, remoteKey:String, callback:Function):void {
    var httpService:HTTPService = new HTTPService();
    httpService.showBusyCursor = true;
    httpService.method = "GET";
    httpService.url = "http://friendfeed.com/api/feed/home?format=xml";
    httpService.useProxy = false;
    httpService.setRemoteCredentials(nickName, remoteKey, "utf-8");
    httpService.resultFormat = "e4x";
    httpService.addEventListener(ResultEvent.RESULT, callback, false, 0 , true);
    httpService.send();
  }
}
}
後は超簡単なGUIにbindすればそれで十分なんだけど…mxmlは全然慣れていないのですw

2008年4月7日月曜日

LinuxでAmateras AIR GEARを使ってAIRアプリケーションを作る

まずはLinux用のAIRをインストールする。

  • http://labs.adobe.com/technologies/air/
  • adobeair_linux_a1_033108.binがダウンロードされる。多少ファイル名は変わるかも?
  • そのままでは実行属性がついてなかったので実行属性を付加する。 $ chmod u+x adobeair_linux_a1_033108.bin

次にFlex3SDKをインストールする。

  • http://www.adobe.com/products/air/tools/sdk/
  • こっちは特にインストーラがあるわけではないので、適当なフォルダに展開する。

AIR GEAR pluginのjarを作成する

  • まずはEclipseRCP等、EclipsePluginをbuildできる状態のEclipseを起動する。
  • SVNリポジトリエクスプローラで以下を追加する。
    https://amateras.svn.sourceforge.net/svnroot/amateras
  • 「AmaterasAIR」の中のtrunkの下の「net.sf.amateras.air」をcheckoutする。
  • 「plugin.xml」をPlug-ins Manifest Editorで開き、
  • 「Exporting」ExportWizardを開く。
  • 「Export」ダイアログが表示されるので「Destination」タブの「Directory」で出力先を設定する。
  • 「Finish」をClick。
  • すると出力先で設定したフォルダに「plugins」フォルダが作成され、その中に「net.sf.amateras.air_1.0.0.jar」が作成されているはず。
  • このjarファイルを普段使用しているEclipseの「plugins」にコピーする。

AIR GEARを設定する

  • 先の手順で「net.sf.amateras.air_1.0.0.jar」を配置したEclipseを起動する。
  • まずは「Window」「Preference」を開いて「AIR」カテゴリを開く。
  • 「AIR SDK Path:」にAirをinstallしたフォルダを設定する。
  • 「Flex SDK Path:」にFlex3SDKをinstallしたフォルダを設定する。
  • 「OK」する。

AIRのプロジェクトを作成してみる

  • 「New」「Others」を選択すると、「AIR」というカテゴリがあるのでそれを展開。すると、「AIR Project」がふたつあるので、Flexの方を選択する。
  • 「AIRSample」等Project名を入力して「Finish」。
  • 「AIRSample.mxml」を開くとAIR GEARの「MXML Editor」が起動され、よくあるデザイナっぽいアレが開くはず。
  • 初期状態だと、加算をするだけの単純なSampleが勝手に展開されるよぅだ。まずはこのまま「Run As」から実行してみる!
  • はい、動作しません><
  • 「/opt/AdobeFlex3SDK/bin/adl: 1: Syntax error: "(" unexpected」とか出力されている。
  • 試しにterminalからadlを実行してみると、「cannot execute binary file」とか言われるので、そもそもadlコマンド自体がダメっぽい。
  • だがしかし!fcshコマンドやadtコマンドは生きているっぽいから、swf生成とAIRパッケージングはできるはず。現に、Eclipse上でアプリのデザインを変更するたびぬコンパイルが走ってswfが生成されている。つまり、Eclipseから実行できないものの、AIRアプリのパッケージングはできるはず。

AIRアプリケーションを生成する

  • terminalで以下を実行してオレオレ証明書を作成する。これが無いとAIRアプリを作成できないらすぃ。
  • $ $Flex3SDK_HOME/bin/adt -certificate -cn SelfSigned 1024-RSA shin1.pfx password 「shin1.pfx」と「password」は適宜変更する事。
  • もぅ一度Eclipseに戻って、Package Explorerで右Clickし「Export」を選択。
  • 「AIR」カテゴリから「AIR Package」を選択して「Next」。
  • 「KeyStore」に先ほど作ったオレオレ証明書のファイル名を入力、「StorePass」にそのパスワードを入力し、「Finish」。
  • 成功すると、「AIRSample.air」が生成されているのを確認できる。

生成したAIRアプリをインストール

  • これをダブルクリックすると、AIRのインストーラが起動される。

    つまり通常のAIRアプリと同じようにそのままインストールできる。
  • インストーラの指示にしたがってインストールしてみると、ちゃんと動いた!!!
  • ちなみに、2回目以降のExportの時はAIRインストーラが「Replace」してくれる。

Adobeさんへ

なぜLinuxでFlex2SDKのadlコマンドが動作しないのでしょうか。Linuxユーザを軽く見過ぎじゃないでしょうか。
つーわけで、せっかくAIR GEARでアプリを開発しようとしてもEclipseから即座に動作確認ができないため超不便です。ちなみに、MacとWindowsなら問題なくEclipseから実行できます。ただし!AIR GEARのActionScriptの編集機能はまだまだなので、GuiDesignerとして使うカンジで。