Windows Phone 7 と SQLite
素敵なおひげ
自己紹介
¨  H/N : シバタ(素敵なおひげ)
¨  Twitter : @stknohg
¨  Blog : http://d.hatena.ne.jp/stknohg/
¨  札幌で働くSIerです。
主に道内企業の基幹システム...
スマートフォンでデータベースといえば…
SQLite
¨  公式サイト
http://www.sqlite.org/
¨  最新バージョンは 3.7.3 (2010/10/31時点)
¨  特徴
¤  パブリックドメイン
¤  ライブラリ型の1ファイルRDBMS
¤  S...
iPhone/Androidでは標準で利用可能
iPhone/AndroidでSQLite
¨  iPhoneの場合
libsqlite3.0.dylibライブラリ
¨  Androidの場合
android.database.sqliteパッケージ
じゃあWindows Phone 7の場合は…
そもそも
¨  Windows Phone 7の分離ストレージでは
データベースをサポートしていない
¨  ベースとなるSilverlight自体が分離ストレージ
上のデータベースをサポートしていない
¨  今後のサポートも未定?
Windows Phone 7 でのデータアクセス
¨  デバイス上にデータを置かない
WEBサービス上にデータを保存・取得
¨  LINQ to XML
オブジェクトをXMLシリアライズして保存、
LINQ to XMLで取得
そうは言ってもデータベース使いたいです…
C#-SQLite
¨  SQLiteをC#に移植
¤  データベース自体をC#で書き直している
¨  移植した人はNoah Hartさん
¨  Google Codeで公開
http://code.google.com/p/cshar...
特徴
¨  100%C#で記述されている
¨  いくつかのコンパイルオプションはサポート外
(SQLITE_THREADSAFEなど)
¨  性能はオリジナルのSQLiteの2倍程度遅い
(最新のベンチマークをざっと見た感じ)
¨  S...
Silverlightで使えるなら…
C#-SQLite on Windows Phone 7
(WP7 SqliteClient)
¨  C#-SQLiteをWindows Phone 7用に改造
¤  C#-SQLite本体の修正
¤  Monotouch用のSqlite...
こんな感じ
¨  データベースの作成
¤  SQLiteConnection.Open()
こんな感じ
¨  Transaction/SQL実行(Insert)
¤  SQLiteConnection.BeginTransaction()
¤  SQLiteConnection.CommitTransacton()
¤  SQ...
まとめ
¨  (正式ではないけど)頑張ればWindows Phone 7
でもSQLiteは使える
¨  公開するアプリにはまだ使えなさそう
¨  SQLiteに限らずデバイス上で使用できるRDBMSを
サポートして欲しい
ご静聴ありがとうございました
おまけ
¨  Windows Phone Database
http://winphone7db.codeplex.com/
¨  Sterling Isolated Storage Database
http://sterling.cod...
Upcoming SlideShare
Loading in...5
×

Windows Phone 7 と SQLite

2,170

Published on

第52回CLR/H勉強会で発表したLTのスライドです。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,170
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Windows Phone 7 と SQLite

  1. 1. Windows Phone 7 と SQLite 素敵なおひげ
  2. 2. 自己紹介 ¨  H/N : シバタ(素敵なおひげ) ¨  Twitter : @stknohg ¨  Blog : http://d.hatena.ne.jp/stknohg/ ¨  札幌で働くSIerです。 主に道内企業の基幹システムの設計・製造・保守 等々いろいろ中途半端にやっています。 最近はサーバ・データベース構築などインフラ寄 りの仕事が多いです。
  3. 3. スマートフォンでデータベースといえば…
  4. 4. SQLite ¨  公式サイト http://www.sqlite.org/ ¨  最新バージョンは 3.7.3 (2010/10/31時点) ¨  特徴 ¤  パブリックドメイン ¤  ライブラリ型の1ファイルRDBMS ¤  SQL92をサポート ¤  Transaction/View/Triggerをサポート ¨  様々なプラットフォームで利用されている
  5. 5. iPhone/Androidでは標準で利用可能
  6. 6. iPhone/AndroidでSQLite ¨  iPhoneの場合 libsqlite3.0.dylibライブラリ ¨  Androidの場合 android.database.sqliteパッケージ
  7. 7. じゃあWindows Phone 7の場合は…
  8. 8. そもそも ¨  Windows Phone 7の分離ストレージでは データベースをサポートしていない ¨  ベースとなるSilverlight自体が分離ストレージ 上のデータベースをサポートしていない ¨  今後のサポートも未定?
  9. 9. Windows Phone 7 でのデータアクセス ¨  デバイス上にデータを置かない WEBサービス上にデータを保存・取得 ¨  LINQ to XML オブジェクトをXMLシリアライズして保存、 LINQ to XMLで取得
  10. 10. そうは言ってもデータベース使いたいです…
  11. 11. C#-SQLite ¨  SQLiteをC#に移植 ¤  データベース自体をC#で書き直している ¨  移植した人はNoah Hartさん ¨  Google Codeで公開 http://code.google.com/p/csharp-sqlite/
  12. 12. 特徴 ¨  100%C#で記述されている ¨  いくつかのコンパイルオプションはサポート外 (SQLITE_THREADSAFEなど) ¨  性能はオリジナルのSQLiteの2倍程度遅い (最新のベンチマークをざっと見た感じ) ¨  Siliverlight用のコンパイルオプションあり
  13. 13. Silverlightで使えるなら…
  14. 14. C#-SQLite on Windows Phone 7 (WP7 SqliteClient) ¨  C#-SQLiteをWindows Phone 7用に改造 ¤  C#-SQLite本体の修正 ¤  Monotouch用のSqliteClient.csをベースにしたラッパー クラスを作成 ¨  作った人はDan Ciprian Ardeleanさん ¨  Danさんのブログ(Mobile Development)で公開 http://sviluppomobile.blogspot.com/2010/03/sqlite-for-wp-7-series-proof-of-concept.html ¨  高橋 忍さんのブログでも紹介されています http://blogs.msdn.com/b/shintak/archive/2010/08/31/10055921.aspx
  15. 15. こんな感じ ¨  データベースの作成 ¤  SQLiteConnection.Open()
  16. 16. こんな感じ ¨  Transaction/SQL実行(Insert) ¤  SQLiteConnection.BeginTransaction() ¤  SQLiteConnection.CommitTransacton() ¤  SQliteConnection.CreateCommand() ¤  SQLiteCommand.ExecuteNonQuery()
  17. 17. まとめ ¨  (正式ではないけど)頑張ればWindows Phone 7 でもSQLiteは使える ¨  公開するアプリにはまだ使えなさそう ¨  SQLiteに限らずデバイス上で使用できるRDBMSを サポートして欲しい
  18. 18. ご静聴ありがとうございました
  19. 19. おまけ ¨  Windows Phone Database http://winphone7db.codeplex.com/ ¨  Sterling Isolated Storage Database http://sterling.codeplex.com/ ¨  Siaqodb http://siaqodb.com/ ¨  Perst for Windows Phone 7 http://www.mcobject.com/perst Windows Phone 7 で使えるデータベースを 有償・無償問わず適当に集めてみました

×