[Hilt] 5.1 Core APIs – 컴포넌트

https://dagger.dev/hilt/components 5.1 Core APIs – Component Note : 다음 나올 내용은 컴포넌트, 모듈, 스코프 그리고 바인딩을 포함하는 Dagger에 대한 기초적인 내용을 알고 있음을 가정한다. 컴포넌트 계층 기존 사용하던 Dagger와 다르게 Hilt사용자는 Dagger 컴포넌트를 직접적으로 정의하거나 인스턴스화 할 필요가 없어졌다. 대신에 Hilt는 이미 정의된 컴포넌트를 통해 생성되는 클래스들을 제공하고 있다. Hilt는 더보기…

[Hilt] 4. 프로젝트에 Hilt 적용하기

https://dagger.dev/hilt/quick-start 4. Quick Start Introduction Hilt를 사용하면 안드로이드 앱에 의존성 주입을 쉽게 할 수 있다. 이 튜토리얼에서는 기존 앱에 Hilt를 사용하도록 안내한다. Gradle vs 비-Gradle 사용자 Gradle 사용자의 경우, Hilt Gradle 플러그인은 Hilt 어노테이션의 사용으로 인해 Hilt가 생성하는 클래스에 대한 직접적인 참조를 피함으로써 Hilt를 보다 쉽게 ​사용할 수 있도록 한다. 더보기…

[Hilt] 3. 프로젝트에 Hilt 설정하기

https://dagger.dev/hilt/gradle-setup 3. Gradle Setup Hilt 의존성 추가 하기 Hilt를 사용하기 위해서는 다음 빌드 의존성을 모듈의 build.gradle 파일에 추가해야 한다. dependencies { implementation ‘com.google.dagger:hilt-android:<VERSION>’ annotationProcessor ‘com.google.dagger:hilt-android-compiler:<VERSION>’ // For instrumentation tests androidTestImplementation ‘com.google.dagger:hilt-android-testing:<VERSION>’ androidTestAnnotationProcessor ‘com.google.dagger:hilt-android-compiler:<VERSION>’ // For local unit tests testImplementation ‘com.google.dagger:hilt-android-testing:<VERSION>’ testAnnotationProcessor ‘com.google.dagger:hilt-android-compiler:<VERSION>’ } 코틀린에서 Hilt 사용하기 만약 코틀린을 사용한다면 kapt 더보기…

[Hilt] 2. Hilt를 사용하면 얻을 수 있는 이점

https://dagger.dev/hilt/benefits 2. Benefit 왜 Hilt를 사용해야 할까? 보일러플레이트 코드 감소 분리된 빌드 의존성 환경 설정의 간소화 개선된 테스트 환경 표준화된 컴포넌트들 보일러 플레이트 코드 감소 Hilt의 목표는 개발자가 Dagger 설정에 대해 걱정할 필요 없이 Dagger 바인딩 정의 및 사용법에 집중할 수 있도록하는 것이다. 즉, 모듈 및 인터페이스 목록을 사용하여 컴포넌트 정의, 더보기…

[Hilt] 1.Hilt 개요

https://dagger.dev/hilt/ 1. Hilt Hilt는 안드로이드 애플리케이션에 의존성주입하는 Dagger의 표준적인 방법을 제공한다. Hilt의 목적은 다음과 같다. 안드로이드 애플리케이션을 위한 Dagger와 관련 기반 코드들을 간소화 한다. 쉬운 설정과 가독성/이해도 그리고 앱간 코드 공유를 위한 표준 컴포넌트, 스코프 세트를 생성한다. 다양한 빌드 유형에 대한 서로 다른 바인딩을 제공하는 쉬운 방법을 제공한다 Hilt 설계 더보기…

Jetpack 새로운 점 요약(What’s new in Android Jetpack)

 위의 영상을 요약한 내용입니다. 구글 안드로이드 소프트웨어 엔지니어인 이짓 보이어가 안드로이드 Jetpack에 대해서 설명을 시작합니다. 상위 1000개의 앱에서 47%가 두 개 이상의 Jetpack 라이브러리를 사용한다네요. Hilt Jetpack 설명하다가 바로 의존성 주입 이야기를 시작하며 Hilt라는 카드를 꺼냅니다. Hilt는 Dagger 기반의 안드로이드 전용 의존성 주입 라이브러리입니다. 구글이 Jetpack의 첫 소개로 Hilt를 더보기…

SavedStateHandle을 다루는 ViewModel을 위한 Dagger 설정하기

SavedStateHandle을 다루는 ViewModel을 위한 Dagger 설정하기 Warning : 이 포스팅은 ViewModel과 Dagger에 대한 내용을 다루고 있지만, ViewModel과 Dagger에 대해서는 설명하고 있지 않습니다.  자세한 내용은 이전 포스팅을 참고해주세요. Dagger2를 알아보자 AssistedInject란 무엇인가? ViewModel 초보를 위한 가이드 SavedStateHandle과 함께 ViewModel의 상태를 저장하자 예제코드 다운로드 build.gradle에 의존성 설정하기 //SavedState implementation “androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0” //Dagger2 implementation 더보기…

Dagger를 돕는 AssitedInject 무엇인가?

Warning : 이 포스팅은 Dagger2에 대한 이해가 필요하며, Dagger2에 대해서는 다루지 않고 있습니다. Dagger2에 대한 내용은 Dagger2를 알아보자편을 참조해주세요. AssistedInject란 무엇인가? Square에서 만든 수동 의존성 주입도구로 Dagger2와 함께 사용된다. 팩토리패턴(Factory Pattern)은 어떤 오브젝트를 생성하기 위한 패턴으로 매개 변수화 및 종속성을 결합하는 객체를 만들기 위해 잘 설정된 패턴이다. 팩토리는 불안정할 수 더보기…

글쓴이 Charlezz,

프로젝트에 Dynamic Feature Module 적용 후기

Dynamic Feature Module 적용 후기 다이내믹 피쳐 모듈이란? 다이내믹 피쳐모듈 (Dynamic Feature Module, 이하 DFM)을 사용하면 베이스 모듈(일반적으로 app모듈)로부터 특정 기능과 리소스를 분리하여 App Bundle에 포함시킨다. 그런 다음 Dynamic Delivery 를 통해 안드로이드 5.0 이상을 실행하는 기기가 앱의 기능을 다운로드하는 시기와 방법을 제어할 수 있게 된다. 앱의 전체를 다운로드 받지 더보기…

멀티 모듈을 사용하는 앱에서 Dagger 적용하기

멀티 모듈을 사용하는 앱에서 Dagger 적용하기 애플리케이션 개발시 다음과 같은 특수한 목적으로 가지고 멀티 모듈을 사용한 개발 방법을 택할 수 있다. 대규모 프로젝트에서의 개발자간 협업 빌드 시간 단축 모듈의 재사용 여러가지 버전의 앱을 만들 때 APK 용량을 줄일 때 ( Dynamic Feature Module) 안드로이드 프로젝트에서 멀티 모듈의 종류는 일반적인 모듈과 더보기…