発車予定の表示機能を作成します。
:appモジュール側に必要な機能のみを公開する窓口モジュールを作成します。
開発の独立性が向上し、併せて保守性も向上するというメリットがあります。
uiモジュールの作成と同様に、トップディレクトリで:feature:departを作成し、javaディレクトリ名の変更、および、サンプルテストクラスの削除を行います。
モジュールのbuild.gradle.ktsにLibraryConfigurePluginを適用します。
:appからの画面遷移がありますので、Compose Navigationへの依存を行います。
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("build.logic.library.configure")
id("org.jetbrains.kotlin.plugin.compose")
}
android {
namespace = "jp.co.progress_llc.portal.feature.depart"
compileSdk {
version = release(36)
}
defaultConfig {
minSdk = 28
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
implementation(libs.navigation.compose)
}
適用後、『同期アイコン』で内容をプロジェクトに反映させます。