1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Hexabase Flutter SDKの使い方(データストアの検索)

Posted at

Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。

APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。

この記事ではFlutter SDKについて、インストールとアプリケーションの作成・更新・削除の方法について解説します。

パッケージとソースコード

パッケージはpub.devで公開しています。

hexabase | Flutter Package

ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseです。

hexabase/hexabase-dart: Hexabase SDK for Dart & Flutter

インストール

インストールは dart pub get で行えます。

dart pub get hexabase

インポート

SDKをインポートします。

import 'package:hexabase/hexabase.dart';

初期化

まずインスタンスを作成します。

var client = Hexabase();

別なファイルで再度インポートした場合には、以下でインスタンスを取得してください。

var client = Hexabase.instance;

データストアの取得

まず登録しているデータストアを取得します。そのため、最初にデータストアを管理するプロジェクトを作成します。

var project = client.project(id: "PROJECT_ID");
var datastore = project.datastore(id: "DATASTORE_ID");

データストアからデータを取得

データストアからデータを取得する際には items メソッドを使います。

var items = await datastore.items();

データストアからデータを取得(全体の件数付き)

データストアから、検索結果数を含めて取得する際には itemsWithCount メソッドを使います。

var response = await datastore.itemsWithCount(query: query);
// response.count 結果件数
// response.items 取得されたデータ

検索条件を付与する

検索条件を利用する場合にはクエリーを取得してください。

var query = datastore.query();

例えば最初の10件を取得する場合には、次のように指定します。

query.page(1).per(10);

他にも様々な条件が指定できます。

オペランドを付与する

検索条件としては以下を用意しています。

条件 メソッド
= equalTo query.equalTo('name', 'value')
!= notEqualTo query.notEqualTo('name', 'value')
> greaterThan query.greaterThan("price", 100)
>= greaterThanOrEqualTo query.greaterThanOrEqualTo("price", 100)
< lessThan query.lessThan("price", 100)
<= lessThanOrEqualTo query.lessThanOrEqualTo("price", 100)
== "A" and == "B" and == "C" inArray query.inArray("name", ["A", "B", "C"])
!= "A" and != "B" and != "C" notInArray query.notInArray("name", ["A", "B", "C"])

これらは組み合わせて利用できます。

query
	.greaterThan("price", 100)
	.lessThan("price", 200)
	.equalTo("name", "value");

そして itemsitemsWithCount にてquery引数として指定します。

var items = await datastore.items(query: query);

まとめ

Hexabase Flutter SDKを使えば、複雑な条件を使ったデータ取得も容易に実現できます。ぜひお試しください。

Dart SDKはFlutterでも利用できます。Flutterで使えると言うことは、iOS/Androidといったスマートフォンアプリやタブレットアプリはもちろん、Webやデスクトップアプリ開発でも利用できます。ぜひHexabaseをDart SDKとともに活用してください。

hexabase | Flutter Package

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?