2011年2月9日第130回FxUG勉強会@東京第一打者空振り三振
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

2011年2月9日第130回FxUG勉強会@東京第一打者空振り三振

on

  • 1,852 views

 

Statistics

Views

Total Views
1,852
Views on SlideShare
1,143
Embed Views
709

Actions

Likes
0
Downloads
7
Comments
0

3 Embeds 709

http://mossamina.blog99.fc2.com 699
http://webcache.googleusercontent.com 7
http://blog99.fc2.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

2011年2月9日第130回FxUG勉強会@東京第一打者空振り三振 Presentation Transcript

  • 1. Flash Builder4 を使って 組み込み DB AIR アプリ開発 2011 年 2 月 9 日(水) 徳山禎男 FlexUserGroup 勉強会 第 130 回@東京
  • 2. アジェンダ
    • 自己紹介
    • ローカルデータベース とは
    • 接続からクエリ実行までの
    •  実装方法
    • Flash Builder で作成したデモアプリの披露
  • 3. 自己紹介
    • ハンドルネーム
      • tokufxug
    • 名前
      • 徳山 禎男
    • 所属
      • クエストコム株式会社
  • 4. 自己紹介
    • ハンドルネーム
      • tokufxug
    • WEB
      • twitter : @tokufxug
      • blog: 特産のもっさみな
  • 5. ローカルデータベース
  • 6. ローカルデータベース
    • AIR アプリケーション内の情報をデータベースとして取り扱う事ができます。
  • 7. ローカルデータベース
    • AIR アプリケーション内の情報をデータベースとして取り扱う事ができます。
    • リレーショナルデータベースで、 SQL を発行してデータアクセスを行います。
  • 8. ローカルデータベース 処理手順
  • 9. ローカルデータベース 処理手順
    • ローカルデータベース作成
  • 10. ローカルデータベース 処理手順
    • ローカルデータベース作成
    • データベース接続
  • 11. ローカルデータベース 処理手順
    • ローカルデータベース作成
    • データベース接続
    • SQL 発行
  • 12. ローカルデータベースの作成
    • ローカルデータベース用のファイルを作成します。
  • 13. ローカルデータベースの作成
    • ローカルデータベース用のファイルを作成します。
      • var dbFile:File =
      • File.applicationStorageDirectory.
      • resolvePath( “dbFile.db” );
  • 14. ローカルデータベースの作成
    • 各 AIR アプリケーション固有のディレクトリを指します。
      • var dbFile:File =
      • File.applicationStorageDirectory .
      • resolvePath( “dbFile.db” );
  • 15. ローカルデータベースの作成
    • ディレクトリパスのファイルオブジェクトを作成します。
      • var dbFile:File =
      • File.applicationStorageDirectory.
      • resolvePath ( “dbFile.db” );
  • 16. データベース接続
    • 使用するデータベースへ接続処理を行います。
  • 17. データベース接続
    • 使用するデータベースへ接続処理を行います。
      • var dbCon:SQLConnection =
      • new SQLConnection();
  • 18. データベース接続
    • DB 接続成功によるイベントリスナーを登録します。
      • dbCon.addEventListener(
      • SQLEvent.OPEN , onOpen);
  • 19. データベース接続
    • DB 接続失敗によるイベントリスナーを登録します。
      • dbCon.addEventListener(
      • SQLErrorEvent.ERROR , onError);
  • 20. データベース接続
    • openAsync メソッドを実行すると
    •  非同期でデータベース接続を
    •  行います。
      • dbCon.openAsync( dbFile );
  • 21. データベース接続
    • 接続が成功すると成功のイベントハンドラが呼ばれます。
    • function onOpen(e:SQLEvent): void {
    • }
  • 22. データベース接続
    • 接続が失敗するとエラーのイベントハンドラが呼ばれます。
    • function onError(e:SQLErrorEvent): void {
    • }
  • 23. データベース接続までの流れ
  • 24. データベース接続までの流れ
    • var dbFile:File = File.applicationStorageDirectory. resolvePath ( “dbFile.db” );
  • 25. データベース接続までの流れ
    • var dbFile:File = File.applicationStorageDirectory. resolvePath ( “dbFile.db” );
    • var dbCon:SQLConnection = new SQLConnection();
  • 26. データベース接続までの流れ
    • var dbFile:File = File.applicationStorageDirectory. resolvePath ( “dbFile.db” );
    • var dbCon:SQLConnection = new SQLConnection();
    • dbCon.addEventListener( SQLEvent.OPEN , onOpen);
  • 27. データベース接続までの流れ
    • var dbFile:File = File.applicationStorageDirectory. resolvePath ( “dbFile.db” );
    • var dbCon:SQLConnection = new SQLConnection();
    • dbCon.addEventListener( SQLEvent.OPEN , onOpen);
    • dbCon.addEventListener( SQLErrorEvent.ERROR , onError);
  • 28. データベース接続までの流れ
    • var dbFile:File = File.applicationStorageDirectory. resolvePath ( “dbFile.db” );
    • var dbCon:SQLConnection = new SQLConnection();
    • dbCon.addEventListener( SQLEvent.OPEN , onOpen);
    • dbCon.addEventListener( SQLErrorEvent.ERROR , onError);
    • dbCon.openAsync( dbFile );
  • 29. データベース接続までの流れ
    • データベース接続サンプルのデモ
  • 30. SQL 発行
  • 31. SQL 発行
    • SQL を発行するクラスを生成します。
  • 32. SQL 発行
    • SQL を発行するクラスを生成します。
    • var sqlStmt: SQLStatement =
    •          new SQLStatement ();
  • 33. SQL 発行
    • DB コネクションクラスを設定します。
    • sqlStmt .sqlConnection = dbCon ;
  • 34. SQL 発行
    • SQL 文を設定します。
    • sqlStmt .sqlConnection = dbCon ;
    • sqlStmt.text = “CREATE TABLE..” ;
  • 35. SQL 発行
    • SQL 実行成功によるイベントリスナーを登録。
    • sqlStmt.addEventListener ( SQLEvent.RESULT, onResult );
  • 36. SQL 発行
    • SQL 実行失敗によるイベントリスナーを登録。
    • sqlStmt.addEventListener (SQLErrorEvent.Error, onError);
  • 37. SQL 発行
    • SQL を実行します。
    • sqlStmt. execute();
  • 38. SQL 発行
    • SQL 発行が成功すると成功のイベントハンドラが呼ばれます。
    • function onResult(e:SQLEvent): void {
    • }
  • 39. SQL 実行までの流れ
  • 40. SQL 実行までの流れ
    • var sqlStmt: SQLStatement = new SQLStatement ();
  • 41. SQL 実行までの流れ
    • var sqlStmt: SQLStatement = new SQLStatement ();
    • sqlStmt .sqlConnection = dbCon ;
  • 42. SQL 実行までの流れ
    • var sqlStmt: SQLStatement = new SQLStatement ();
    • sqlStmt .sqlConnection = dbCon ;
    • sqlStmt .text = “CREATE TABLE IF NOT EXISTS(…” ;
  • 43. SQL 実行までの流れ
    • var sqlStmt: SQLStatement = new SQLStatement ();
    • sqlStmt .sqlConnection = dbCon ;
    • sqlStmt .text = “CREATE TABLE IF NOT EXISTS(…” ;
    • sqlStmt.addEventListener( SQLEvent.RESULT, onResult );
  • 44. SQL 実行までの流れ
    • var sqlStmt: SQLStatement = new SQLStatement ();
    • sqlStmt .sqlConnection = dbCon ;
    • sqlStmt .text = “CREATE TABLE IF NOT EXISTS(…” ;
    • sqlStmt.addEventListener( SQLEvent.RESULT, onResult );
    • sqlStmt.addEventListener(SQLErrorEvent.Error, onError);
  • 45. SQL 実行までの流れ
    • var sqlStmt: SQLStatement = new SQLStatement ();
    • sqlStmt .sqlConnection = dbCon ;
    • sqlStmt .text = “CREATE TABLE IF NOT EXISTS(…” ;
    • sqlStmt.addEventListener( SQLEvent.RESULT, onResult );
    • sqlStmt.addEventListener(SQLErrorEvent.Error, onError);
    • sqlStmt .execute() ;
  • 46. SQL 実行までの流れ
    • SQL 実行のデモ
  • 47. パラメータを使用する。
  • 48. パラメータを使用する。
    • 登録、更新、検索、削除を行う場合、パラメータ指定を行う機能です。
  • 49. パラメータを使用する。
    • 登録、更新、検索、削除を行う場合、パラメータ指定を行う機能です。
    • sqlStmt .text = “SELECT * FROM “
    • + “PERSON WHERE NAME = :name ” ;
    • sqlStmt.addEventListener( SQLEvent.RESULT, onResult );
  • 50. パラメータを使用する。
    • 登録、更新、検索、削除を行う場合、パラメータ指定を行う機能です。
    • sqlStmt .text = “SELECT * FROM “
    • + “PERSON WHERE NAME = :name ” ;
    • sqlStmt .parameters[ “:name” ] = “ 徳山禎男” ;
    • sqlStmt.addEventListener( SQLEvent.RESULT, onResult );
  • 51. パラメータを使用する。
    • 登録、更新、検索、削除を行う場合、パラメータ指定を行う機能です。
    • sqlStmt.text = “SELECT * FROM “
    • + “PERSON WHERE NAME = :name ” ;
    • sqlStmt .parameters[ “:name” ] = “ 徳山禎男” ;
    • sqlStmt.addEventListener(SQLEvent.RESULT, onResult);
  • 52. 検索結果の取得
  • 53. 検索結果の取得
    • SQLEvent.RESULT の
    • イベントハンドラー内で検索結果を
    • 取得します。
  • 54. 検索結果の取得
    • 検索結果は、 SQLResult クラスから
    • 取得します。
  • 55. 検索結果の取得
    • 検索結果は、 SQLResult クラスから
    • 取得します。
    • SQLStatement の プロパティ になります。
  • 56. 検索結果の取得
    • private function onResult(event:
    • SQLEvent):void {
    • }
  • 57. 検索結果の取得
    • private function onResult(event:
    • SQLEvent):void {
    • var result: SQLResult =
    • sqlStmt. getResult() ;
    • }
  • 58. 検索結果の取得
    • SQLResult のプロパティ 、 data に
    • 検索結果のデータを格納しています
  • 59. 検索結果の取得
    • SQLResult のプロパティ 、 data に
    • 検索結果のデータを格納しています。
    • data プロパティは Array という配列の型です。
  • 60. 検索結果の取得
    • data プロパテイに
    • 複数の Object 型のインスタンス が
    • 格納しています。
  • 61. 検索結果の取得
    • data プロパテイに
    • 複数の Object 型のインスタンス が
    • 格納しています。
    • Object データ 1 件 = テーブル 1 件
    • キーがカラム名、値がカラムの値
  • 62. 検索結果の取得
    • var result: SQLResult =
    • sqlStmt. getResult() ;
    • var array:Array = result. data ;
  • 63. 検索結果の取得
    • 検索アプリを動かして
    • みましょう。
  • 64. SQL クラスをライブラリ化
  • 65. SQL クラスをライブラリ化
    • 今までお話したデータベース
    • アクセスを、簡易化したクラスを作成。
  • 66. SQL クラスをライブラリ化
    • // データベースアクセスクラス
    • var sql:SQLite = new SQLite();
  • 67. SQL クラスをライブラリ化
    • // データベースアクセスクラス
    • var sql:SQLite = new SQLite();
    • sql.addEventListener(SQLEventResult, onResult);
  • 68. SQL クラスをライブラリ化
    • // データベースアクセスクラス
    • var sql:SQLite = new SQLite();
    • sql.addEventListener(SQLEventResult, onResult);
    • sql.text = “SQL 文” ;
    • sql.access();
  • 69. SQL クラスをライブラリ化
  • 70. SQL クラスをライブラリ化
  • 71. SQL クラスをライブラリ化
  • 72. SQL クラスをライブラリ化
  • 73. SQL クラスをライブラリ化
  • 74. SQL クラスをライブラリ化
  • 75. SQL クラスをライブラリ化
    • SQL クラスを使用した
    • サンプルアプリデモ
  • 76. まとめ
  • 77. まとめ
    • SQLite エンジンの
    • ローカルデータベースが簡単に構築
    • できます。
  • 78. まとめ
    • SQLite エンジンの
    • ローカルデータベースが簡単に構築
    • できます。
    • AIR 対応プラットフォームであれば、
    • 共有ライブラリとして使いまわす事が
    • できます。
  • 79.
    • ご清聴ありがとうございました。