XamarinのCrossPlatfom開発でデータ管理をする方法はいくつかあるのですが、今回から軽量データベースRealm(レルム)を使用する方法をみていきます。
※スクショはVisual Studio for Macで掲載しますが、Windows版のVisual Studioでもほぼ同様ですので省略します。
新規プロジェクトの作成
まずは、新規で空白のフォームアプリを作成します。プロジェクト名は「RealmSample」としました。
Realmパッケージの導入
続いてRealmパッケージを導入します。
はじめにソリューションエクスプローラーでPCLプロジェクト「RealmSample」を右クリックし、「NuGetパッケージの追加」を選択します。
「パッケージを追加」ダイアログが表示されるので、右上の検索窓にRealmと入力して、検索で見つかった一覧で「Realm」にチェックを付けて[パッケージを追加]ボタンをクリックします。
同様にしてiOSのプロジェクトとAndroidのプロジェクトにもRealmnのパッケージを追加します。
モデルの作成
タイトルをモデルの作成としましたが、いわゆる1レコード分のデータ用クラスを作成します。
PCLプロジェクトを右クリックして新規のクラスを作成します。
ここでは会社の部署を管理するモデルを作成することとし、クラス名を「Department」とします。
モデルを作成するには、RealmObjectを継承したクラスにする必要があります。
usingにはRealmsを追加してください。
このモデルには、部署をユニークにするためのDeptId、部署名を管理するName、マネージャーを管理するためのManagerプロパティを持たせています。
プライマリーキーを作成する場合は属性[PrimaryKey]を付けてください。Realmではプライマリーキーのオートインクリメントはまだサポートされていないので、Guid.NewGuid()を使用して、自動生成されるGUIDを割り当てるようにしています。もちろん任意の値を割り当てても構いません。
using Realms; using System; namespace RealmSample { public class Department : RealmObject { [PrimaryKey] public string DeptId { get; set; } = Guid.NewGuid().ToString(); public string Name { get; set; } public string Manager { get; set; } } }
Realmがサポートしているデータ型について
現在Realmがサポートしているデータ型は以下のものがあります。
- bool
- char
- byte
- int
- long
- float
- double
- string
- DateTimeOffset(※DateTimeではないので注意)
- IList<T>
次回は、データベース操作について取り上げます。
コメント