[kotlin] 코틀린 안드로이드 MVVM 아키텍처의 프로젝트 구조
MVVM(Model-View-ViewModel) 아키텍처는 안드로이드 앱을 개발할 때 많은 장점을 제공합니다. 코틀린 언어를 사용하여 안드로이드 앱을 개발할 때 이 아키텍처를 사용하면 유지보수성이 높고 확장 가능한 앱을 만들 수 있습니다.
프로젝트 구조
MVVM 아키텍처를 사용한 안드로이드 프로젝트의 일반적인 디렉토리 구조는 다음과 같습니다.
- app
- src
- main
- java/com/example/myapp
- data
- model
- remote
- repository
- di
- ui
- adapter
- view
- viewModel
- utils
- data: 앱의 데이터 관련 클래스를 포함합니다.
- model: 데이터 모델 클래스입니다. 앱 내에서 사용되는 데이터 구조를 정의합니다.
- remote: 원격 데이터와 통신하기 위한 클래스를 포함합니다.
- repository: 데이터를 가져오는 로직을 정의하는 클래스를 포함합니다.
-
di(Dependency Injection): 앱의 의존성 주입을 위한 클래스를 포함합니다. Dagger, Koin 등의 라이브러리를 사용할 수 있습니다.
- ui: 사용자 인터페이스와 관련된 클래스를 포함합니다.
- adapter: 리사이클러뷰나 리스트뷰 등의 어댑터 클래스를 포함합니다.
- view: 액티비티, 프래그먼트 등의 화면을 구성하는 클래스를 포함합니다.
- viewModel: 뷰와 데이터 모델 사이의 상호작용을 처리하는 클래스를 포함합니다.
- utils: 앱 전반에 걸쳐 사용되는 유틸리티 클래스를 포함합니다.
코드 예시
다음은 MVVM 아키텍처를 사용한 안드로이드 앱에서의 간단한 코드 예시입니다.
// 모델 클래스
data class User(val id: Int, val name: String)
// 리파지토리 클래스
class UserRepository {
fun getUser(userId: Int): User {
// 원격 데이터 소스에서 사용자 데이터를 가져오는 로직
}
}
// 뷰모델 클래스
class UserViewModel(private val userRepository: UserRepository) : ViewModel() {
fun getUser(userId: Int): User {
return userRepository.getUser(userId)
}
}
참고 자료
MVVM 아키텍처 및 안드로이드 프로젝트 구조에 대해 더 알아보려면 다음 자료를 참고하세요.
MVVM 아키텍처를 사용하여 안드로이드 앱을 개발할 때 위와 같은 프로젝트 구조를 활용하면 향후 유지보수와 확장이 쉬운 안드로이드 앱을 만들 수 있습니다.