目次

01.Activityの登録

画面遷移はFragmentではなく、Jetpack Composeで行うようにします。

そのため、Activityの登録に先立ってJetpack Composeの準備を行います。

Jetpack Composeの準備

バージョンカタログファイルにJetpack Composeの定義を追記します。

[versions]
   :
compose-ui       = "1.7.5"    # https://mvnrepository.com/artifact/androidx.compose.ui/ui
compose-material = "1.3.1"    # https://mvnrepository.com/artifact/androidx.compose.material3/material3
compose-activity = "1.9.3"    # https://mvnrepository.com/artifact/androidx.activity/activity-compose

[libraries]
   :
compose-ui       = { module = "androidx.compose.ui:ui",               version.ref = "compose-ui" }
compose-material = { module = "androidx.compose.material3:material3", version.ref = "compose-material" }
compose-activity = { module = "androidx.activity:activity-compose",   version.ref = "compose-activity" }

[plugins]
   :
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

3行目~5行目[versions]
コメントのURLを参照して最新安定バージョンを指定します。
9行目~11行目[libraries]
Jetpack Composeのライブラリを定義します。
15行目[plugins]
Composeプラグインを定義します。

追記後、『同期アイコン』で内容をプロジェクトに反映させます。

最上位のbuild.gradle.ktsにComposeプラグインの使用宣言を追記します。

plugins {
   :
  alias(libs.plugins.compose.compiler) apply false
}

3行目
バージョンカタログファイルのComposeプラグインを参照します。

追記後、『同期アイコン』で内容をプロジェクトに反映させます。

Composite Buildのアプリケーション用ロジックにJetpack Composeの定義を追記します。

   :
class ApplicationConfigurePlugin: Plugin<Project> {
  override fun apply(project: Project) {
    with(project) {
   :
      extensions.configure<ApplicationExtension> {
   :
        defaultConfig.targetSdk = catalog.version("target-sdk").toInt()
        buildFeatures.compose = true
   :
      }

9行目
Jetpack Composeを使用してビルドします。

追記後、『同期アイコン』で内容をプロジェクトに反映させます。

ビルドが正常に行えることを『ビルドアイコン』で確認します。

テーマの適用を削除

テーマが自動的に適用されると、意図しない配色等で悩むことがありますので、テーマの適用を削除します。

appのAndroidManifest.xmlから削除します。

   :
  <application
   :
    android:theme="@style/Theme.Android01"
   :
}

4行目
テーマの定義を削除します。


削除後、『同期アイコン』で内容をプロジェクトに反映させます。

Activityの登録

appモジュールにActivityを登録します。

android:studio:application:android-app0101.png

Activityの作成

appモジュールの最上位で右クリック➡『新規(N)』➡『Activity』➡『Gallery…』でActivityのテンプレートを表示します。

android:studio:application:android-app0102.png

Activityの選択

Empty Activity』を選択します。

次へ(N)』でActivityの情報を入力します。

android:studio:application:android-app0103.png

Activityの情報

起動時に実行されるActivityなので『Launcher Activity』を✅します。

完了(F)』でActivityが作成されます。

Hiltへの対応

appモジュールのMainActivityにHiltのEntryPointを追記します。

   :
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
   :

4行目
MainActivityのclass宣言の前に@AndroidEntryPointを指定します。