목표
Jetpack Compose의 개념을 이해하고, Android Studio에서 개발 환경을 설정한 후, 간단한 프로젝트를 통해 기본 동작을 확인합니다.
1. Jetpack Compose란 무엇인가?
Jetpack Compose는 안드로이드의 UI 툴킷으로, Kotlin 코드만으로 UI와 동작을 통합적으로 구현할 수 있습니다. 🛠️
Jetpack Compose의 주요 특징
- 기존 XML 파일 대신 Kotlin 코드로 UI를 작성
- 함수 기반 UI 구성
- 데이터 상태 변경 시 자동으로 UI 업데이트
- 컴포저블 함수를 활용한 재사용성 높은 설계 가능
2. 기존 View 시스템과의 차이점 및 Compose의 장점
기존 View 시스템의 한계점 😟
- UI와 로직 분리: XML과 Kotlin/Java 코드로 나뉘어 복잡함.
- 중복 코드: View 연결 코드가 많아 유지보수 어려움.
- 재사용성 부족: 동일 UI 요소를 반복해서 정의해야 함.
Jetpack Compose의 장점 🌟
- 통합 코드: UI와 동작이 한 곳에서 관리되어 가독성 및 생산성 향상.
- 상태 기반 UI: 데이터 상태(State) 변경 시 UI가 자동 갱신.
- 함수형 재사용성: 컴포저블 함수로 다양한 UI 요소를 손쉽게 재사용.
3. Android Studio 환경 설정 및 Compose 활성화
Jetpack Compose를 사용하려면 Android Studio 최신 버전이 필요합니다.
환경 설정 단계 🛠️
- Android Studio 버전 확인
- Bumblebee(2021.1.1) 이상 사용 필수.
- 최신 버전을 다운로드하여 설치합니다.
- 새 프로젝트 생성
- Android Studio에서 Empty Compose Activity를 선택합니다.
- build.gradle 확인
- Compose 활성화 설정이 포함되어 있는지 확인합니다:
android {
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion "1.5.1" // 최신 버전 권장
}
}
4. 첫 번째 Compose 프로젝트 생성 및 “Hello, Compose!” 출력
프로젝트 생성 절차 🎯
- Empty Compose Activity 선택
- Android Studio에서 새 프로젝트 생성 시 Empty Compose Activity를 선택합니다.
- MainActivity.kt 열기
- 프로젝트 생성 후 기본 코드가 포함된 MainActivity.kt 파일이 열립니다.
Compose의 기본 코드 구조 📜
@Composable
fun Greeting(name: String) {
Text(text = "Hello, $name!") // 텍스트 출력
}
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
Greeting("Compose") // 미리보기에서 확인
}
코드 해설
- @Composable: Jetpack Compose 컴포저블 함수 정의 시 사용하는 애너테이션.
- Text 컴포저블: 텍스트를 화면에 표시하는 기본 함수.
- @Preview: UI를 Android Studio에서 실시간으로 미리 볼 수 있도록 설정.
실습: "Hello, Compose!" 출력하기
- Greeting 함수 작성
@Composable
fun Greeting() {
Text(text = "Hello, Compose!")
}
- 미리보기 설정
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
Greeting()
}
- 앱 실행
- 에뮬레이터 또는 실제 디바이스에서 실행.
- 출력 확인: 화면에 Hello, Compose!가 정상적으로 표시됩니다.
마무리 💡
Jetpack Compose는 안드로이드 UI 개발의 복잡성을 줄이고, 더 생산적이고 직관적인 코드를 작성할 수 있는 도구입니다. 앞으로의 실습을 통해 다양한 컴포저블 요소를 탐구하며, 재미있고 효율적인 UI 개발을 경험해보세요! 🚀
'바닐라 코드 > Android Kotlin' 카테고리의 다른 글
안드로이드 프로젝트 호환성 (3) | 2024.12.18 |
---|