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をお試しください。