[Xamarin] 軽量データベースRealmを使用する(1) ~モデル作成編~

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>

次回は、データベース操作について取り上げます。

 

 

 

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.