Edited at

NiftyCloudに最低限触れるだけ触れてみる

More than 1 year has passed since last update.


セットアップ

セットアップとかはリンク先の公式チュートリアルを確認してくれた方が早いので割愛

ニフティクラウドmobile backendのAndroidStudio用チュートリアルページ

http://mb.cloud.nifty.com/doc/current/introduction/quickstart_android.html

後述するクラス・レコード・フィールドは学校で例えると

1年α組(クラス)の○太君(レコード)の握力(フィールド)

みたいな感じです。


とりあえず保存しよ

まずクラス名からNCMBObjectを作成します(新規クラスならストア登録時に自動的に新たなクラスが作られると思われ)

下記だと「TestClass」のNCMBObjectを作ります。

// クラスのNCMBObjectを作成

NCMBObject obj = new NCMBObject("TestClass");

次にデータの保存です

下記だとフィールド「num」に数値として「100」がセットされます。

// オブジェクトの値を設定

obj.put("num", 100);

また、下記のようにidをセットするとセットしたidのデータを更新し、下記を書かなければ新規レコードとして保存されます。

え?idが分からないって?上記のチュートリアルページを見ましょう。

//idのセット

obj.setObjectId("更新したいレコードのid");

最後にデータストアにデータを保存します。

ここで処理書いて遊びましょう。

// データストアへの登録

obj.saveInBackground(new DoneCallback() {
@Override
public void done(NCMBException e) {
if(e != null){
//保存に失敗した場合の処理
}else {
//保存に成功した場合の処理
}
}
});


じゃあ取得したい

まず同じようにクラス名からNCMBObjectを作成します。

ここで取得したいデータがあるクラス名を入れます。

// クラスのNCMBObjectを作成

NCMBObject obj = new NCMBObject("TestClass");

そして取得したいレコードのidを入れます。

え?idが分からn(省略

//idのセット

obj.setObjectId("取得したいレコードのid");

最後にデータストアからNCMBObjectとしてデータを取得します。

NCMBObjectとしてデータを取得するので、普通に使う場合は下記の「取得成功時の処理」内でやってるみたいにすれば取れます。

//取得データ格納用

int test;
//データストアから取得
obj.fetchInBackground(new FetchCallback<NCMBObject>() {
@Override
public void done(NCMBObject object, NCMBException e) {
if (e != null) {
//エラー時の処理
} else {
//取得成功時の処理
       //整数型で取得
       test=object.getInt("取得したいデータのフィールド名");
}
}
});


サンプルコード

とりあえずデータの保存と取得が出来ればいいやと思ったのでそれだけ


保存

// クラスのNCMBObjectを作成

NCMBObject obj = new NCMBObject("TestClass");

// オブジェクトの値を設定
obj.put("num", 100);

// データストアへの登録
obj.saveInBackground(new DoneCallback() {
@Override
public void done(NCMBException e) {
if(e != null){
//保存に失敗した場合の処理

}else {
//保存に成功した場合の処理

}
}
});


取得

//取得データ格納用

int test;

// クラスのNCMBObjectを作成
NCMBObject obj = new NCMBObject("TestClass");

//取得したいデータをidで指定
obj.setObjectId("取得したいデータのid");

//データストアから取得
obj.fetchInBackground(new FetchCallback<NCMBObject>() {
@Override
public void done(NCMBObject object, NCMBException e) {
if (e != null) {
//エラー時の処理

} else {
//取得成功時の処理
//整数型で取得
       test=object.getInt("num");
}
}
});


最後に

遊ぼう