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ではまだ網羅していませんが、徐々に実装していきます。