2008年11月 のアーカイブ

FlexSDKで「初めてのAIR」やってみた

FlexSDKで「初めてのAIR」やってみたをはてなブックマークに追加 FlexSDKで「初めてのAIR」やってみたをdel.icio.usに追加 Yahoo!ブックマークに登録 FlexSDKで「初めてのAIR」やってみたをGoogle Bookmarksに追加

2008年11月29日 土曜日
airyaruo.png
airでhelloworldをやってみました。AptanaStudioを使えばたぶん、ポチッと一発でairファイルがつくられるみたいなんだけど、helloworldなのでflex SDKとエディタだけでやってみる。今回扱うコンテンツは静的なHTMLだけで、flexをコンテンツにしてもいいのですがhtmlとスクリプトだけで済むならそうしたいってのもあってそうしました。

用意する資材は
app.xml
yaruoWorld.html
です。やる夫が表示されればよしとします。

ではさっそくFlex SDK を使用した最初の AIR アプリケーションの作成を参考にして作ってみます。
app.xmlは以下のとおり。

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>air.yaruoWorld</id>
<version>0.1</version>
<filename>yaruoWorld</filename>
<initialWindow>
<title>yaruoWorld</title>
<content>yaruoWorld.html</content>
<visible>true</visible>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<width>340</width>
<height>300</height>
</initialWindow>
</application>

adlで確認してみる

adlはflexSDKのbinにあります。

adl app.xml

こんな感じ。簡単。このadlコマンドで画面を確認しながら、app.xmlに書いた内容を修正するといいと思います。画面幅、高さや透過設定などをいじくってみてください。transparent(透過)をtrueにしたい場合はsystemChromeをnoneにしなきゃ駄目らしいです。

AIRインストールファイルを作る

adtもflexSDKのbinにあります。
すべての AIR インストールファイルに電子署名する必要があります。とあるので以下のコマンドで証明書を作ります。(hoge.pfx)

adt –certificate -cn SelfSigned 1024-RSA [<filename>.pfx] [<password>]
adt –certificate -cn SelfSigned 1024-RSA hoge.pfx hoge

証明書ができたら以下のコマンドでairファイルを作ります。

adt -package -storetype pkcs12 -keystore hoge.pfx YaruoWorld.air app.xml yaruoWorld.html

このコマンドを実行するとパスワードを聞かれるので証明書を作ったときのパスワードを与えてあげます。すると、YaruoWorld.airファイルが生成されるのでこれをインストールしてあげれば実行できるようになります。

xpairyaruo.png
Macで作ったairをXPに渡して表示させてみました。ちゃんと動きました!

数学ガールコミック版買ったよ

数学ガールコミック版買ったよをはてなブックマークに追加 数学ガールコミック版買ったよをdel.icio.usに追加 Yahoo!ブックマークに登録 数学ガールコミック版買ったよをGoogle Bookmarksに追加

2008年11月25日 火曜日
DSCF3109.JPG
発売日に横浜のルミネを通ったときに数学ガールコミック版を買ってきました。コミックの棚を探してみたのですが、見つからなかったので店員さんに書籍検索はないか?と聞いたら、「ご自分で調べるか、私の方で承るか」を問われ少し悩んで調べてもらった。「理系男子最強の萌え—」に悩んだ。

「書籍名はえー・・・と、『数学が、在る』でよろしかったでしょうか?」
などと言いやがるのでとりあえず 愛想笑いと苦笑いが入り混じった笑いをクールにしようと思った。
「はは…、いや、数学ガールです。すみません」
こんな風に落ち着いて言いたかったのだが、緊張やら恥ずかしいやらでもう舌が回らず
「フヒヒヒヒ! すいません!」
もろ変態みたいに言ってしまった。
相当恥ずかしかったよ。
その後ロボットみたいな歩き方でどっか行った。

などというコピペはどうでもよろしいのですが、内容の方はと言いますと、丁寧に原作をそのままマンガ化されています。俺は「萌え」という感覚に疎いので期待される読み方(そんなものがあれば)をしていないのかもしれないけれど、マンガだとやっぱり読みやすいです。
ここまで書いて

読みやすい

しか出てこないので、このコピペが貼りたかっただけなんだと改めて思った。(ゲスヤロウ)

crossdomain.xmlでさらにハマる

crossdomain.xmlでさらにハマるをはてなブックマークに追加 crossdomain.xmlでさらにハマるをdel.icio.usに追加 Yahoo!ブックマークに登録 crossdomain.xmlでさらにハマるをGoogle Bookmarksに追加

2008年11月19日 水曜日
昨日のエントリの続きです。結局、クロスドメインはcrossdomain.xmlをおいて解決しようと思ってサーバルートに置いてみましたが、なぜかフラッシュがサービスを呼んでくれない。。もう半泣き。なにこれ。firebugで接続を見るとcrossdomain.xmlは読み込んでいるようなのでパスは間違ってなさそうです。が、コールしない。サーバ側のサービスログにも呼ばれた形跡がない。グーグルで探してみても「置けば動いた」みたいなもんばっかり。

で、すごい煮詰まってたところ、もうひとつの端末から呼んだらスコンと動いた。なんだと。IEか?先輩の端末からも試してもらってみると動くものと動かないものがある。動かない方の端末は、オレのも先輩のもいろいろインストールしたり結構使い倒してる方。あまりいじってないのが動く。で調べてみると、

flushPlayerのバージョンにより、crossdomain.xmlに記述する内容が追加されるので注意が必要

だと言う事がわかりました。
とりあえずcrossdomain.xmlを置いた当初の記述は以下の内容です。

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*" />
</cross-domain-policy>

上記の設定だけで動いた端末のflushPlayerのバージョンは9,0,115,0。
使い倒してる方の端末はバージョンが9,0,124,0以上で、そういう場合はさらに追記が必要だという事みたい。

<allow-http-request-headers-from domain="*" headers="*"/>

多分、冗長な箇所があると思いますが、とりあえず動いたのでよしとします。
via : Flash Player 9およびFlash Player 10ベータのポリシーファイル変更点への対応をみると、どうやら

ドメインを超えたネットワークリクエストにおいて、カスタムのHTTPヘッダが送られるようなSWFファイルを開発したデベロッパー

にあたるらしい。flex builderでwsdlをインポートしたパッケージを使ったからかな?