- AndroidStudioで作成したAndroidアプリから、ニフティクラウドmobile backendへデータ登録を行うサンプアプリです.
- 「START DEMO」ボタンをタップするとクラウドにデータが上がります★
- 簡単な操作ですぐに ニフティクラウドmobile backendを体験いただけます
Android Studioでボタンが一個アプリを作成し、 ボタンを押したら、データが保存されます。 イメージ的は以下のようになります。
- Android Studio
- mBaaSのアカウント作成
- テンプレートプロジェクトをダウンロード
- SDKを追加(済み・最新SDKを利用したい場合、更新作業として行ってください)
- アプリ作成し、キーを設定
- 動作確認
- プロジェクトのGithubページから「Download ZIP」をクリックします。
- プロジェクトを解凍します
- AndroidStudioを開きます、既存プロジェクトを開くことを選択します。
SDKとはニフティクラウドmobile backendが提供している「データストア」「プッシュ通知」などの機能をAndroidからも簡単にコード書ける(数行ぐらい)ライブラリーのものです。
mBaaSでは、Android, iOS, Unity, JavaScript SDKを提供しています。 今回Android SDKの追加し方と設定を紹介します。 ※ダウンロードしたプロジェクトには既に設定済みですが、最新ではない場合、ご自身で入れ替えてください!またご自身のプロジェクトにもSDKを追加したい場合も同じく実装必要です。
- SDKダウンロード
SDKはここ(SDKリリースページ)から取得してください.
- NCMB.jarファイルがダウンロードします。
- SDKをインポート
- app/libsフォルダにNCMB.jarをコピーします
- 設定追加
- app/build.gradleファイルに以下を追加します
dependencies {
compile 'com.google.code.gson:gson:2.3.1'
compile files('libs/NCMB.jar')
}
- androidManifestの設定
タグの直前に以下のpermissionを追加します。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- 会員登録(無料)をし、登録ができたらログインをすると下図のように「アプリの新規作成」画面出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)は先ほどインポートしたAndroidStudioで作成するAndroidアプリにニフティクラウドmobile backendの紐付けるため、あとで使います.
この後動作確認でデータが保存される場所も確認しておきましょう
- AndroidStudioでMainActivity.javaにあるAPIキー(アプリケーションキーとクライアントキー)の設定をします
-
それぞれ
YOUR_APPLICATION_KEY
とYOUR_CLIENT_KEY
の部分を書き換えます -
このとき、ダブルクォーテーション(
"
)を消さないように注意してください! -
AndroidStudioからビルドする。
-
「プロジェクト場所」\app\build\outputs\apk\ ***.apk ファイルが生成される
アプリにてボタンをタブし、保存成功!とメッセージが表示しました。
mBaaS側もデータが保存されたことを確認しています!
- SDKおよび必要なライブラリーをインポートします
import com.nifty.cloud.mb.core.DoneCallback;
import com.nifty.cloud.mb.core.NCMB;
import com.nifty.cloud.mb.core.NCMBException;
import com.nifty.cloud.mb.core.NCMBObject;
- SDKを初期化
MainActivityのOnCreateメソッドに実装、ここでAPIキーを渡します。
@Override
protected void onCreate(Bundle savedInstanceState) {
<省略>
//**************** APIキーの設定とSDKの初期化 **********************
NCMB.initialize(this, "YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY");
}
-
データを保存する実装
-
mBaaSのAndroid SDKが提供するNCMBObjectクラスがデータストアを操作するためのクラス。データを保存するには、このクラスが提供するsaveInBackgroundメソッドを利用し、保存します。
-
NCMBObjectのインスタンスobjを作成し、"TestClass"を指定することで、データストアにTestClassクラスを操作することができます。
-
インスタンスobjに(キー、バリュー)というふうに、設定します。この場合、"キー"が"message", その"バリュー"が"Hello, NCMB!"として指定しています。
-
saveInBackground()を実施することで、非同期に保存が行われます。非同期実施するため、DoneCallBack()を使って、成功・失敗処理を指定します。
- 成功する場合、アラートで保存したIDを合わせて表示します。
- 失敗する場合、アラートでエラーを合わせて表示します。
final NCMBObject obj = new NCMBObject("TestClass");
obj.put("message", "Hello, NCMB!");
obj.saveInBackground(new DoneCallback() {
@Override
public void done(NCMBException e) {
if (e != null) {
//保存失敗
new AlertDialog.Builder(MainActivity.this)
.setTitle("Notification from Nifty")
.setMessage("Error:" + e.getMessage())
.setPositiveButton("OK", null)
.show();
} else {
//保存成功
new AlertDialog.Builder(MainActivity.this)
.setTitle("Notification from Nifty")
.setMessage("Save successfull! with ID:" + obj.getObjectId())
.setPositiveButton("OK", null)
.show();
}
}
});
サンプルコードをカスタマイズすることで、様々な機能を実装できます! データ保存・データ検索・会員管理・プッシュ通知などの機能を実装したい場合には、 以下のドキュメントもご参考ください。
データを保存するってサーバを立てたり、自分でサーバ運用とか、設計とか、アプリからサーバーとのやりとりも色々考慮しなければなりません。 最短方法というのは、このようにmBaaSサービスを使って、運用、設計など自分でやらなくて済む、開発も数行コード書けばいいという便利なものはいかがでしょうか?
- Fork it!
- Create your feature branch: git checkout -b my-new-feature
- Commit your changes: git commit -am 'Add some feature'
- Push to the branch: git push origin my-new-feature
- Submit a pull request :D
MITライセンス
NIFTY Cloud mobile backendのAndroid SDKのライセンス