昨年ニフクラ mobile backendの公式SDKに追加されたKotlin SDK、皆様はもう使ってみましたか?
今回は、Android StudioとKotlin SDKを使ってアプリを開発する方法を解説いたします。
はじめに
こんにちは!ニフクラ mobile backend 企画担当の竹田です🐣
まだまだJavaで開発されているアプリも多いですが、2019年にGoogleがKotlinファーストを強化すると発表して以降、より簡潔なコードで記述できるKotlinの需要も年々増加傾向にあります。
今後アプリ開発のためにJavaを習得しようとしている方はよりモダンな言語であるKotlinの学習をしてみてはいかがでしょうか。
本記事ではKotlinでクラウドにデータを保存する方法を学習していきましょう。
準備するもの
今回は以下を使ってアプリ開発を進めていきます。
- Android Studio
- Kotlin SDK (Githubへ遷移します)
- ニフクラ mobile backendアカウント(無料)
Android Studioの準備
インストールが済んでいない方は、下記に大変分かりやすくまとめてくださっているサイトがありますのでご参考いただければと思います。
※記事内の「AVDの設定」まで行い、エミュレータを起動できるようにしてください。
Android Studioの始め方。インストールから使い方まで。 | プログラミングの始め方
(外部サイトへ遷移します)
インストールが済んだ方は、New Projectを作成していきましょう。
今回はEmpty Activityを選択して作成してください。
Minimum SDKではアプリを実行できる最も古いバージョンの Android プラットフォームの API レベルを決めています。
アプリ開発の練習においてはそこまで気にする必要もありませんので、今回は変えずにそのままFinishを押します。
ここまで出来たら次に、Kotlin SDKのインストールに移りましょう。
Kotlin SDKのインストール
Kotlin SDK はGithubリリースページより、NCMB.x.x.x.zipの最新版をDLしてください。
※ニフクラ(nifcloud) mobile backend でNCMBといいます。
※Kotlin SDKはNCMBが公式でサポートしているSDKであり、KotlinでNCMBの機能を使うための道具箱のようなものです。
DLしたzipを解凍してNCMB.jarを用意したら、Android Studioの画面を操作していきます。
左上のタブを操作し、Projectビューへ変更したらapp/libs/NCMB.jarとなるようにファイルを配置してください。
次に、app/build.gradleファイルへ以下を追記します。
dependencies { implementation 'com.squareup.okhttp3:okhttp:4.8.1' implementation 'com.google.code.gson:gson:2.3.1' api files('libs/NCMB.jar') //同期処理を使用する場合はこちらを追加していただく必要があります implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9' }
追記した後は画像右上の赤枠の通りSync nowを押してください。
追記した内容が同期されます。
AndroidManifest.xml を編集します
applicationタグの直前に以下のpermissionを追加します。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
SDKを読み込みます
MainActivity.ktを開いてください。(main/java フォルダ内にあります)
冒頭にライブラリをインポートし、ニフクラ mobile backendの機能を利用可能にしていきます。
ライブラリを使用する際には、使用する機能に合わせて下記のようなインポート文を記述する必要があります。
今回はデータストアの機能を利用するために必要なインポート文を記述していきましょう。
import com.nifcloud.mbaas.core.NCMB //全機能で必要 import com.nifcloud.mbaas.core.NCMBCallback //非同期処理を行うために必要 import com.nifcloud.mbaas.core.NCMBObject //データストアを利用するために必要
画像の赤枠のように追加されていたらOKです。
ここまで終わったら一旦ニフクラ mobile backendを操作していきましょう。
ニフクラ mobile backendとの連携
ニフクラ mobile backendの管理画面へ初回ログインしたら、アプリ作成画面が表示されます。
※アプリはあとから複数作成可能です。
アプリを作成したら、アプリに紐づくAPIキーが発行されます。
※APIキー ・・・ アプリケーションキー , クライアントキー
アプリを作成後、管理画面右上からアプリ設定をクリックしてAPIキーをコピーできるように準備しておきます。
それでは、Android Studioへニフクラ mobile backendを連携していきます。
MainActivity.ktを開き、以下の通り記述してください。
※onCreate()メソッド内へ記述しましょう。ここに書かれたものはアプリ起動時に読み込まれます。
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // APIキーの設定とSDK初期化 NCMB.initialize(this, "YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY") // ↑先ほど表示したAPIキーをコピペしてください↑ //後ほどここにコーディングしていきます setContentView(R.layout.activity_main) }
これでニフクラ mobile backendと連携が出来ましたので、Android StudioからAPIを通してデータを扱う事が出来るようになりました。
データストアに保存してみましょう
それではクラウド上にデータを保存していきましょう。
今回はデータストアにTestClassというクラスを作成し、
予めコード内で用意した"Hello, NCMB!"という文字をmessageフィールドに格納していきます。
先ほど記述したAPIキーの後に続けて、以下のコードを追加してください。
// クラスのNCMBObjectを作成 val obj = NCMBObject("TestClass") // データストアに保存する値を設定 // obj.put("key", "value") obj.put("message", "Hello, NCMB!") obj.saveInBackground(NCMBCallback { e, ncmbObj -> if (e != null) { //保存に失敗した場合の処理 print("保存に失敗しました : " + e.message) } else { //保存に成功した場合の処理 val result = ncmbObj as NCMBObject print("保存に成功しました ObjectID :" + result.getObjectId()) } })
ここまで出来たらビルドしてみましょう。
Android Studio 右上の Run appを押してください。エミュレータが起動し、以下のような画面が立ち上がります。
ビルドした後にNCMBのデータストアを確認し、データの保存が確認できれば成功です!
おわりに
今回は入門編としてNCMBのKotlin SDKの使い方について紹介いたしました。
Android Studio や Kotlin を学習し、自分の作りたいAndroidアプリを開発していきましょう!
次回はAndroid Studioの便利な機能や、もう少し応用したアプリのサンプルコードなどを紹介していこうと思います。