dagger2 8

[Android] Dagger2 - Hilt로 마이그레이션

#1 Hilt 개요 Hilt를 사용한 종속 항목 삽입  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. Hilt를 사용한 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Hilt는 프로젝트에서 종속developer.android.comHilt는 Dagger2의 복잡한 부분을 더 쉽고 효율적으로 사용할 수 있게 만들어주는 추상화 계층이다. 그런 면에서 Dagger2 - Hilt 관계는 SQLite - Room의 관계와도 같다. Hilt을 사용하면 Dagger2를 생으로 사용하는 것보다 세세한 설정은 불가능하다. 하지만, 상용구 코드를 많이 줄여준다. 말 그대로 추상화 계층이니 말이다. #2 Hil..

[Android] Dagger2 - Application 활용하기

#1 이전 글 [Android] Dagger2 - 기초#1 이전 글 의존성 주입 (Dependency Injection)#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() { val car = Car() car.startCar() } class Car { private val engine = Engine() private val airbag = Airbag() privatekenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, Application을 활용하게 만든다. 이를 통해, @Component 클래스 인스턴스의 중복 호출을 제거한다. #2 Application의 활용성 Application  |  Androi..

[Android] Dagger2 - Activity에 Dependency 주입

#1 이전 글 [Android] Dagger2 - 기초#1 이전 글 의존성 주입 (Dependency Injection)#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() { val car = Car() car.startCar() } class Car { private val engine = Engine() private val airbag = Airbag() privatekenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, 'Activity에 의존성을 주입'해본다. 이 말의 의미는 #3-1에 나온다.  #2 @Component 인터페이스 속 getter의 불편함// package com.example.activ..

[Android] Dagger2 - 인터페이스 구현체 주입 (@Binds)

#1 이전 글 [Android] Dagger2 - 기초#1 이전 글 의존성 주입 (Dependency Injection)#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() { val car = Car() car.startCar() } class Car { private val engine = Engine() private val airbag = Airbag() privatekenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, Interface를 Dependency로 주입해본다. #2 코드 수정 - 직관적인 버전#2-1 개요 [Android] Dagger2 - 매개변수#1 이전 글 [Android] Dagger2 ..

[Android] Dagger2 - 매개변수 동적 할당

#1 이전 글 [Android] Dagger2 - @Provides#1 이전 글 [Android] Dagger2 - 기초#1 이전 글 의존성 주입 (Dependency Injection)#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() { val car = Car() car.startCar() } class Car { private val engine = Enginekenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, @Provides 또는 @Module이 매개변수를 가지게 만들어본다.  Dagger 라이브러리를 쓰는 프로젝트에서 @Provides 또는 @Module에 인수를 전달하기 위해서는 먼저 dagger..

[Android] Dagger2 - @Provides

#1 이전 글 [Android] Dagger2 - 기초#1 이전 글 의존성 주입 (Dependency Injection)#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() { val car = Car() car.startCar() } class Car { private val engine = Engine() private val airbag = Airbag() privatekenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, @Inject를 사용할 수 없는 경우의 의존성 주입을 해결해본다. #2 @Provides이전 글에선 생성자에 @Inject를 붙였고, 그것은 dagger가 의존성 주입을 하는 명시적인 표시로..

[Android] Dagger2 - 기초

#1 이전 글 의존성 주입 (Dependency Injection)#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() { val car = Car() car.startCar() } class Car { private val engine = Engine() private val airbag = Airbag() private val battery = Battery() fun startCar() { engine.startEkenel.tistory.com본 게시글을 이해하려면 먼저, 의존성 주입에 대해 쓴 이전 게시글을 읽어야 한다. 또, 이전 게시글의 코드를 Migration해서 본 게시글의 코드를 작성했다. #2 dagger GitH..

의존성 주입 (Dependency Injection)

#1 의존성 주입(Dependency Injection)이란?#1-1 Dependent와 Dependencyfun main() {    val car = Car()    car.startCar()}class Car {    private val engine = Engine()    private val airbag = Airbag()    private val battery = Battery()    fun startCar() {        engine.startEngine()        airbag.startAirbag()        battery.startBattery()        println("${this::class.simpleName} is ready")    }}Car 클래스는 En..