Enviar búsqueda
Cargar
SQLiteを手軽に・セキュアに
•
12 recomendaciones
•
11,291 vistas
Tomotsune Murata
Seguir
第1回 豊橋iPhoneアプリ開発勉強会の発表資料です。 SQLiteを簡単に扱うFMDBの使い方とSQLIteを暗号化するSQLCipherについて記載しております。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 32
Recomendados
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Naruhiko Ogasawara
SQLite の暗号化
SQLite の暗号化
Akihiro Matsuura
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Unified JVM Logging
Unified JVM Logging
Yuji Kubota
Recomendados
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Naruhiko Ogasawara
SQLite の暗号化
SQLite の暗号化
Akihiro Matsuura
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Unified JVM Logging
Unified JVM Logging
Yuji Kubota
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
モノビット エンジン
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
APICのREST API入門
APICのREST API入門
Takehiro Yokoishi
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践
Shu Sugimoto
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
Kumapone
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Cos0419
Cos0419
towaki777
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料
towaki777
Más contenido relacionado
La actualidad más candente
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
モノビット エンジン
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
APICのREST API入門
APICのREST API入門
Takehiro Yokoishi
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践
Shu Sugimoto
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
Kumapone
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
La actualidad más candente
(20)
Android カスタムROMの作り方
Android カスタムROMの作り方
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
APICのREST API入門
APICのREST API入門
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
HTTP/2 入門
HTTP/2 入門
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
分散システムについて語らせてくれ
分散システムについて語らせてくれ
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Destacado
Cos0419
Cos0419
towaki777
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料
towaki777
第16回iPhoneアプリ開発勉強会発表資料
第16回iPhoneアプリ開発勉強会発表資料
Ke Ta
Git for iOS beginner
Git for iOS beginner
bibmeke
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
Takatoshi Hattori
iBeaconsを触ってみた
iBeaconsを触ってみた
Atsushi Ito
No smokingplus
No smokingplus
Yutaka Matsui
RubyMotionでiOS開発
RubyMotionでiOS開発
Masakuni Kato
Uicollectionview
Uicollectionview
towaki777
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)
Takashi Ohtsuka
cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化
Tomoaki Shimizu
Grids are Good (right?)
Grids are Good (right?)
huer1278ft
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
Toshiaki Sasaki
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
Ken Morishita
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
Yuya Unno
SQLite の暗号化
SQLite の暗号化
Akihiro Matsuura
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Norio Akagi
FMDBの利用方法
FMDBの利用方法
uske7i
Ws2012 directaccessで実現するworkanyshereシナリオ 121208
Ws2012 directaccessで実現するworkanyshereシナリオ 121208
wintechq
画像認識で物を見分ける
画像認識で物を見分ける
Kazuaki Tanida
Destacado
(20)
Cos0419
Cos0419
第16回勉強会のビギナー資料
第16回勉強会のビギナー資料
第16回iPhoneアプリ開発勉強会発表資料
第16回iPhoneアプリ開発勉強会発表資料
Git for iOS beginner
Git for iOS beginner
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
第26回名古屋iPhoneアプリ開発勉強会アンケート結果
iBeaconsを触ってみた
iBeaconsを触ってみた
No smokingplus
No smokingplus
RubyMotionでiOS開発
RubyMotionでiOS開発
Uicollectionview
Uicollectionview
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)
cocos2d-xで利用できる暗号化
cocos2d-xで利用できる暗号化
Grids are Good (right?)
Grids are Good (right?)
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
SQLite の暗号化
SQLite の暗号化
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
FMDBの利用方法
FMDBの利用方法
Ws2012 directaccessで実現するworkanyshereシナリオ 121208
Ws2012 directaccessで実現するworkanyshereシナリオ 121208
画像認識で物を見分ける
画像認識で物を見分ける
Similar a SQLiteを手軽に・セキュアに
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
Yukihito Kataoka
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
Sachiko Kajishima
片岡Io tltシリーズネタ 2016/10/29
片岡Io tltシリーズネタ 2016/10/29
Yukihito Kataoka
誰でもシステム開発ができる「ノーコード開発」入門
誰でもシステム開発ができる「ノーコード開発」入門
Yukihito Kataoka
MFi Controller〜それは忘れられたiOS7新機能〜
MFi Controller〜それは忘れられたiOS7新機能〜
Tomotsune Murata
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
Taisuke Fukuno
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
法林浩之
20140118 it summit 2nd
20140118 it summit 2nd
Seiji Noro
使ってみようPTSV
使ってみようPTSV
株式会社 システムヨシイ
IchigoJam これまでとこれから
IchigoJam これまでとこれから
Taisuke Fukuno
鯖江から世界、Local x IT = Global - 僕らがつくる福井
鯖江から世界、Local x IT = Global - 僕らがつくる福井
Taisuke Fukuno
Swift Code in Swift - 2日間でゲームを作ってみた
Swift Code in Swift - 2日間でゲームを作ってみた
axsh co., LTD.
SORACOM ひげ付きボタンで家族の「見守り」 プロジェクト
SORACOM ひげ付きボタンで家族の「見守り」 プロジェクト
Yukihito Kataoka
WordPress の現況
WordPress の現況
Naoko Takano
江戸川大学講義資料20140422
江戸川大学講義資料20140422
Osamu Ise
シラサギハンズオン in 鹿児島 powered by さくらのクラウド
シラサギハンズオン in 鹿児島 powered by さくらのクラウド
法林浩之
シラサギハンズオン in 仙台 powered by さくらのクラウド
シラサギハンズオン in 仙台 powered by さくらのクラウド
法林浩之
sakura.io体験ハンズオン
sakura.io体験ハンズオン
法林浩之
僕らの履歴書
僕らの履歴書
Yusuke Wada
歩ける全天球動画の実験
歩ける全天球動画の実験
Haruhisa Hasegawa
Similar a SQLiteを手軽に・セキュアに
(20)
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
思い立ったらTry!すぐやる、楽しくやる お金をかけない地方と初心者のIoT
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
片岡Io tltシリーズネタ 2016/10/29
片岡Io tltシリーズネタ 2016/10/29
誰でもシステム開発ができる「ノーコード開発」入門
誰でもシステム開発ができる「ノーコード開発」入門
MFi Controller〜それは忘れられたiOS7新機能〜
MFi Controller〜それは忘れられたiOS7新機能〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
世界最安値!? 鯖江産コンピューターIchigoJam 〜福井技術者の集い その2〜
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
20140118 it summit 2nd
20140118 it summit 2nd
使ってみようPTSV
使ってみようPTSV
IchigoJam これまでとこれから
IchigoJam これまでとこれから
鯖江から世界、Local x IT = Global - 僕らがつくる福井
鯖江から世界、Local x IT = Global - 僕らがつくる福井
Swift Code in Swift - 2日間でゲームを作ってみた
Swift Code in Swift - 2日間でゲームを作ってみた
SORACOM ひげ付きボタンで家族の「見守り」 プロジェクト
SORACOM ひげ付きボタンで家族の「見守り」 プロジェクト
WordPress の現況
WordPress の現況
江戸川大学講義資料20140422
江戸川大学講義資料20140422
シラサギハンズオン in 鹿児島 powered by さくらのクラウド
シラサギハンズオン in 鹿児島 powered by さくらのクラウド
シラサギハンズオン in 仙台 powered by さくらのクラウド
シラサギハンズオン in 仙台 powered by さくらのクラウド
sakura.io体験ハンズオン
sakura.io体験ハンズオン
僕らの履歴書
僕らの履歴書
歩ける全天球動画の実験
歩ける全天球動画の実験
Más de Tomotsune Murata
Photon Enterprise Cloud 事例
Photon Enterprise Cloud 事例
Tomotsune Murata
人気ゲームアプリ「クラッシュフィーバー」におけるAWS活用
人気ゲームアプリ「クラッシュフィーバー」におけるAWS活用
Tomotsune Murata
クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成
Tomotsune Murata
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側
Tomotsune Murata
画像処理をAWS LambdaのPythonで!
画像処理をAWS LambdaのPythonで!
Tomotsune Murata
Xcode7 / iOS 9 対応でハマったこと
Xcode7 / iOS 9 対応でハマったこと
Tomotsune Murata
コストみてますか?
コストみてますか?
Tomotsune Murata
すっかりマカーな私がWindowsに戻ってみた
すっかりマカーな私がWindowsに戻ってみた
Tomotsune Murata
cocos2dで手軽にアニメーション
cocos2dで手軽にアニメーション
Tomotsune Murata
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
Tomotsune Murata
Más de Tomotsune Murata
(10)
Photon Enterprise Cloud 事例
Photon Enterprise Cloud 事例
人気ゲームアプリ「クラッシュフィーバー」におけるAWS活用
人気ゲームアプリ「クラッシュフィーバー」におけるAWS活用
クラッシュフィーバーのシステム構成
クラッシュフィーバーのシステム構成
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側
画像処理をAWS LambdaのPythonで!
画像処理をAWS LambdaのPythonで!
Xcode7 / iOS 9 対応でハマったこと
Xcode7 / iOS 9 対応でハマったこと
コストみてますか?
コストみてますか?
すっかりマカーな私がWindowsに戻ってみた
すっかりマカーな私がWindowsに戻ってみた
cocos2dで手軽にアニメーション
cocos2dで手軽にアニメーション
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
SQLiteを手軽に・セキュアに
1.
ワンダープラネット株式会社 取締役 CTO
村田 知常 SQLiteを 手軽に・セキュアに 第1回 豊橋iPhoneアプリ開発勉強会 2013.4.27
2.
iPhoneアプリ開発勉強会 in 豊橋
3.
豊橋カレーうどん うどんを食べると 中からご飯が!
4.
【自己紹介】 村田 知常 プロフィール ワンダープラネット株式会社 取締役
CTO CGIゲームに魅了され、ITの世界へ 【Facebook】 tomotsune.murata 職歴 業務システムのソフトウェア開発(.NET、Javaなど) ↓ ワンダープラネット株式会社 ( 旧:(株)オープンキューブ 名古屋アプリケーション開発センター ) とも つね
5.
【自己紹介】 Ver.豊橋 とよはしっ子です( ▽ )/ 1978年生まれ 生まれも育ちも豊橋! 最近知った豊橋ニュース 豊橋初(?)のコワーキングスペースが出来た! Trial
Village (トライアルビレッジ) http://www.trialvillage.com/ 若松園の「ゆたかおこし」 好物です!
6.
7.
事業内容 タブレット・スマートフォン向けアプリーション・ゲームの 企画・開発・運営・販売 設立 2012年9月3日(10月1日創業) ホームページ http://wonderpla.net Facebookページ https://www.facebook.com/wonderplanet.nagoya ワンダープラネット株式会社
8.
エンジニアブログ 絶賛公開中! http://wonderpla.net/blog/engineer/ エンジニア全員で更新しています! 実装してみてはまったこと、 分からなくて調査したこと などなど、現場での技術情報 熱いキーワード アプリ内課金 Cocos2d-x ワンダープラネット株式会社
9.
くるるファンタズマ プロダクト ■iPhone/iPad 名古屋コーチンがいく! ■iPhone Panic Farm ■iPhone/iPad
10.
今日は SQLite について
11.
その前に iOSにある主なデータの永続化 オブジェクトのシリアライズ プロパティリスト(PLIST) NSUserDefaults Core Data(SQLiteのO/Rマッパー) SQLiteに直接アクセス
12.
SQLiteとは アプリケーションに組み込んで利用される軽量のデータベース サーバーではなくライブラリ 主なデータセットの型 整数型(INTEGER)、浮動小数点型(REAL)文字列型(TEXT)、バ イナリ型(BLOB) トランザクションをサポート ストレージまでネイティブコードで直接実行するので非常に高速 iOSではSQLiteを使用するためのライブラリ「libsqlite3.0.dylib」を 追加することで可能
13.
でも、自分でイチから 実装して操作するのは大変
14.
「FMDB」を使ってSQLiteを 簡単に操作しよう!
15.
FMDBとは iOSでSQLiteの操作を簡単にしてくれるライブラリ MITライセンス ARCのOn/Off 両方に対応 GitHubで公開されています https://github.com/ccgus/fmdb
16.
FMDBを使うには 「src」フォルダ内のファイルをプロジェクトに追加 「libsqlite3.0.dylib」をプロジェクトに追加 ■ FMDatabase.h ■ FMDatabase.h ■
FMDatabaseAdditions.h ■ FMDatabaseAdditions.m ■ FMDatabasePool.h ■ FMDatabasePool.m ■ FMDatabaseQueue.h ■ FMDatabaseQueue.m ■ FMResultSet.h ■ FMResultSet.m 「fmdb.m」はテスト用コード なので追加不要
17.
DBファイルとテーブルの作成 FBDMを使うとopen時にファイルが無い場合は作成してくれる! FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; // testテーブルが無い場合テーブルを生成するSQL文 NSString *sql = @"CREATE TABLE IF NOT EXISTS test (user_id INTEGER PRIMARY KEY, user_name TEXT);"; // データベースをオープン(ファイルが無い場合はファイルも作成される) [db open]; // CREATE TABLE文を実行 [db executeUpdate:sql]; // データベースをクローズ [db close];
18.
INSERT FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; NSString *sql = @"INSERT INTO test (user_id,user_name) VALUES (?,?);"; [db open]; [db executeUpdate:sql,[NSNumber numberWithInteger:1], @”テスト”]; [db close];
19.
UPDATE FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; NSString *sql = @"UPDATE test SET user_name = ? WHERE user_id = ?;"; [db open]; [db executeUpdate:sql,@”iPhone勉強会”,[NSNumber numberWithInteger:1]]; [db close];
20.
DELETE FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; NSString *sql = @"DELETE FROM test WHERE user_id = ?;"; [db open]; [db executeUpdate:sql,[NSNumber numberWithInteger:1]]; [db close];
21.
SELECT FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; NSString *sql = @"SELECT user_id,user_name FROM test WHERE user_id = ?;"; [db open]; FMResultSet *results = [db executeQuery:sql, [NSNumber numberWithInteger:1]]; while( [results next] ) { NSInteger user_id = [results intForColumnIndex:0]; NSString *user_name = [results stringForColumn:@”user_name”]; } [db close];
22.
トランザクション FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; [db open]; // トランザクション開始 [db beginTransaction]; : 処理 : if (処理成功) { // コミット [db commit]; } else { // ロールバック [db rollback]; } [db close];
23.
保存したSQLiteのデータ ツールを使えば簡単に 参照・書き換えが可能 (((( ;゚Д゚)))ガクガクブルブル
24.
ゲームのユーザー情報 覗かれたくない! 改ざんされたくない!
25.
保存するデータ 暗号化 覗かれたく無い ↓ どうするの? ↓
26.
SQLCipher
27.
SQLCipherとは SQLiteのデータベースファイルを 256-bit AESで暗号化 無料のCommunity
Edition BSD-style open source lisence 自分でビルドが必要 有料のCommercial Edition ビルド済みのライブラリ
28.
SQLCipherの使い方 ライブラリをプロジェクトに追加 Header Search Pathに、次のパスを追加 sqlcipher-static-ios/include Other
C Flagsに、次の値を追加 -DSQLITE_HAS_CODEC FMDBは「SQLCipher」に 対応しているため意識する必要なし!
29.
使用例 open後に「setKey」でパスフレーズを設定 FMDatabase *db =
[FMDatabase databaseWithPath:@”ファイルまでのパス”]; NSString *sql = @"CREATE TABLE IF NOT EXISTS test (user_id INTEGER PRIMARY KEY, user_name TEXT);"; [db open]; [db setKey:@”パスフレーズ”]; [db executeUpdate:sql]; [db close];
30.
まとめ 業務系出身者として SQL文を直接叩かせてくれるFMDBってステキ ODBCやADO.NETと同じ操作感 → 安心感 アプリ開発者として SQLiteが簡単に操作できるってステキ SQLCipherとの組み合わせも簡単ってステキ
31.
ワンプラニュース アプリを作る仲間を絶賛募集中!! 詳細 会社HP:http://wonderpla.net/jobs/
32.
ご清聴ありがとうございました 第1回 豊橋iPhoneアプリ開発勉強会 2013.4.27