Android
Kotlin
framework
mBaas
NCMB

KotlinでmBaaSを始めよう!

概要

  • この記事はKotlinアプリに ニフクラ mobile backend (mBaaS)を導入する方法記載しています。
  • さらに簡単にmBaaSが導入できましたのでその方法をご紹介します。

準備するもの

  • PC
    • Mac OS X 10.13 (High Sierra)で動作確認しています
  • Android Studio 2.x、3.0
  • ニフクラ mobile backend の登録とアプリの新規作成

※使用した環境を記載しています
※上記環境以上でないと動作しない可能性があります。

手順

1. Android StudioでKotlinのプロジェクトを作成する

  • Android Studio 3の場合

    • Android Studioを起動して、「Start a new Android Studio project」を選択します。
    • 次の画面に「Include Kotlin support」というチェックマークがあるので、こちらをチェックして、あとは普通にプロジェクトを作っていきます。 StartProjectKotlin.png
  • Android Studio 2.xの場合

    • プラグインを入れます。
      • メニューから「Preference」を開きます。
      • 左ペインから「Plugins」を選択し、「Install JetBrains plugin..」を選択します。
      • サーチバーで「Kotlin」と検索し、「Kotlin」というプラグインをインストールします。
      • Android Studioを再起動します。
        KotlinPlugin.png
    • Kotlinファイルをビルドするための設定
      • メニューバーの「Tools」から「Kotlin」を選択し、 「Configure Kotlin in Project」を選択します。
      • 任意のKotlinのバージョンを選択してもよいです。 ConfigKotlin.png
    • JavaファイルをKotlinへ変換します
      • 任意Javaファイルを選択し、メニューの「Code」を選択し、「Convert Java File to Kotlin File」を選択します。
      • 自動でコンバートされます。 ConverJavaToKotlin.png

2. Android用SDKをインストールする

  • NCMBのGithubリリースページのNCMB.x.x.x.zip ボタンからダウンロードしてください。
  • プロジェクトを右クリックし、メニューから「Open Module Settings」を選択します。
  • 「Project Structure」「Modules」を選択し、「+」ボタンを押して「Import .JAR/.AAR Package」を選択します。
  • NCMB.jarを選択し、「Finish」ボタンをクリックします。
  • 作成したModuleをModule dependencyとしてプロジェクトに追加します。 Dependencies.png

3. インストールしたSDKを読み込む

  • MainActivity.ktファイルのpackage <application_package>の下に、下記の内容を追記します。
Kotlin
import com.nifty.cloud.mb.core.NCMB

※【注意】他のファイルでSDKを使用する場合は、その対象ファイルにも上記を追記する必要があります!

4. MainActivity.ktを編集する

  • ニフクラ mobile backend を使うために必要なAPIキーの設定とSDKの初期化処理はMainActivity.ktここに書いておきます
  • 下記のコードをMainActivity.ktに貼り付けてください。
  • そのとき、2つのAPIキーをニフクラ mobile backend のダッシュボード上からコピーして書き換えてください(※アプリケーションキーとクライアントキーをそれぞれ「YOUR_NCMB_APPLICATIONKEY」と「YOUR_NCMB_CLIENTKEY」の部分に書きます)
Kotlin
//********** APIキーの設定 **********
const val applicationKey:String = "YOUR_NCMB_APPLICATIONKEY"
const val clientKey:String = "YOUR_NCMB_CLIENTKEY"

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        //********** SDKの初期化 **********
        NCMB.initialize(applicationContext, applicationKey, clientKey)
        //▼▼▼起動時に処理される▼▼▼

        //▲▲▲起動時に処理される▲▲▲
    }
}

5. mBaaSのコードを試してみよう!

  • 下記のサンプルはデータストアにデータを上げるサンプルコードです。実際に書いて(コピペして)実行してみましょう!
Kotlin
// クラスのNCMBObjectを作成
var obj = NCMBObject("TestClass")
// オブジェクトに値を設定
/** 文字列 **/
obj.put("message", "Hello, NCMB!")
/** 配列 **/
obj.addUniqueToList("array", listOf("A","B","C"))
// データストアへの保存を実施
obj.saveInBackground { e ->
    if (e != null) {
        // 保存に失敗した場合の処理
    } else {
        // 保存に成功した場合の処理
    }
}
  • 実行し、ニフクラ mobile backend のダッシュボードからデータストアを見ると、データが保存されたことが確認できます!