앱에 Jetpack Compose 추가

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

기존 프로젝트에서 Jetpack Compose를 사용하려면 필요한 설정 및 종속 항목으로 프로젝트를 구성해야 합니다.

개발 환경 설정

정확한 Android 스튜디오 버전 설치

Jetpack Compose로 최적의 환경에서 개발하려면 Android 스튜디오를 다운로드하고 Android 스튜디오 버전에 맞는 Android Gradle 플러그인을 구성해야 합니다.

buildscript {
    ...
    dependencies {
        classpath "com.android.tools.build:gradle:7.3.0"
        ...
    }
}

Kotlin 구성

프로젝트에서 Kotlin 1.7.20을 사용하는지 확인합니다.

plugins {
    id 'kotlin-android'
}

Gradle 구성

앱의 최소 API 수준을 21 이상으로 설정하고 앱의 build.gradle 파일에서 Jetpack Compose를 사용 설정해야 합니다. 또한, 빠른 시작 가이드에 나와 있는 것처럼 라이브러리 종속 항목을 추가해야 합니다.

Compose에서 뷰 테마 재사용

Compose를 프로젝트에 방금 추가한 경우, Compose에서 고유 Material 테마를 처음부터 재작성하는 대신 뷰 시스템에 사용할 수 있는 테마를 Compose에서 상속할 수 있습니다.

Android 앱에서 MDC 라이브러리를 사용하는 경우, MDC Compose 테마 어댑터 라이브러리를 통해 기존 뷰 기반 테마의 색상, 글꼴 및 모양 테마를 컴포저블에 쉽게 재사용할 수 있습니다. 이렇게 하려면 MdcTheme API를 사용하면 됩니다.

AppCompat XML 테마를 대신 사용하고 있다면 AppCompatTheme API가 포함된 AppCompat Compose Theme Adapter를 사용하세요.

아래와 같이 앱의 build.gradle 파일에 필요한 종속 항목을 포함하세요.

dependencies {
    // When using a MDC theme
    implementation "com.google.android.material:compose-theme-adapter:1.1.16"

    // When using a AppCompat theme
    implementation "com.google.accompanist:accompanist-appcompat-theme:0.25.1"
}

Compose로 이전 시작

Compose로 이전을 시작하는 방법에 관한 안내는 이전 전략을 참고하세요. Compose를 점진적으로 안전하게 코드베이스에 도입하는 방법을 알아보세요.

ComposeView 및 기타 상호 운용성 API에 관한 자세한 내용은 상호 운용성 API 가이드를 확인하세요. Compose의 기타 리소스 API에 관해 자세히 알아보려면 Compose의 리소스 가이드를 확인하세요.

혼합 Compose/Views UI 테스트

앱의 일부를 Compose로 이전한 후 어떤 것도 손상되지 않았는지 확인하는 테스트가 중요합니다.

활동 또는 프래그먼트에 Compose를 사용한다면 ActivityScenarioRule을 사용하는 대신 ComposeTestRuleActivityScenarioRule과 통합하는 createAndroidComposeRule을 사용해야 합니다. 그러면 Compose와 View 코드를 동시에 테스트할 수 있습니다.

class MyActivityTest {
    @Rule
    @JvmField
    val composeTestRule = createAndroidComposeRule<MyActivity>()

    @Test
    fun testGreeting() {
        val greeting = InstrumentationRegistry.getInstrumentation()
            .targetContext.resources.getString(R.string.greeting)

        composeTestRule.onNodeWithText(greeting).assertIsDisplayed()
    }
}

테스트와 Espresso와의 상호 운용성에 관해 자세히 알아보려면 Compose 레이아웃 테스트 가이드를 확인하세요.

앱에 탐색 구성요소를 사용하는 경우 'Compose를 통해 이동' 가이드의 상호 운용성 섹션을 확인하세요.

다음 단계

Compose에 관한 자세한 내용은 도움말 색인에서 확인할 수 있습니다. 앱에 Compose를 채택하는 방법에는 여러 가지가 있습니다. 자세한 내용은 앱에 Compose 채택 가이드를 참고하세요. 이 가이드는 다른 가이드(예: 기존 아키텍처에서 사용하는 Compose기존 UI에서 사용하는 Compose)와도 연결되어 있습니다.