Upload
shinobu-okano
View
1.060
Download
3
Embed Size (px)
DESCRIPTION
(続) Effective SQLite for Android - potatotips (iOS/Android開発Tips共有会) 第10回
Citation preview
(続)
Effective SQLite For
Android
について
話そうと
思ったんですが
Android Engineer?
About MeShinobu Okano ( 岡野 忍 )
SERAKU Co.,Ltd.@operandoOSAndroid / Ruby on Rails Dart / Firefox OS / Play FrameworkTwenty one years old
http://osyyare.blogspot.jp/
SQLite Home Page
http://
www.sqlite.org/
軽量なRDB
軽量なRDB
Public Domain
軽量なRDB
Public Domain
早い!
さまざまな
Platformで活躍
Android
iOS
Ruby on Rails などなど
SQLite3
+ Android
DBHelperSQLiteOpenHelp
er
SQLiteDatabase
DatabaseHelper
SQLiteStatement
Cursor
Create Databases
SQLiteDatabase openOrCreateDatabase
SQLiteDatabase openOrCreateDatabase
SQLiteDatabase openOrCreateDatabase
DBのPermissionが644になるOS Versionが存在す
る
DBのVersion UPが柔軟にできない
SQLiteDatabase openOrCreateDatabase
DBのPermissionが644になるOS Versionが存在す
る
DBのVersion UPが柔軟にできない
Bad Implementation
Create Databases
Context openOrCreateDatabase
Context openOrCreateDatabase
MODEを間違えるとやばい!
DBのVersion UPが柔軟にできない値 説明Context.MODE_PRIVATE 呼び出し元のアプリケーションのみ読み書
き可Context.MODE_WORLD_READABLE 他のアプリケーションも読み込み可Context.MODE_WORLD_WRITEABLE 他のアプリケーションも書き込み可
Context openOrCreateDatabase
SQLiteDatabase openOrCreateDatabase
MODEを間違えるとやばい!
DBのVersion UPが柔軟にできない値 説明Context.MODE_PRIVATE 呼び出し元のアプリケーションのみ読み書
き可Context.MODE_WORLD_READABLE 他のアプリケーションも読み込み可Context.MODE_WORLD_WRITEABLE 他のアプリケーションも書き込み可
Bad Implementation
Create Databases
SQLiteOpenHelper
SQLiteOpenHelper
SQLiteOpenHelper
DBのVersion UPに柔軟に対応できる
Downgradeも可能
Permissionも適切に設定される
SQLiteOpenHelper
DBのVersion UPに柔軟に対応できる
Downgradeも可能
Permissionも適切に設定されるGood!
Create DatabasesSQLiteDatabase
openOrCreateDatabase Context
openOrCreateDatabase SQLiteOpenHelper
SQLiteを早く使う三原則
TransactionSQLiteを早く使う三原則
Transaction
Prepare Statement
SQLiteを早く使う三原則
Transaction
Prepare Statement
In Memory
SQLiteを早く使う三原則
Versionごと機能を利用SQLite 3.8.4.3: Lollipop + L Developer Preview
SQLite 3.7.11: KitKat + Jelly Bean
SQLite 3.7.4: Ice Cream Sandwich
FTSを使って全文検索full-text searches
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" )
FTSを使って全文検索Select search module: FST3 or FST4(API 11から)
FTSを使って全文検索Select search module: FST3 or FST4(API 11から)
Tokenizers: simple or porter
FTSを使って全文検索Select search module: FST3 or FST4(API 11から)
Tokenizers: simple or porter
LIKEで検索するより全然早い!
FTSを使って全文検索Select search module: FST3 or FST4(API 11から)
Tokenizers: simple or porter
LIKEで検索するより全然早い!
iOSでも使えるらしい!
Thank you