狠狠撸

狠狠撸Share a Scribd company logo
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

More Related Content

Android Hacks - Hack31

  • 1. ANDROID HACKS #31 SQLITE を使う 担当:かわらたん 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. 0. SQLite とは 09/19/11
  • 5. 0. SQLite とは Oracle や MySql と同じデータベース管理システム 軽量である ( インストール簡単、すぐに使える ) アプリケーションに組み込まれて使われる W3C による次世代 HTML(HTML5) の WebSQLDatabase の方言として採用されている ただし、 WebSQLDatabase の仕様決めは去年秋に中止 公式サイト http://www.sqlite.org/ 参考サイト (SQLite 入門 ) http://www.dbonline.jp/sqlite/ 09/19/11
  • 6. 1. DB の作成 09/19/11
  • 7. 1. DB の作成 SQLiteOpenHelper クラスを extends して作る 09/19/11
  • 8. 1. DB の作成 コンストラクタを呼ぶと、 DB 作成に必要な設定ができる DB が作られると onCreate() が呼ばれる 例では create 文を実行してテーブルを作っている 09/19/11 DB を利用する Activity を渡してあげる
  • 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
  • 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 Android Developers http://developer.android.com/intl/ja/index.html SQLite 公式サイト http://www.sqlite.org/ 参考サイト (SQLite 入門 ) http://www.dbonline.jp/sqlite/ 09/19/11