ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Xamarin用NCMB SDKを開発しています(データストア更新/削除編)

f:id:mbaasdevrel:20200710131602p:plain

XamarinはC#を使ったクロスプラットフォームなスマートフォンアプリ開発環境です。最近、コロナウイルス追跡アプリを作ったフレームワークとして注目されるようになりました。

NCMBではC#を使った開発環境としてUnityに対応していますが、あれはiOS/Android SDKをラッピングしているので、Xamarinでそのまま利用できません。C#のみで実装する必要があります。

ここでは現在開発中のXamarin用SDK(非公式)の使い方を紹介します。今回はデータストアの更新と削除についてです。

注意点

XamarinではNuGetを使ったライブラリ管理が行えます。しかし、試してみた限りではライブラリの依存関係が解決できず、開発できませんでした。現在はiOSプロジェクトでXamarinを作っている中に組み込む形での提供になります。

ダウンロード

NCMBMania/ncmb_xamarin: Xamarin SDK for NCMBのコードをダウンロードします。Xamarinプロジェクトにて、例えばNCMBといったフォルダを作成して、その中にファイルを放り込みます。

なお、ネームスペースが ncmb_xamarin になっていますので、適宜修正してください。また、依存ライブラリとして Json.NET(Newtonsoft.Json)を追加してください。

初期化

まず最初にSDKを初期化します。

var ncmb = new NCMB("ea5...265", "fe3...615");

データストアのインスタンス作成と保存

新規保存は次のように記述します。

var hello = ncmb.Object("Hello");
hello.set("message", "Hello world");
hello.set("number", 100);
hello.set("bol", true);
hello.set("time", DateTime.Now);
hello.save();

データストアの更新

更新処理は新規作成と変わりません。データを変更後、save メソッドを実行すればデータが更新されます。

hello.set("number", 200);
hello.save();

なお、データストアはメソッドチェーンに対応しています。

hello
  .set("number", 200)
  .set("pointer", hello2)
  .set("message", "Update message")
  .set("new", "data")
  .save();

ポインターについて

オブジェクト同士を関連づけるポインターも利用できます。

var hello2 = ncmb.Object("Hello");
hello2.set("name", "pointer");
hello2.save();

データの削除

データの削除は delete メソッドを使います。

hello.delete();

コードについて

コードはNCMBMania/ncmb_xamarin: Xamarin SDK for NCMBにアップロードしています。ライセンスはMIT Licenseになります。

まとめ

今回のコードを使うことで、データストアのデータ作成、更新、削除が行えるようになります。Xamarinは個人というよりも法人での利用が多いプラットフォームになるかと思います。企業内、クライアント案件などでニフクラ mobile backendを使う際にはぜひXamarin SDKをお試しください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。