
Apollo改めAIRプログラミング入門(2)
AIRとSQLiteで学ぶ ローカルDB操作の基本
クラスメソッド
杉浦篤史
2007/8/17
編集部注:前回より、連載「Apolloプログラミング入門」は本連載「Apollo改めAIRプログラミング入門」にリニューアルしました。この連載をより深く理解するためには、連載「Apolloプログラミング入門」も併せてご覧ください。
いまさら聞けない、SQLiteとは?
- - PR -
前回はAIR(Adobe Integrated Runtime)ベータ版の新機能として、ドラッグ&ドロップに注目して2つのサンプルを作成しました。
今回はAIRベータ版から利用できるようになったローカルDBとの連携についてです。AIRには、DBエンジンとしてSQLiteが実装され、ActionScriptからSQLite形式のDBファイルを扱えるようになりました。
SQLiteはMySQLやPostgreSQLといったDBと同じRDBMS(リレーショナルデータベースマネジメントシステム)でSQL92の機能の多くを実装しており、SQLでDB操作を行います。
SQLiteの特徴としては、MySQLやPostgreSQLとは異なりサーバを用意する必要がなく、1つのDBに対して1ファイルという非常に簡単な構成になっており、扱いが容易で手軽に使い始めることができるという点にあります。
■Google Gearsとも連携 ?
また、Webをオフラインで見るためのアプリケーションであるGoogle GearsでもSQLiteが採用されており、AdobeとGoogleではAPIなどの整合をとる予定もあるようです。
AIRからローカルDBを使ってみよう
今回は、画面1のようにローカルDBにユーザー情報を記録する簡単なアプリを作成して、DBの作成とINSERT/SELECT/UPDATE/DELETEといった基本的なDB操作が行えるようにします。なお、今回のサンプルのソースコードは記事の最後でダウンロードできます。
![]() |
| 画面1 ユーザー情報をローカルDBに保存するアプリ |
AIRでDBを操作するには、ActionScriptのflash.dataパッケージ以下のクラスを使用します。
| 表1 AIRでDBを操作するためのクラス | ||||||||
|
クラスの詳細はリファレンス「ActionScript 3.0 Language and Components Reference」を、また、ActionScriptでのSQL仕様については、「SQL support in local databases」を参照してください。
SQLiteのDBを作成して接続
まず、下記のようにSQLConnectionクラスを使用して、DBに接続します。
var file:File = File.documentsDirectory.resolve("user.db"); |
このようにすることで、DBを開くことができます。1行1行見ていきましょう。
var file:File = File.documentsDirectory.resolve("user.db"); |
ここでDBファイルを指定するのですが、この例ではWindowsの場合マイドキュメント下にあるuser.dbを指定しています。通常、DBを作成する先としては、File.applicationStorageDirectoryなどが適当でしょう。
connection.addEventListener(SQLEvent.OPEN, connectionOpenHandler); |
イベントを登録しておいて、接続に成功したら次の処理を行います。接続に成功すれば、SQLEvent.OPENイベントが送出され、失敗した場合はSQLErrorEvent.ERRORイベントが送出されます。
connection.open(file); |
SQLConnectionのopen()メソッドで指定したDBを開き接続します。ここで指定した先にDBファイルがない場合は、その場所に指定したファイル名で新たにDBファイルが作成されます。
| 1-2-3 |
| INDEX | ||
| Apollo改めAIRプログラミング入門(2) | ||
| Page1 いまさら聞けない、SQLiteとは? AIRからローカルDBを使ってみよう SQLiteのDBを作成して接続 |
||
| Page2 「CREATE」文でテーブル作成 「INSERT」文でテーブルにデータを挿入 「SELECT」文でテーブルの参照・閲覧 |
||
| Page3 「UPDATE」文でデータを更新 「DELETE」文でデータの削除 AIRでのローカルDBの利用はとっても手軽で簡単! |
||
Apollo改めAIRプログラミング入門 バックナンバー
- 第1回 AIRアプリはドラッグ&ドロップでこんなことまで!
- 第2回 AIRとSQLiteで学ぶ ローカルDB操作の基本
- 第3回 AIRアプリのウィンドウは自由自在で縦横無尽!
- 第4回 AIRの新機能、電子署名とシステムトレイの利用方法
- 最終回 AIRウィジェットでFlash動画プレイヤーを作るには?
ホワイトペーパー(TechTargetジャパン)
- いまさら聞けないTwitter超入門−@IT記事も対応なう (2010/2/4)
Twitterは最近話題のつぶやきツール。基本的な使い方から、iPhoneアプリの使い方、RTの解説、4人のご意見番の活用例や感想まで - HTML5は開発者側の都合。ユーザーには関係ない (2010/2/2)
3つのレンダリングエンジンを載せている“国産”ブラウザベンダは、HTML5やWeb/ブラウザの進化について何を語るのか - テキスト・フォント周りをキレイに見せるCSS、13選! (2010/1/29)
無数にあるCSSのプロパティを大まかに分類し、1つずつ紹介していく本連載。初回は、テキスト・フォント周りについて - OpenGL ESが大変な3Dアプリ開発を楽にするUnity (2010/1/27)
iPhoneゲーム開発に必須のOpenGL ES。そのコーディングに手こずっている方に有用なツールを紹介し簡単なサンプルを作成します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |







