Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

(続) Effective SQLite for Android

2,706 views

Published on

(続) Effective SQLite for Android - potatotips (iOS/Android開発Tips共有会) 第10回

Published in: Technology
  • Be the first to comment

(続) Effective SQLite for Android

  1. 1. (続) Effective SQLite For Android
  2. 2. について 話そうと 思ったんですが
  3. 3. Android Engineer?
  4. 4. About Me Shinobu Okano ( 岡野 忍 ) SERAKU Co.,Ltd. @operandoOS Android / Ruby on Rails Dart / Firefox OS / Play Framework Twenty one years old http://osyyare.blogspot.jp/
  5. 5. SQLite Home Page http:// www.sqlite.org/
  6. 6. 軽量なRDB
  7. 7. 軽量なRDB Public Domain
  8. 8. 軽量なRDB Public Domain 早い!
  9. 9. さまざまな Platformで活躍
  10. 10. Android iOS Ruby on Rails などなど
  11. 11. SQLite3 + Android
  12. 12. DBHelper SQLiteOpenHelp er SQLiteStatement DatabaseHelper SQLiteDatabase Cursor
  13. 13. Create Databases SQLiteDatabase openOrCreateDatabase
  14. 14. SQLiteDatabase openOrCreateDatabase
  15. 15. SQLiteDatabase openOrCreateDatabase DBのPermissionが644になるOS Versionが存在す る DBのVersion UPが柔軟にできない
  16. 16. SQLiteDatabase openOrCreateDatabase Bad DBのPermissionが644になるOS Versionが存在す Implementation る DBのVersion UPが柔軟にできない
  17. 17. Create Databases Context openOrCreateDatabase
  18. 18. Context openOrCreateDatabase
  19. 19. Context openOrCreateDatabase MODEを間違えるとやばい! DBのVersion UPが柔軟にできない 値説明 Context.MODE_PRIVATE 呼び出し元のアプリケーションのみ読み書 Context.MODE_WORLD_READABLE き他の可アプリケーションも読み込み可 Context.MODE_WORLD_WRITEABLE 他のアプリケーションも書き込み可
  20. 20. SQLiteDatabase openOrCreateDatabase Bad MODEを間違えるとやばい! Implementation DBのVersion UPが柔軟にできない 値説明 Context.MODE_PRIVATE 呼び出し元のアプリケーションのみ読み書 Context.MODE_WORLD_READABLE き他の可アプリケーションも読み込み可 Context.MODE_WORLD_WRITEABLE 他のアプリケーションも書き込み可
  21. 21. Create Databases SQLiteOpenHelper
  22. 22. SQLiteOpenHelper
  23. 23. SQLiteOpenHelper DBのVersion UPに柔軟に対応できる Downgradeも可能 Permissionも適切に設定される
  24. 24. SQLiteOpenHelper Permissionも適切に設定されるGood! DBのVersion UPに柔軟に対応できる Downgradeも可能
  25. 25. Create Databases SQLiteDatabase openOrCreateDatabase Context openOrCreateDatabase SQLiteOpenHelper
  26. 26. SQLiteを早く使う三原則
  27. 27. SQLiteを早く使う三原則 Transaction
  28. 28. SQLiteを早く使う三原則 Transaction Prepare Statement
  29. 29. SQLiteを早く使う三原則 Transaction Prepare Statement In Memory
  30. 30. Versionごと機能を利用 SQLite 3.8.4.3: Lollipop + L Developer Preview SQLite 3.7.11: KitKat + Jelly Bean SQLite 3.7.4: Ice Cream Sandwich
  31. 31. FTSを使って全文検索 full-text searches
  32. 32. FTSを使って全文検索 full-text searches CREATE VIRTUAL TABLE sessions_search USING fts3( body TEXT NOT NULL, tokenize=porter ) INSERT INTO sessions_search ( body ) VALUES( "potato tips" )
  33. 33. FTSを使って全文検索 Select search module: FST3 or FST4(API 11から)
  34. 34. FTSを使って全文検索 Select search module: FST3 or FST4(API 11から) Tokenizers: simple or porter
  35. 35. FTSを使って全文検索 Select search module: FST3 or FST4(API 11から) Tokenizers: simple or porter LIKEで検索するより全然早い!
  36. 36. FTSを使って全文検索 Select search module: FST3 or FST4(API 11から) Tokenizers: simple or porter LIKEで検索するより全然早い! iOSでも使えるらしい!
  37. 37. Thank you

×