« Adobe Max 2007 11/2 (1) | メイン | Adobe Max 2007 11/2 (3) »

2007年11月03日

●Adobe Max 2007 11/2 (2)

■SQLiteを使ったAIRのオフライン運用術 (関崇匡氏)

SQLiteの使用方法もさることながら、ByteArrayでSQL突っ込んじゃうASの型を保護しちゃうのとか、ようやくaddEventListenerの第5引数のtrueの意味が分かったとか、ネットワークのコネクションをチェックできるとか、今後AIR制作には効きそうなものがちりばめられてて素敵でした。

以下レジュメ。

・関さん

 - System Enterprise for java
  - まるでFlash内からJavaを叩くように開発できる?
 - HaRu framework
  - http://www.takanafu.com/
  - AOPフレームワーク
  
・AIR SQLiteについて

 - http://www.qplite.org/
 - DBMS
 - SQL92に準拠
 - オープンソースパブリックドメイン
 - サーバーでなくライブラリで動作
 - データ型依存がない
 - 単一ファイルで保存
 - テラバイトまでサポート→ただし重くなるよ

・AIRがデスクトップアプリより優位な理由

 - ローカルにアクセスできる
 - デスクトップアプリとも連携できる
 - キーボード・ファンクションを使える
  - ActieXとかを使わなくてもイベント取れる
 - OSネイティブなドラックアンドドロップをサポート
  - デスクトップアプリの多くは同じサービス間のドラッグアンドドロップ
 - ローカルデータベースにアクセスできる
  - これがSQLite
 - サーバーが不要=オフラインアプリが出来る

・デモいろいろ

 - Flex3 bata2で制作してた。
 
 - DEMO1
  - Fileクラスで.dbを読み
  - SQLConnectionを使って使えるようにする
  - SQLStatementで色々と命令を出す
  - new SQLConnection(true);
   - begin→commit→rollbacな手順。
   - トランザクション処理も出来る。
   - for構文で回す20の処理は実質、10の処理に短縮。
   - :data[n]→prepare the statement
  - save.parameter["data1"] = obj["col1"];
   
 - DEMO2
  - カスタムデータクラス
   - アクセサ=約束事
  - アイテムクラス
   - save.itemClass = testDataClass;
   - SQL内の値とAS内の値の橋渡しをしてくれる
    - そうじゃないと、全部Object型で帰ってくる
    - Array型・String型とかでやり取りしたければ是非
 - DEMO3
  - ArrayCollectionをそのまま突っ込む
  - ByteArray化してDBに突っ込んで、取り出すときにreadObjectで再現
   - 型が崩れない
   - イメージとかも入れられちゃう
 
 - DEMO4,DEMO5
  - 駆け足でついていけず。
  - FDS(Flash Data Service)が進化したものがLiveCycleDataService
  - LCDS(LiveCycle Data Service)
  - AIRにおける通信チェック
   - サービスモニタリング
   - HTTPコネクション
   - Socketコネクション
  - SQLアセンブラ
  - AsyncToken

・参考リンク
 - addEventListenerの第5引数を弱参照がイイ。
  - ガベコレにいい。使われてないと消す。
  - http://hakuhin.hp.infoseek.co.jp/main/as3/event.html#EVENT_01
 - SQL support in local databases
  - http://livedocs.adobe.com/labs/flex/3/langref/localDatabaseSQLSupport.html
 - Prepared Statementの威力 - NPO法人 日本PostgreSQLユーザ会
  - http://www.postgresql.jp/blog/88
 - アクセサという仕組み - phpspot
  - http://phpspot.net/php/pg%83A%83N%83Z%83T%82%C6%82%A2%82%A4%8Ed%91g%82%DD.html
 - [Jet 4.0] SQLでバイナリデータの登録を行う方法-Orator's IO
  - http://yaplog.jp/orator/archive/36
 - PL/SQLでBLOBデータを自由自在に入出力(1/3) - @IT
  - BLOG「ビーログ」についての補足
  - http://www.atmarkit.co.jp/fdb/rensai/sqlclinic07/sqlclinic07_1.html
 - Best practices for working with local SQL databases
  - http://livedocs.adobe.com/labs/air/1/devappshtml/help.html?content=SQL_33.html
 - Developing AIR Applications with HTML and Ajax
  - http://livedocs.adobe.com/labs/air/1/devappshtml/help.html?content=network_connectivity_1.html

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)