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

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

Flutter(Dart)用NCMB SDKの機能について(データ更新、削除)

f:id:mbaasdevrel:20200110154553p:plain

非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。

ncmb | Dart Package

今回はデータストアのデータ更新と削除に対応したので、使い方を紹介します。

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を活用してください!

NCMBMania/ncmb-dart: NCMB library for Dart and Flutter.