Kotlin×Androidアプリ(ニフクラmBaaS)
■参考
https://mbaas.nifcloud.com/doc/current/introduction/quickstart_android.html
https://qiita.com/nifcloud_mb/items/5b6290977f3147c3bc4f
上記サイトは若干情報が古めなので下記手順で実施。
■環境
Android Studio3.5
NCMB.3.0.3
■プロジェクトの作成
Android Studioで新規プロジェクトを「空のアクティビティー」で作成。
「プロジェクトの構成」はデフォルトの設定のまま。
■jarのインポート
左上の表示を「Android」にし、「app」⇒「モジュール設定を開く」
「モジュール」タブ⇒「+」ボタン⇒「JAR/.AARパッケージのインポート」
project/app/libs配下にダウンロードして解凍しておいた「NCMB.jar」を選択
「依存関係」タブ⇒「app」⇒「+」ボタン⇒「3モジュール依存関係」⇒「NCMB」を選択(スコープは「implementation」)。
※この依存関係の設定をすれば、appの「build.gradle」にNCMB関連の追記は不要。追記してしまうとビルド時に「Program type already present」というエラーが出る。
■appの「build.gradle」
下記だけ追加。
implementation 'com.google.code.gson:gson:2.8.5'
■MainActivity.kt
import文とアプリキー・クライアントキーを追加。
また、SDKの初期化、起動時の処理を追加。
※APP_KEYとCLIENT_KEYは自分のアプリのキーに変更
※デバッグ確認の為「plintln()」を入れている。
import com.nifcloud.mbaas.core.NCMB
import com.nifcloud.mbaas.core.NCMBObject
//********** APIキーの設定 **********
const val applicationKey:String = "APP_KEY"
const val clientKey:String = "CLIENT_KEY"
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//********** SDKの初期化 **********
NCMB.initialize(applicationContext, applicationKey, clientKey)
//▼▼▼起動時に処理される▼▼▼
println("I an here")
// クラスのNCMBObjectを作成
var obj = NCMBObject("TestClass")
// オブジェクトに値を設定
/** 文字列 **/
obj.put("message", "Hello, NCMB!")
/** 配列 **/
obj.addUniqueToList("array", listOf("A","B","C"))
// データストアへの保存を実施
obj.saveInBackground { e ->
if (e != null) {
// 保存に失敗した場合の処理
println("It was failure")
} else {
// 保存に成功した場合の処理
println("It was success")
}
}
//▲▲▲起動時に処理される▲▲▲
}
}
■AndroidManifest.xml
applicationタグに下記を追加。
android:name="com.nifcloud.mbaas.core.NCMBApplicationController"
■実行
実行して、ニフクラ側にテーブルとレコードが追加されていることを確認。