概要
- この記事は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 2.xの場合
- プラグインを入れます。
- Kotlinファイルをビルドするための設定
- JavaファイルをKotlinへ変換します
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としてプロジェクトに追加します。
3. インストールしたSDKを読み込む
-
MainActivity.kt
ファイルのpackage <application_package>
の下に、下記の内容を追記します。
Kotlin
import com.nifcloud.mbaas.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 のダッシュボードからデータストアを見ると、データが保存されたことが確認できます!