マサルの備忘録

ハイオク仕様のトルクフルな備忘録

NIFTY Cloudのモバイルバックエンドにデータをアップロードしてみる話(Android編)

スポンサーリンク

mBaaSでーす。

f:id:domomasarudesu:20160306232110p:plain

今まで色んな工作をしてきました

いままではスタンドアローンというか、
ネットに繋がってどうこうするものでは
なかったので、今回はmBaaSを使います。

masaru.hateblo.jp

前回作ったRBaaSでは温度情報を
確認するすべがなかったので、
mBaaSに情報を流したいなぁと思っていました。

mBaaSといっても色々ありますねぇ

matome.naver.jp

ミーハーなので今回はニフティ
サービスを使ってみます。

とりあえず無料で使えます

mb.cloud.nifty.com

ニフティのmBaaSは無料な上に、
AndroidやJSなど色んなプラットフォームに
SDKが提供されているので、
ゆとりでも安心。

とりあえず、Android向けにコードを書いてみます。

サンプルコードはオフィシャル見てください(笑)

この辺見れば幸せになれます。
ドキュメント : 開発者向けドキュメント | ニフティクラウド mobile backend

まずは、SDKのダウンロード。

github.com

JARファイルが公開されているので、
これをダウンロードしてlibsフォルダに入れます。
・・・gradleのdependenciesに記載すれば
良いようにしてくれればいいのに・・・(笑)
と言ってもしょうがないので、以下のように記載。

dependencies {
    compile 'com.google.code.gson:gson:2.3.1'
    compile files('libs/NCMB.jar')
}

gsonも使うようです。

もちろん、このSDKはインターネット接続を
行うのでパーミッションの記載が必要です。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Javaも書きます。
といっても、クソ簡単です。

とりあえずAppKeyとClientKeyを準備。
ニフティのページから取得できます。

private static final String sAppKey = "hogehoge";
private static final String sClientKey = "fugafuga";

SDKで提供されている便利クラスの
初期化も1行で終了。

NCMB.initialize(context, sAppKey, sClientKey);

簡単すぎます。
あまりmBaaSではメインの使い方じゃないですが、
画像をアップロードするコードを書いてみます。

public void uploadPhoto(String path) {
    NCMBFile file = new NCMBFile("image.jpg", getBytes(path), new NCMBAcl());
    file.saveInBackground(new DoneCallback() {
        @Override
        public void done(NCMBException e) {
            if (e == null) {
                // showToast("saved.");
            } else {
                // showToast("save failed.");
            }
        }
    });
}

まぁ、とにかく楽。
Exceptionがなければ成功とする
ちょっといい加減なコールバックの
インタフェースもあるので、
実装自体は楽です。

mBaaSをAndroidでどう使うか

Arduinoみたいな単細胞なセンサーから
取った値をどうにかしてAndroid端末に持ってきて、
mBaaSにアップするのがアレかな。