ANDROID HACKS #31 SQLITE を使う 担当:かわらたん Twitter : @pfkawara Blog : http://kawara-tan.blogspot.com/ 09/19/11
この資料について この資料は下記の本をベースに勉強会で作成した資料です。 『 Android Hacks 』(株式会社ブリリアントサービス著、オライリー・ジャパン刊) この本の紹介ページが下記にあります。 http://www.oreilly.co.jp/books/9784873114569/ 09/19/11
アジェンダ SQLite とは ( 本に具体的説明無し ) DB の作成 テーブルの作成 DB のアップデート query, insert, update, delete 実行 ( 本に具体的説明無し ) 感想: SQLite 知らない人には分かりづらい章     サンプルソースに対する説明が少ない ( どの章にも言えるけど… ) 09/19/11
0. SQLite とは 09/19/11
0. SQLite とは Oracle や MySql と同じデータベース管理システム 軽量である ( インストール簡単、すぐに使える ) アプリケーションに組み込まれて使われる W3C による次世代 HTML(HTML5) の WebSQLDatabase の方言として採用されている ただし、 WebSQLDatabase の仕様決めは去年秋に中止 公式サイト http://www.sqlite.org/ 参考サイト (SQLite 入門 ) http://www.dbonline.jp/sqlite/ 09/19/11
1. DB の作成 09/19/11
1. DB の作成 SQLiteOpenHelper クラスを extends して作る 09/19/11
1. DB の作成 コンストラクタを呼ぶと、 DB 作成に必要な設定ができる DB が作られると onCreate() が呼ばれる 例では create 文を実行してテーブルを作っている 09/19/11 DB を利用する Activity を渡してあげる
2.  テーブルの作成 09/19/11
2.  テーブルの作成 onCreate() の中でテーブルを作成する ( 前述のとおり ) カラムの型 09/19/11 型 説明 例 TEXT 整数や浮動小数点を文字列に変換 column_name TEXT NUMERIC テキストを整数か浮動小数点に変換。変換できない場合は文字列を格納 column_name NUMERIC INTEGER 整数に変換 column_name INTEGER REAL 浮動小数点に変換 column_name REAL NONE 変換を行わない column_name NONE
2.  テーブルの作成 カラムの制約 09/19/11 型 説明 例 PRIMARY KEY テーブル上のユニークなキー column_name integer PRIMARY KEY AUTOINCREMENT NOT NULL null  を格納できなくする column_name text not null DEFAULT レコード追加時に格納されるデフォルトの値 column_name text DEFAULT ‘algnantoka’ UNIQUE 重複した値を格納できなくする column_name text UNIQUE AUTOINCREMENT 最後に格納された値  +1  をデフォルトとして利用する (PRIMARY KEY  が  integer  のカラムのみ ) column_name integer PRIMARY KEY AUTOINCREMENT
3. DB のアップデート 09/19/11
3. DB のアップデート SQLiteOpenHelper のメンバである version が変更されると onUpgrade() が呼ばれる。 09/19/11
4. query, insert, update, delete 実行 09/19/11
4. query, insert, update, delete 実行 実行するにあたって query() 等のメソッドは SQLiteDatabase クラスで定義されている SQLiteOpenHelper( を extends したクラス ) のコンストラクタを使用してインスタンスを作った後、 getWritableDatabase()( または getReadableDatabase()) を呼んで取得する DB は上記のメソッドが呼ばれたときに作られる。以降は何度呼んでも既に作った DB が返される。 09/19/11
4. query, insert, update, delete 実行 query() SQL 文 ( クエリ ) を用意して、それを実行してもらう 09/19/11
4. query, insert, update, delete 実行 insert() レコードを挿入する 09/19/11
4. query, insert, update, delete 実行 update() 指定したレコードを更新する 09/19/11
4. query, insert, update, delete 実行 delete() 指定したレコードを削除する 09/19/11
参考 URL Android Developers http://developer.android.com/intl/ja/index.html SQLite 公式サイト http://www.sqlite.org/ 参考サイト (SQLite 入門 ) http://www.dbonline.jp/sqlite/ 09/19/11

