NIFTY Cloudのモバイルバックエンドにデータをアップロードしてみる話(Android編)
mBaaSでーす。
今まで色んな工作をしてきました
いままではスタンドアローンというか、
ネットに繋がってどうこうするものでは
なかったので、今回はmBaaSを使います。
前回作ったRBaaSでは温度情報を
確認するすべがなかったので、
mBaaSに情報を流したいなぁと思っていました。
とりあえず無料で使えます
ニフティのmBaaSは無料な上に、
AndroidやJSなど色んなプラットフォームに
SDKが提供されているので、
ゆとりでも安心。
とりあえず、Android向けにコードを書いてみます。
サンプルコードはオフィシャル見てください(笑)
この辺見れば幸せになれます。
ドキュメント : 開発者向けドキュメント | ニフティクラウド mobile backend
まずは、SDKのダウンロード。
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がなければ成功とする
ちょっといい加減なコールバックの
インタフェースもあるので、
実装自体は楽です。