0
Help us understand the problem. What are the problem?

posted at

NCMB Kotlin SDKを使ってTodoアプリを作る(その1 アプリの仕様とNCMBの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

完成版のコード

作成したデモアプリのコードはNCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリですにアップロードしてあります。

ベースについて

今回はKotlin + Jetpack Composeの組み合わせになっています。プロジェクトを作る際には Empty Compose Activity を選択してください。

Composeについて

今回は以下のComposeを用意しています。

  • Navigation
  • FormScreen
  • ListScreen
  • TaskRow
  • DetailScreen

Navigation

各画面への遷移をハンドリングしています。Navigationコンポーネントを利用しています。

FormScreen

Screenshot_20220414_155917.png

タスクの入力フォームです。新規登録、編集の両方で利用しています。

ListScreen

Screenshot_20220414_155935.png

タスクを一覧表示します。各行のデータはTaskRowにて表示しています。

TaskRow

タスクの一覧表示で、各行を表示するのに使います。

DetailScreen

Screenshot_20220414_155946.png

一覧表示で選択された、タスクの詳細表示を行います。

NCMB SDKのインストール

NCMB SDKはReleases · NIFCLOUD-mbaas/ncmb_kotlinよりダウンロードします。Zipファイルをダウンロードして展開すると、NCMB.jarというファイルが取得できます。このファイルをKotlinプロジェクトの app/libs 以下にコピーします。

これでNCMB SDKの利用準備が整います。

NCMB SDKの初期化

app/build.gradle を開いて編集します。そして以下の4つを追加します。一番下のkotlinx-coroutinesを追加すると、保存処理などが同期的に処理できるようになります。

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'
}

編集したら同期します。

コードの編集

MainActivity.ktを開いてNCMBの初期化を行います。 super.onCreate の下でNCMBを初期化します。 YOUR_APPLICATION_KEYYOUR_CLIENT_KEY はそれぞれあなたのものと書き換えてください。

// インポート
import com.nifcloud.mbaas.core.NCMB

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // NCMBの初期化
        NCMB.initialize(
            this.getApplicationContext(),
            "YOUR_APPLICATION_KEY",
            "YOUR_CLIENT_KEY"
        )
        setContent {
						// 省略
        }
    }
}

これでNCMBの初期化が終わり、利用準備が整います。

まとめ

今回はComponentの説明と、NCMB SDKの初期化を行いました。次回はタスクの保存処理について説明します。

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?