mbaasって何?
- Mobile Backend as a Serviceの略
- スマホアプリで良く利用される汎用的な機能を無料で提供してくれるサービス
- サーバーの構築や開発が不要な為、楽にスマホアプリを開発できる
なんでNCMBを選んだの?
- ググったら一番最初に出てきたから
- 全て日本語だし、マニュアルも豊富なので初心者にオススメ・・・らしい
準備
- Android Studio
- NCMBのアカウント
NCMBのアカウント作成
https://mbaas.nifcloud.com/ にアクセスして新規登録
SDKのダウントロード&インストール
-
https://github.com/NIFCloud-mbaas/ncmb_android/releases にアクセスしてzipをダウンロード
-
app/build.gradleに以下を追加
compile 'com.google.code.gson:gson:2.3.1'
compile files('libs/NCMB.jar')
- AndroidManifest.xmlのapplicationタグの直前に以下のpermissionを追加
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- applicationタグに以下を追加します。
android:name="com.nifcloud.mbaas.core.NCMBApplicationController"
layoutを作成
- actitivity_main.xmlに以下を記載
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.test.testncmb.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/edittext"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Push"
android:id="@+id/button"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
登録処理の作成
- MainActivity.javaに以下を記載
package com.test.testncmb;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.nifcloud.mbaas.core.DoneCallback;
import com.nifcloud.mbaas.core.NCMB;
import com.nifcloud.mbaas.core.NCMBException;
import com.nifcloud.mbaas.core.NCMBObject;
public class MainActivity extends AppCompatActivity {
//NCMBにて取得したAPIKEYを記載
private final String app_key = "hogehoge";
private final String client_key = "hogehoge";
public String message = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//SDKの初期化
NCMB.initialize(this.getApplicationContext(),app_key,client_key);
//NCMBObjectの作成(クラス名は何でもOK)
final NCMBObject obj = new NCMBObject("Testclass");
final Context context = getApplicationContext();
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editText = findViewById(R.id.edittext);
//入力したテキスト取得
message = editText.getText().toString();
try{
//データストアに登録する値設定(messageカラムに登録)
obj.put("message",message);
}catch (NCMBException e){
e.printStackTrace();
}
//登録処理
obj.saveInBackground(new DoneCallback() {
@Override
public void done(NCMBException e) {
if(e != null){
//登録失敗
Toast.makeText(context, "ERROR", Toast.LENGTH_LONG).show();
} else {
//登録成功
Toast.makeText(context, "SUCCESS", Toast.LENGTH_LONG).show();
}
}
});
}
});
}
}
動作確認
まとめ
最後らへん説明端折ってしまったが、やってることは単純。
初心者の自分でも簡単にデータ登録できてしまった・・・おそるべし。
mbaasの概要は知っていたけど実際に使ってみて便利さを思い知った。