Android Hacks - Hack31

  • 1.
    ANDROID HACKS #31SQLITE を使う 担当:かわらたん Twitter : @pfkawara Blog : http://kawara-tan.blogspot.com/ 09/19/11
  • 2.
    この資料について この資料は下記の本をベースに勉強会で作成した資料です。 『Android Hacks 』(株式会社ブリリアントサービス著、オライリー・ジャパン刊) この本の紹介ページが下記にあります。 http://www.oreilly.co.jp/books/9784873114569/ 09/19/11
  • 3.
    アジェンダ SQLite とは( 本に具体的説明無し ) DB の作成 テーブルの作成 DB のアップデート query, insert, update, delete 実行 ( 本に具体的説明無し ) 感想: SQLite 知らない人には分かりづらい章     サンプルソースに対する説明が少ない ( どの章にも言えるけど… ) 09/19/11
  • 4.
  • 5.
    0. SQLite とはOracle や MySql と同じデータベース管理システム 軽量である ( インストール簡単、すぐに使える ) アプリケーションに組み込まれて使われる W3C による次世代 HTML(HTML5) の WebSQLDatabase の方言として採用されている ただし、 WebSQLDatabase の仕様決めは去年秋に中止 公式サイト http://www.sqlite.org/ 参考サイト (SQLite 入門 ) http://www.dbonline.jp/sqlite/ 09/19/11
  • 6.
  • 7.
    1. DB の作成SQLiteOpenHelper クラスを extends して作る 09/19/11
  • 8.
    1. DB の作成コンストラクタを呼ぶと、 DB 作成に必要な設定ができる DB が作られると onCreate() が呼ばれる 例では create 文を実行してテーブルを作っている 09/19/11 DB を利用する Activity を渡してあげる
  • 9.
  • 10.
    2. テーブルの作成onCreate() の中でテーブルを作成する ( 前述のとおり ) カラムの型 09/19/11 型 説明 例 TEXT 整数や浮動小数点を文字列に変換 column_name TEXT NUMERIC テキストを整数か浮動小数点に変換。変換できない場合は文字列を格納 column_name NUMERIC INTEGER 整数に変換 column_name INTEGER REAL 浮動小数点に変換 column_name REAL NONE 変換を行わない column_name NONE
  • 11.
    2. テーブルの作成カラムの制約 09/19/11 型 説明 例 PRIMARY KEY テーブル上のユニークなキー column_name integer PRIMARY KEY AUTOINCREMENT NOT NULL null を格納できなくする column_name text not null DEFAULT レコード追加時に格納されるデフォルトの値 column_name text DEFAULT ‘algnantoka’ UNIQUE 重複した値を格納できなくする column_name text UNIQUE AUTOINCREMENT 最後に格納された値 +1 をデフォルトとして利用する (PRIMARY KEY が integer のカラムのみ ) column_name integer PRIMARY KEY AUTOINCREMENT
  • 12.
  • 13.
    3. DB のアップデートSQLiteOpenHelper のメンバである version が変更されると onUpgrade() が呼ばれる。 09/19/11
  • 14.
    4. query, insert,update, delete 実行 09/19/11
  • 15.
    4. query, insert,update, delete 実行 実行するにあたって query() 等のメソッドは SQLiteDatabase クラスで定義されている SQLiteOpenHelper( を extends したクラス ) のコンストラクタを使用してインスタンスを作った後、 getWritableDatabase()( または getReadableDatabase()) を呼んで取得する DB は上記のメソッドが呼ばれたときに作られる。以降は何度呼んでも既に作った DB が返される。 09/19/11
  • 16.
    4. query, insert,update, delete 実行 query() SQL 文 ( クエリ ) を用意して、それを実行してもらう 09/19/11
  • 17.
    4. query, insert,update, delete 実行 insert() レコードを挿入する 09/19/11
  • 18.
    4. query, insert,update, delete 実行 update() 指定したレコードを更新する 09/19/11
  • 19.
    4. query, insert,update, delete 実行 delete() 指定したレコードを削除する 09/19/11
  • 20.
    参考 URL AndroidDevelopers http://developer.android.com/intl/ja/index.html SQLite 公式サイト http://www.sqlite.org/ 参考サイト (SQLite 入門 ) http://www.dbonline.jp/sqlite/ 09/19/11