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

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

非公式Java SDKでデータストアの検索条件を追加しました

f:id:mbaasdevrel:20190318155501p:plain

Java言語で作られているAndroid SDKですが、これはAndroidが必須である、サーバサイドのJavaでは動作しません。そこで非公式ながらサーバサイドのJavaで動作するSDKを開発しています。

今回は多数存在するmBaaSの検索条件に対応しました。

利用法

実際のコードは次のようになります。

String applicationKey = "b34...01e";
String clientKey = "489...462";
NCMB ncmb = new NCMB(applicationKey, clientKey);
try {
  NCMBQuery Hello = ncmb.NCMBQuery("Hello");
  Hello.whereGreaterThanOrEqualTo("int", 400);
  Hello.whereLessThan("int", 800);
  ArrayList<NCMBObject> ary = Hello.find();
  ary.forEach((o) -> {
    try {
      System.out.println(o.getInt("int"));
    } catch (NCMBException e) {
      System.out.println(e);
    }
  });
} catch (NCMBException e) {
  System.err.println(e.getMessage());
}

対応している検索条件について

現在、下記のメソッドがあります。

  • whereEqualTo
  • whereContainedIn
  • whereContainedInArray
  • whereContainsAll
  • whereDoesNotExists
  • whereExists
  • whereGreaterThan
  • whereGreaterThanOrEqualTo
  • whereLessThan
  • whereLessThanOrEqualTo
  • whereNotContainedIn
  • whereNotContainedInArray
  • whereNotEqualTo

これらのメソッドはAndroid SDKのNCMBQueryに合わせてあります。使い方も変わりません。

コードについて

コードはNCMBMania/java-sdkにあります。まだ開発中であまり機能はありません。

まとめ

mBaaSでは他にも位置情報による検索、サブクエリでの検索、OR条件など複雑な条件指定が可能になっています。Java SDKではまだ網羅していませんが、徐々に実装していきます。

中津川 篤司

中津川 篤司

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