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) {
// オブジェクト作成が失敗したときの処理
}
});