Skip to content

プロジェクトに依存関係を追加する

このチュートリアルではIntelliJ IDEAを使用していますが、Android Studioでも同様に進めることができます。どちらのIDEもコア機能とKotlin Multiplatformのサポートを共有しています。



これは「共有ロジックとネイティブUIを備えたKotlin Multiplatformアプリを作成する」チュートリアルの第3部です。進む前に、前の手順を完了していることを確認してください。

First step

Kotlin Multiplatformアプリを作成する
This tutorial uses IntelliJ IDEA, but you can also follow it in Android Studio – both IDEs share the same core functionality and Kotlin Multiplatform support. This is the first part of the Create a Kotlin Multiplatform app with shared logic and native UI tutorial. Create your Kotlin Multiplatform app Update the user interface Add dependencies Share more logic Wrap up your project

Second step
ユーザーインターフェースを更新する
This tutorial uses IntelliJ IDEA, but you can also follow it in Android Studio – both IDEs share the same core functionality and Kotlin Multiplatform support. This is the second part of the Create a Kotlin Multiplatform app with shared logic and native UI tutorial. Before proceeding, make sure you've completed previous steps. Create your Kotlin Multiplatform app Update the user interface Add dependencies Share more logic Wrap up your project

Third step 依存関係を追加する
Fourth step より多くのロジックを共有する
Fifth step プロジェクトを完了する

最初のクロスプラットフォームKotlin Multiplatformプロジェクトはすでに作成しましたね!ここでは、成功するクロスプラットフォームアプリケーションを構築するために不可欠な、サードパーティライブラリへの依存関係の追加方法を学びましょう。

依存関係の種類

Kotlin Multiplatformプロジェクトで利用できる依存関係には、次の2種類があります。

  • Multiplatform依存関係。これらは、複数のターゲットをサポートし、共通ソースセット commonMain で使用できるマルチプラットフォームライブラリです。

    多くの最新のAndroidライブラリは、すでにKoinApolloOkioのようにマルチプラットフォームをサポートしています。JetBrainsが提供するKotlin Multiplatformライブラリ発見のための実験的な検索サービスであるklibs.ioで、さらに多くのマルチプラットフォームライブラリを見つけることができます。

  • ネイティブ依存関係。これらは関連するエコシステムの通常のライブラリです。ネイティブプロジェクトでは、AndroidではGradleを、iOSではCocoaPodsまたは別の依存関係マネージャーを使用して作業するのが一般的です。

    共有モジュールで作業する場合、通常、セキュリティストレージなどのプラットフォームAPIを使用したい場合は、依然としてネイティブ依存関係が必要です。ネイティブ依存関係は、ネイティブソースセット androidMain および iosMain に追加できます。

どちらのタイプの依存関係でも、ローカルおよび外部リポジトリを使用できます。

マルチプラットフォーム依存関係を追加する

Androidアプリ開発の経験がある場合、マルチプラットフォーム依存関係の追加は、通常のAndroidプロジェクトでGradle依存関係を追加するのと似ています。唯一の違いは、ソースセットを指定する必要があることです。

アプリに戻って、挨拶を少しお祝いムードにしてみましょう。デバイス情報に加えて、新年までの残り日数を表示する関数を追加します。kotlinx-datetimeライブラリは、完全にマルチプラットフォームをサポートしており、共有コードで日付を扱う最も便利な方法です。

  1. sharedディレクトリにあるbuild.gradle.ktsファイルを開きます。

  2. 次の依存関係とKotlin time opt-inをcommonMainソースセットの依存関係に追加します。

    kotlin
    kotlin {
        //... 
        sourceSets
            languageSettings.optIn("kotlin.time.ExperimentalTime")
            commonMain.dependencies {
                implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.7.1")
            } 
        }
    }
  3. Sync Gradle Changesボタンをクリックして、Gradleファイルを同期します。 Synchronize Gradle files

  4. shared/src/commonMain/kotlin内で、Greeting.ktファイルがあるプロジェクトディレクトリに、新しいファイルNewYear.ktを作成します。

  5. date-timeの日付計算を使用して、今日から新年までの日数を計算する短い関数でファイルを更新します。

    kotlin
    import kotlinx.datetime.*
    import kotlin.time.Clock
    
    fun daysUntilNewYear(): Int {
        val today = Clock.System.todayIn(TimeZone.currentSystemDefault())
        val closestNewYear = LocalDate(today.year + 1, 1, 1)
        return today.daysUntil(closestNewYear)
    }
    
    fun daysPhrase(): String = "There are only ${daysUntilNewYear()} days left until New Year! 🎆"
  6. Greeting.ktで、結果を確認するためにGreetingクラスを更新します。

    kotlin
    class Greeting {
        private val platform: Platform = getPlatform()
    
        fun greet(): List<String> = buildList {
            add(if (Random.nextBoolean()) "Hi!" else "Hello!")
            add("Guess what this is! > ${platform.name.reversed()}!")
            add(daysPhrase())
        }
    }
  7. 結果を確認するには、IntelliJ IDEAからcomposeAppiosAppの構成を再実行します。

Updated mobile multiplatform app with external dependencies

次のステップ

チュートリアルの次のパートでは、さらに多くの依存関係とより複雑なロジックをプロジェクトに追加します。

次のパートに進む

関連項目

ヘルプ