非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。
今回はデータストアのデータ更新と削除に対応したので、使い方を紹介します。
SDKのインポート
まずはSDKをインポートします。pubspec.yamlは以下のように記述します。
dependencies: ncmb: ^0.0.5
コードでは次のようにインポートします。
import 'package:ncmb/ncmb.dart';
Flutterであれば flutter pub get
、Dartであれば pub get
でライブラリをインポートできます。Visual Studio Codeであれば、エディタからインポートできるでしょう。
SDKの初期化
次にSDKを初期化します。
NCMB ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');
データストアのインスタンス作成
初期化したら、データストアのインスタンスを作成します。この辺りはSwift/Objective-C/JavaなどのSDKに近いです。
NCMBObject item = ncmb.Object('Item')
データを設定する際には set メソッドを使います。
item.set('msg', 'Hello World');
なお、これは破壊的メソッドなので ..
を使ったカスケード記法が使えます。
NCMBObject item = ncmb.Object('Item') ..set('msg', 'Hello World');
型は基本的にNCMBで使えるものは、そのまま利用できます。文字列に限らず、数値、配列、真偽値、オブジェクトなどを利用できます。
NCMBObject item = ncmb.Object('Item') ..set('msg', 'Hello World') ..set('array', ['a', 'b']) ..set('int', 1) ..set('name', 'Atsushi');
データの保存
データを保存する際には save
メソッドを使ってください。objectIdの有無で作成、更新を切り替えますので処理は save
で統一できます。
await item.save();
処理は非同期なので、Futureが返っています。async/awaitを使って処理を行えます。
データの更新
データの更新は同じ save
メソッドで行います。
await item.set('name', 'goofmint'); await item.save();
更新すると updateDate
に値が入っています。
print(item.get('updateDate'));
データの削除
データの削除は destroy
メソッドで行います。
await item.destroy();
まとめ
データストアの保存、更新、削除ができるようになりました。今後、さらにバージョンアップを行っていきます。なお、ソースコードは下記のリポジトリにて公開しています。ライセンスはMIT Licenseです。ぜひFlutterでもNCMBを活用してください!