Android
iOS
mBaas

ニフティクラウドmobile backendでファイルストアからデータを取得する

More than 1 year has passed since last update.

ニフティクラウドmobile backendに保存したデータを取得する方法が、SDKガイドだけでは分からなかったのでまとめてみます。

オブジェクトIDを指定して取得

データを一意に識別できるオブジェクトIDから取得する場合は下記のようになります。

NCMBQuery<NCMBObject> query = NCMBQuery.getQuery("GameScore");
query.getInBackground("オブジェクトID", new GetCallback<NCMBObject>() {
    @Override
    public void done(NCMBObject gameScore, NCMBException e) {
        if (e != null) {
            // エラー
            return;
        }
        // 処理
    }
});

検索条件を指定して取得

ある値を持つデータを取得する場合は下記のようになります。

NCMBQuery<NCMBObject> query = NCMBQuery.getQuery("GameScore");
query.whereEqualTo("検索対象の列", "値");
// List<NCMBObject> gameScores = query.find(); // 同期取得する場合
query.findInBackground(new FindCallback<NCMBObject>() { // 非同期取得する場合
    @Override
    public void done(List<NCMBObject> gameScores, NCMBException e) {
        if(e != null) {
            // エラー
            return;
        }
        // 処理
    }
});

データを1件だけ取得する場合は、find()の代わりにgetFirst()を使用します。

検索条件としては、他にもwhereLessThan()やwhereContainedIn()等があります。

詳しくは、クエリの使い方をご参照ください。