XamarinでSQLiteを使う

Xamarin.AndroidでSQLiteを使うときの方法が分かりにくくて苦労したので、メモしておきます。

基本的に、Xamarinのサイトを参考にしています。
Part 3 – Using SQLite.NET ORM

スポンサーリンク

環境

  • VisualStudio 2015
  • Xamarin Android 5.1.5

SQLiteを使う準備

SQLiteを使うために、クラスを追加します。
ソースコードはGitHubに公開されているので、そこからコピーして、SQLite.csという名前で保存しておきます。
SQLite.cs
これで、SQLiteを使うための準備はできました。

次に、テーブルの定義をします。

テーブルの定義

テーブルの定義は、さきほど追加したSQLiteクラスを使っておこないます。
今回はテーブルに、主キーとしてID、他にタイトルと本文を保存することにします。

このようにテーブルを定義します。

以下に、属性についての説明をします。

  • Table属性……テーブルを作成するときの名前(クラス名とは別)
  • PrimaryKey属性……主キーとして使う
  • AutoIncrement属性……データ保存時に自動で値をインクリメントする
  • Column属性……テーブルを作成するときのカラム名

次に、データベースとテーブルを作成します。

データベースとテーブルの作成

最初に、データベースとテーブルの作成をします。
作成にはSQLiteクラスを使います。
DoDatabaseAccess()メソッドにプログラムを書きます。

データベースの作成には、SQLiteConnectionクラスを使います。SQLiteConnectionクラスはデータベースのアクセスにも使います。
引数には、SQLiteで使うデータが入ったファイルのパスを指定します。パスの指定には、Path.Combine()を使い、第2引数にファイルの名前を指定します。
テーブルの作成には、SQLiteConnectionクラスのCreateTable<>()メソッドを使います。型引数には、テーブルのクラスを指定します。
これで、データベースとテーブルが出来ました。

次に、データの追加です。

テーブルへのデータの追加

テーブルへのデータの追加をします。

データの追加は、追加したいデータのテーブル定義のクラスからインスタンスを作って、そのデータをSQLiteConnectionクラスのInsert()メソッドを使ってデータを追加します。
CreateTable()メソッドはなくても良いのですが、もしテーブルが作られていないとその後のプログラムでエラーがでるので、かいてあります。ちなみに、CreateTable()メソッドはテーブルが作成されていた場合は、なにもしません。

次に、データにアクセスします。

データへのアクセス

データにアクセスします。

データにアクセスするには、Table<>()メソッドを使います。型引数には、テーブルのクラスを指定します。
ちなみに、C#の機能のひとつであるLINQを使うこともできます。

他にも、Getメソッドを使うと、主キーでデータを絞ることもできます。

これで、IDが1のデータを取得できます。

次に、データの削除をします。

データの削除

データの削除をします。

データの削除は、Delete()メソッドを使います。引数には、テーブルのクラスと主キー、今回はIdを指定します。

最後に

このようにSQLiteを使っていきます。

スポンサーリンク

シェアする

フォローする