Xamarin.FormsからSQLiteを利用する方法は、公式のHP上で紹介されています。
まずはひとまずこの通り実施してみると良いかと思います。
https://developer.xamarin.com/guides/xamarin-forms/working-with/databases/
またPCLのSQLiteライブラリはNuGet上に複数ありますが、どれを使うべきかは、手前味噌ですがこちらを参考にしてみてください。
http://www.nuits.jp/entry/2016/06/27/193455
また、ここまでの方法ではファイル生成部分にDependencyServiceを利用する必要がありますが、PCLStorageというPlugins for Xamarinのライブラリをうまく利用すると単一コードで記述することも可能です。
またまた手前みそですが、こちらに少しその辺のノウハウを記載しています。
http://www.nuits.jp/entry/2016/06/27/191636
ひとまずこれらの情報をベースに試してみることをお勧めします。
2016.11.17 追記
アプリにDBファイルを添付して配布したいとのことでしたので、その方法を追記したいと思います。
なお、動くソースコードをこちらに公開していますので、併せて確認してみてください。
https://github.com/nuitsjp/XamarinSamples
ここのXFEmbeddSQLiteFile.slnを開いてください。
さて、手順的には次のように実装します。
PCLのソリューションに別途作成したSQLiteデータベースファイルを配置しプロパティを「埋め込みリソース」に変更する
プロジェクトに、sqlite-net-pclとPCLStorageを追加する
コードを記述する
コードは以下の感じです。
cs
1 const string databaseFileName = "sqlite.db3" ;
2 // ルートフォルダを取得する
3 IFolder rootFolder = FileSystem . Current . LocalStorage ;
4 // ファイルシステム上のDBファイルの存在チェックを行う
5 var result = await rootFolder . CheckExistsAsync ( databaseFileName ) ;
6 if ( result == ExistenceCheckResult . NotFound )
7 {
8 // 存在しなかった場合、新たに空のDBファイルを作成する
9 var newFile = await rootFolder . CreateFileAsync ( databaseFileName , CreationCollisionOption . ReplaceExisting ) ;
10 // Assemblyに埋め込んだDBファイルをストリームで取得し、空ファイルにコピーする
11 var assembly = typeof ( App ) . GetTypeInfo ( ) . Assembly ;
12 using ( var stream = assembly . GetManifestResourceStream ( "XFEmbeddSQLiteFile.sqlite.db3" ) )
13 {
14 using ( var outputStream = await newFile . OpenAsync ( FileAccess . ReadAndWrite ) )
15 {
16 stream . CopyTo ( outputStream ) ;
17 outputStream . Flush ( ) ;
18 }
19 }
20 }
21
22 // ファイルからコネクションを作成しデータを取得する
23 var file = await rootFolder . CreateFileAsync ( databaseFileName , CreationCollisionOption . OpenIfExists ) ;
24 using ( var connection = new SQLiteConnection ( file . Path ) )
25 {
26 var builder = new StringBuilder ( ) ;
27 foreach ( var customer in connection . Table < Customer > ( ) )
28 {
29 builder . Append ( $"Id: { customer . Id } Name: { customer . Name } , " ) ;
30 }
31 label . Text = builder . ToString ( ) ;
32 }
https://github.com/nuitsjp/XamarinSamples/blob/master/XFEmbeddSQLiteFile/XFEmbeddSQLiteFile/App.cs#L39
これであとは普通に利用できるはずです。
参考にどうぞ
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/15 06:48
2016/11/15 07:41
2016/11/15 13:43
2016/11/16 09:00
2016/11/17 03:11
2016/11/17 06:34
2016/11/17 07:25