DI
-
Using Room DB with HiltDI 2021. 8. 23. 19:24
설정 android { ... kotlinOptions { jvmTarget = "1.8" } } dependencies{ def room_version = "2.3.0" // check latest version from docs ... implementation "androidx.room:room-ktx:$room_version" kapt "androidx.room:room-compiler:$room_version" } compiler options android { defaultConfig { javaCompileOptions { annotationProcessorOptions { arguments += [ "room.schemaLocation":"$projectDir/schemas".toStrin..
-
Hilt를 사용한 의존성 주입 시작하기DI 2021. 8. 22. 14:41
Hilt 라이브러리는 프로젝트의 모든 Android 클래스에 컨테이너를 제공하고 자동으로 수명주기를 관리하여 애플리케이션에서 DI를 수행하는 표준 방법을 정의한다. Hilt 목표 1. Android 앱용 Dagger 관련 인프라를 단순화한다. 2. 앱 간의 설정, 가독성/이해 및 코드 공유를 용이하게 하기 위해 표준 구성 요소 및 범위 세트를 생성한다. 3. 다양한 빌드 유형(예: 테스트, 디버그 또는 릴리스)에 서로 다른 바인딩을 공급하는 쉬운 방법을 제공한다. 설정 프로젝트의 루트 build.gradle 파일에 종속 항목을 추가 buildscript { ... dependencies { ... classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28..
-
의존성 주입(Dependency injection)DI 2021. 6. 23. 16:24
의존성 주입(dependency injection)의 법칙 클래스는 종종 작업을 완료하기 위해 다른 클래스를 참조해야 할 때가 있다. 이렇게 참조하는 것을 의존성이라고 한다. 모든 애플리케이션은 그 의존성을 어떤 방식으로든 다루어야 한다. 도표에서 보이듯이 자동차는 엔진이 없으면 동작하지 않는다. 즉, 엔진을 자동차의 의존성이라고 하거나 차가 엔진에 의존한다고 말할 수 있다. class Car { private val engine = Engine() fun start() { engine.start() } } fun main(args: Array) { val car = Car() car.start() } 이 예는 Car 클래스가 자체 Engine을 구성하기 때문에 Car와 Engine은 밀접하게 연결되어 ..