2007年9月アーカイブ
以前書いた社内アプリを仕事の息抜きに着々とバージョンアップする。
バージョンアップの度にいちいちairファイルを落としてもらって、インストールしてもらうのが皆さんに申し訳なかったので、アプリ自体が勝手にアップデート作業をするようにした。ていうかこれ最初に実装すべき機能だろ...。仕組みは、サーバ上に最新バージョンを書いた設定ファイルを置いて、起動時にそれを読み、自身のバージョンより新しければairファイルをダウンロードし、勝手にインストールして再起動。AIRのUpdaterという機能で、とても便利。
このGoogle Analytics AIRというのを使ってたら、毎日勝手にバージョンアップが来るからどうやってんのと思って調べてみたら割と簡単に出来た(ちなみにこのソフトの完成度が凄い)。
ソースは以下。softwareUpdate();を実行すれば、ダウンロード開始→再起動まで勝手にやってくれる。
function softwareUpdate(){
//.airファイルのURLを設定
var airUrl:String = "http://hogehoge.com/hogehoge.air";
var urlReq:URLRequest = new URLRequest(airUrl);
var urlStream:URLStream = new URLStream();
var fileData:ByteArray = new ByteArray();
urlStream.addEventListener(Event.COMPLETE, loadComplete);
//ファイルダウンロード開始
urlStream.load(urlReq);
//データ取得完了
function loadComplete(e:Event):void{
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
makeAirFile();
}
//ダウンロードしたデータを元に、デスクトップに.airファイルを生成
function makeAirFile():void{
//デスクトップに"hogehoge.air"を作る
var file:File = File.desktopDirectory.resolvePath("hogehoge.air");
var fileStream:FileStream = new FileStream();
fileStream.addEventListener(Event.CLOSE, makeComplete);
fileStream.openAsync(file, FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
}
//デスクトップにhogehoge.airファイル完成後。アップデート開始
function makeComplete(e:Event):void{
var updater:Updater=new Updater();
var tgtFile:File = File.desktopDirectory.resolvePath("hogehoge.air");
updater.update(tgtFile,"1.0");
}
}
先日iPod touchをポチったのはここにも書きました。
そして、発表から数時間のうちにAppleストアでポチった人にはもう既に届いております。自分はと言うと、ポチるのを15時間ほど躊躇ってしまったため、未だAppleストアのステータスは「未出荷」...
どうせ買うのは心のどこかで分かってたんだから悩まなければよかった。win問題のせいで、もはやiTunesもしくはtouchのアップデートが来るまで出荷されない悪寒がしています。Apple曰く週末にはアップデートを出すと言っていますが、果たしてどうなる事やら。
自分は、とことん買い物運が無いなぁと痛感した次第であります。
仕事でトゥイーンがトラウマになりそうです。
AS3でXML取得の時にミスった事
namespaceの事を忘れてて、XML自体は読めてるのに正常に値が取り出せなくて20分ハマった...orz
var myXML:XML = new XML(myLoader.data);
if (myXML.namespace("") != undefined){
default xml namespace = myXML.namespace("");
}2-4行目入れるだけでOKだったという。前にflickrのrssを拾った時は気にしなかったと思うんだけど、del.icio.usでひっかかりました。そもそも名前空間をよく分かってなかったという...。
母校多摩美の情報芸術4年生は、夏明けの審査会の設営が始まったようで、何度も書くけど1年早いなーと昔を懐かしんだ。"設営1日目"みたいなタイトルの日記俺も書いたなー と思った。あのころは就職も決まってなくて、11月に近づいた芸術祭の事と卒制の事しか考えてなかったなー。あの頃はまだ自分が社会人になる実感はゼロだった気がする。で今社会人になって5ヶ月くらいか。早いような遅いような。で結論出しづらい考え事が出来てしまい落ち着かない。どうしたもんかなぁ
で このハロ一体何?正気か...正気なのか...
リーダーのささいな一言をきっかけに、社内で情報共有できるスティッキーズ的なアプリをAIRで作ってみた。上の画像クリックで別画像。
見たいメモをクリックでそのタブが展開、Editで編集モード。ポストするとサーバ上のテキストファイルに反映される。<a>のリンクタグや<img>も使えて画像を貼付けたりテキストカラー変更やboldも可能。
仕組みとしては、タブを開くたびに対象メモのテキストファイルをphpからゲット。ポストも同じくphpにテキスト送信してサーバ上に保存。なので他の人も更新された情報がすぐ反映できる。メモのタイトルリストと各メモのphpにアクセスするIDは起動時にサーバからxmlで取得。なのでそのxmlを編集すれば、メモを増やすのも楽々。
長所と短所は他人のメモでも編集できること。最初は、起動時にユーザ選択するようにしようかと思ったけどメンドいから却下。phpはL氏に作っていただきました。ありがたい。てか自分2,3日取り付かれたようにこの作業やってて他の事全然しないという...。仕事しろ...。
しかしこれは便利です。ローカルでのファイルの読み書きも楽なので、ウィンドウの縦の長さとか位置とかを保存して次回起動時に読み込む仕様も勢いだけでサクっとできた。Flashでxml扱う時にやっかいなcrossdomain.xmlも完全に無視でどんどんネットからrss拾ってこれるのでやりたい放題。次バージョンではdel.icio.usと連携で社用ブックマークviewerも兼ねる予定。 これだけの事を、cocoaとかでやろうとすると今の自分の技術力では一体いつ実現するのか遠くを見つめるばかりだが、as3が書けてAIR用に追加された機能調べるだけでこれだけ出来るというお手軽感は大きい。
余談だけど、ウィンドウサイズを保存する機能に関しては当初実装するつもりは無く、各環境での画面解像度を取得して自動的に調整する仕様にしたかったのだけど、画面解像度を取得する方法が分からなくて仕方なくこうなってしまった。ていうか出来るのだろうか?調査不足かな、、。
1日悩んだ末、iPod touch 16GBをポチっと予約してしいました。
外でのネット端末が前から欲しくて、Nokia N800とかいじりがいあって面白そうだし海外から取り寄せてしまおうかなとか思ってた所にこんなのが来てしまったため、買う事は心のどこかで決定しつつ悩んでました。
というのも、SafariがiPhoneと同じものだとすると、Flashが使えないので色々と... YouTubeは専用アプリが入ってるから見れるけど、ニコニコとかね...そこまでして見たいかって言われたらそうでもないけど。頼むからFlash解禁してほしい。もしくは勝手アプリ動作ハック→誰かがニコニコプレイヤー制作の流れでもいいけどやはりブラウザ上で簡潔したい...。てか結局YouTube見れるのも、H.264でエンコードし直されたiPhone/iPod touch用に用意された奴しか見れないわけで、それがどれくらいの量なのかがまったく分からないのが不安。日本から上がってる著作権完全無視系とかは生き残ってるのかな?Flashさえ解禁されれば全て解決するのに...。あと気になるのはやっぱり容量ね。動画はあんまり入れられないかなーと。動画+音楽の容量勝負で言ったら完全にclassicだけど。80GBでも3万って。どうなっとんねん。160GBで音楽+動画ぶっ込みまくるのもアリですよなー。しかも、自分は何かと初期物に飛びつくと良い事が無いのでそれも不安要素だったりする(Core Duo MacBook Proとか)
けどもう吹っ切れた。しばらく大きい買い物してなかったし!早くこないかなー。もう初期不良とかあっても驚かないお!
キター!しばらくP3D触ってなかったけどこれは再燃しなければならない... 表現の幅がグッと広がりますね。やっぱりラインは必要でしょう。問題は速度がどれくらい出るか...
