ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

【Androidアプリ開発】Kotlinでスマホアプリ開発を始めませんか?

androidアプリ開発_サムネイル

昨年ニフクラ mobile backendの公式SDKに追加されたKotlin SDK、皆様はもう使ってみましたか?

今回は、Android StudioKotlin SDKを使ってアプリを開発する方法を解説いたします。

はじめに

こんにちは!ニフクラ mobile backend 企画担当の竹田です🐣

まだまだJavaで開発されているアプリも多いですが、2019年にGoogleがKotlinファーストを強化すると発表して以降、より簡潔なコードで記述できるKotlinの需要も年々増加傾向にあります。

今後アプリ開発のためにJavaを習得しようとしている方はよりモダンな言語であるKotlinの学習をしてみてはいかがでしょうか。

本記事ではKotlinでクラウドにデータを保存する方法を学習していきましょう。

準備するもの

今回は以下を使ってアプリ開発を進めていきます。

ニフクラ mobile backendとは? データの保存やプッシュ通知など、スマホアプリに欠かせないサーバー側の主要機能を開発無しで利用できるようにする為のサービスです。 無料から始める事が出来ますので、機能やサービス概要を是非ご覧ください。

mBaaSでサーバー開発不要! | ニフクラ mobile backend

Android Studioの準備

インストールが済んでいない方は、下記に大変分かりやすくまとめてくださっているサイトがありますのでご参考いただければと思います。

※記事内の「AVDの設定」まで行い、エミュレータを起動できるようにしてください。

Android Studioの始め方。インストールから使い方まで。 | プログラミングの始め方

(外部サイトへ遷移します)

インストールが済んだ方は、New Projectを作成していきましょう。

今回はEmpty Activityを選択して作成してください。

EmptyAcitivity1

EmptyActivity2

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の機能を使うための道具箱のようなものです。

install_KotlinSDK

DLしたzipを解凍してNCMB.jarを用意したら、Android Studioの画面を操作していきます。

左上のタブを操作し、Projectビューへ変更したらapp/libs/NCMB.jarとなるようにファイルを配置してください。

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を押してください。
追記した内容が同期されます。

gradle

AndroidManifest.xml を編集します

applicationタグの直前に以下のpermissionを追加します。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Androidマニフェスト

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  //データストアを利用するために必要

import

画像の赤枠のように追加されていたらOKです。
ここまで終わったら一旦ニフクラ mobile backendを操作していきましょう。

ニフクラ mobile backendとの連携

ニフクラ mobile backendの管理画面へ初回ログインしたら、アプリ作成画面が表示されます。 ※アプリはあとから複数作成可能です。 Kotlinアプリ新規作成

アプリを作成したら、アプリに紐づく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)
}

API連携

これでニフクラ 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の便利な機能や、もう少し応用したアプリのサンプルコードなどを紹介していこうと思います。

導入相談会

竹田侑祐

mobile backend企画担当。
誰もがアプリ開発に取り組みやすい環境を提供するため、日々勉強中