/KotlinDBdemoApp

Primary LanguageKotlinApache License 2.0Apache-2.0

【Android】ニフクラ mobile backend を体験しよう! for Kotlin

画像2

概要

  • AndroidStudioで作成したAndroidアプリから、ニフクラ mobile backendへデータ登録を行うサンプアプリです
  • アプリを起動して「START DEMO」ボタンをタップするとクラウドにデータを保存できます
  • 簡単な操作ですぐに ニフクラ mobile backend の機能を体験いただけます

ニフクラ mobile backend って何??

スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!

注1:詳しくはこちらをご覧ください

動作環境

  • Android Studio ver. 3.1
  • Android OS ver. 6.0
  • Android SDK v3
    • SDK v2系だと動作しないので注意

※上記内容で動作確認をしています。

手順

1. ニフクラ mobile backend の会員登録・ログインとアプリの新規作成

  • 下記リンクから会員登録(無料)をします
  • 登録ができたら下記リンクからログインします
  • 下図のように「アプリの新規作成」画面が出るのでアプリを作成します
    • 既に mobile backend を利用したことがある方は左上の「+新しいアプリ」をクリックすると同じ画面が表示されます

画像3

  • アプリ作成されるとAPIキー(アプリケーションキーとクライアントキー)が発行されます
  • この2種類のAPIキーはこの後ダウンロードするサンプルアプリと ニフクラ mobile backend を紐付けるため、あとで使います。

画像04

  • ついでに、この後動作確認でデータが保存される場所も確認しておきましょう

画像05

2. サンプルプロジェクトのダウンロード

  • 下記リンクをクリックしてプロジェクトをダウンロードします
  • https://github.com/NiFCloud-mbaas/KotlinDBdemoApp/archive/master.zip
  • ダウンロードしたプロジェクトを解凍します
  • AndroidStudio を開きます、「Open an existing Android Studio projct」をクリックして解凍したプロジェクトを選択します

5554_Nexus_5_API_23_2.png

  • プロジェクトが開かれます

androidstudio1.png

3. SDKの導入(実装済み)

※このサンプルアプリには既にSDKが実装済み(下記手順)となっています。(ver.3.0.0)
最新版をご利用の場合は入れ替えてご利用ください。

  • 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" />

4. APIキーの設定

  • AndroidStudio で MainActivity.kt を開きます

    • ディレクトリはデフォルトで「Android」が選択されていますので、「Project」に切り替えてから探してください 画像09
  • APIキー(アプリケーションキーとクライアントキー)の設定をします

画像07

  • それぞれ YOUR_APPLICATION_KEYYOUR_CLIENT_KEY の部分を書き換えます
  • このとき、ダブルクォーテーション(")を消さないように注意してください

5. 動作確認

  • エミュレーターでアプリをビルドします
    • 失敗する場合は一度「Clean Project」を実行してから再度ビルドしてください
  • エミュレーターが起動したら「START DEMO」ボタンをタップタブし、保存成功!とメッセージが表示しました。

5554_Nexus_5_API_23_3.png

mBaaS側もデータが保存されたことを確認しています!

画像08

コード説明

SDKおよび必要なライブラリーのインポート

import com.nifcloud.mbaas.core.NCMB
import com.nifcloud.mbaas.core.NCMBObject

SDKを初期化

  • MainActivity の OnCreate メソッド内
override fun onCreate(savedInstanceState: Bundle?) {
    <省略>
    //**************** APIキーの設定とSDKの初期化 **********************
    NCMB.initialize(this, "YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY")
}

データの保存

  • Android SDK が提供する NCMBObject クラスは、データストアを操作するためのクラスです
  • データを保存するには、このクラスが提供する saveInBackground メソッドを利用します
  • NCMBObject のインスタンス obj を作成し、クラス名「"TestClass"」を設定することで、データストアにデータの保存先クラスである「TestClass」クラスを作成・操作することができます
  • obj.put(Key, Value) で、フィールド「Key」に値「Value」を設定します
  • saveInBackground() : 保存の実行を行います(非同期処理)
val obj = NCMBObject("TestClass")
try {
    obj.put("message", "Hello, NCMB!")
    obj.saveInBackground { e ->
        if (e != null) {
            //保存失敗

        } else {
            //保存成功

        }
    }
} catch (e: NCMBException) {
    e.printStackTrace()
}

参考

データ保存・データ検索・会員管理・プッシュ通知などの機能を実装したい場合は、以下のドキュメント(Android for Java)もご参照ください。

Contributing

  • 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

License

MITライセンス
NIFCloud mobile backendのAndroid SDKのライセンス