3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【NCMB】mbaasでデータストアに登録してみた

Last updated at Posted at 2019-01-18

mbaasって何?

  • Mobile Backend as a Serviceの略
  • スマホアプリで良く利用される汎用的な機能を無料で提供してくれるサービス
  • サーバーの構築や開発が不要な為、楽にスマホアプリを開発できる

なんでNCMBを選んだの?

  • ググったら一番最初に出てきたから
  • 全て日本語だし、マニュアルも豊富なので初心者にオススメ・・・らしい

準備

  • Android Studio
  • NCMBのアカウント

NCMBのアカウント作成

https://mbaas.nifcloud.com/ にアクセスして新規登録

  • 好きな方法で新規登録(自分はGoogleでやりました)
    スクリーンショット 2019-01-18 17.45.44.png

  • 好きなアプリ名を入れる
    新規登録.png

  • APIキーが作成されるので保管(後からまた見れる)
    APIキー.png

SDKのダウントロード&インストール

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

スクリーンショット 2019-01-18 18.06.15.png

  • AndroidManifest.xmlのapplicationタグの直前に以下のpermissionを追加
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

スクリーンショット 2019-01-18 18.23.08.png

  • applicationタグに以下を追加します。
android:name="com.nifcloud.mbaas.core.NCMBApplicationController"

スクリーンショット 2019-01-18 18.24.56.png

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>

ボタンとエディットテキストが表示される。
Photo_19-01-18-18-33-49.642.png

登録処理の作成

  • 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();
                        }
                    }
                });
            }
        });
    }

}

動作確認

Photo_19-01-18-18-44-51.284.png
Photo_19-01-18-18-44-48.751.png

  • ブラウザからデータストア確認
    スクリーンショット 2019-01-18 18.47.37.png

まとめ

最後らへん説明端折ってしまったが、やってることは単純。
初心者の自分でも簡単にデータ登録できてしまった・・・おそるべし。
mbaasの概要は知っていたけど実際に使ってみて便利さを思い知った。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?