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.8

コードでは次のようにインポートします。

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に近いです。

var item = ncmb.NCMBObject('Item');

特殊な型について

一般的な型としては文字列、数字、配列、オブジェクトが挙げられます。さらにデータストアでは次の型が利用できます。

日付型

日付はDateTime型になります。

item.set('time', DateTime.now())

データストア

データストアをポインターとして紐付けられます。

item.set('item', items[1])

位置情報型

位置情報検索に利用できる、位置情報型は ncmb.GeoPoint で生成します。引数は最初が緯度、次が経度です。

item.set('geo', ncmb.GeoPoint(35.658611, 139.745556));

まとめ

データストアでは様々な型が使えます。現時点で足りないのはリレーション型くらいでしょう(実装はちょっと面倒)。今後、さらにバージョンアップを行っていきます。なお、ソースコードは下記のリポジトリにて公開しています。ライセンスはMIT Licenseです。ぜひFlutterでもNCMBを活用してください!

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

中津川 篤司

中津川 篤司

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