(続) Effective SQLite for Android

Post on 02-Dec-2014

1060 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

(続)

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

top related