モケラ

Tech Sheets

mokelab

KiiLibを使ってユーザースコープのバケツにオブジェクトを入れる

最終更新日:2015-08-28

Kii Cloudにおけるバケツがどのようなものかイメージできたところで、ユーザースコープのバケツにオブジェクトを入れてみましょう。バケツにオブジェクトを追加するには、ObjectAPIのcreate()を使います。

public void create(String title, String description) {
    JSONObject json = new JSONObject();
    try {
        json.put(Memo.FIELD_TITLE, title);
        json.put(Memo.FIELD_DESCRIPTION, description);
        json.put(Memo.FIELD_DONE, false);
    } catch (JSONException ignore) {
        // nop
    }

    KiiBucket bucket = new AndroidKiiBucket(new AndroidKiiUser("me", null), BUCKET_NAME);
    mObjectAPI.create(bucket, json, AndroidKiiObjectDTO.getInstance(), new ObjectAPI.ObjectCallback<AndroidKiiObject>() {
        @Override
        public void onSuccess(AndroidKiiObject item) {
            // オブジェクト作成が成功したときの処理
        }

        @Override
        public void onError(KiiException e) {
            // オブジェクト作成が失敗したときの処理
       }
    });
}

順にみていきましょう

保存するJSONObjectを作る

Kii Cloudで保存されるオブジェクトはJSONObjectです。トップレベルのキーにはインデックスが張られ、検索の対象とすることができます。ここではフィールドを3つ持つオブジェクトを作りました。

JSONObject json = new JSONObject();
try {
    json.put(Memo.FIELD_TITLE, title);
    json.put(Memo.FIELD_DESCRIPTION, description);
    json.put(Memo.FIELD_DONE, false);
} catch (JSONException ignore) {
    // nop
}

バケツオブジェクトを作る

次に、オブジェクトをいれるバケツを表すオブジェクトを作ります。第1引数には所有者を表すオブジェクトを指定します。ここでは、ログイン中のユーザーのバケツにいれたいので、"me"をIDとしてユーザーオブジェクトを作成します。第2引数にはバケツ名を指定します。

KiiBucket bucket = new AndroidKiiBucket(new AndroidKiiUser("me", null), BUCKET_NAME);

オブジェクト作成リクエストを投げる

ここまでできたら、あとはObjectAPIのcreate()を呼ぶだけです。

mObjectAPI.create(bucket, json, AndroidKiiObjectDTO.getInstance(), new ObjectAPI.ObjectCallback<AndroidKiiObject>() {
    @Override
    public void onSuccess(AndroidKiiObject item) {
        // オブジェクト作成が成功したときの処理
    }

    @Override
    public void onError(KiiException e) {
        // オブジェクト作成が失敗したときの処理
   }
});

一覧に戻る