본문 바로가기

Android/DI

(6)
[Hilt] Hilt를 적용할 때 발생할 수 있는 오류. 본 게시글은 이전 글에 이어서 작성된 부분입니다. 2022.06.18 - [Android/DI] - [Hilt] Koin을 Hilt로 Migration 해보자. 이전 글에서 Koin을 Hilt로 Migration을 진행해보았다. 해당 작업을 진행하면서 여러가지 오류를 해결하였는데, 발생했던 오류 내용과 해결하는 방법에 대해서 작성해보고자 한다. 우선, 필자가 사용한 Hilt 버전은 2.28-alpha였으며 해당 버전으로 작업을 시작하여서 발생했던 문제라는 것을 먼저 말하고 글을 작성하도록 하겠다. 이전 글을 작성할 때 버전 문제로 인하여 2.36 버전으로 변경하였었는데, 다시 한번 안드로이드 공식 페이지를 참고하여 작업을 하면서 버전에 따라서 발생할 수 있는 오류를 확인하여 작성하였다. 1. [Hilt]..
[Hilt] Koin을 Hilt로 Migration 해보자. 필자는 지금까지 예제를 만들면서 DI가 필요하면 Koin을 사용해왔다. 단순히 사용하기가 상당히 쉽고, 간단한 예제를 만드는 것에는 Koin을 사용하는 것이 손이 많이 가지 않기 때문이다. 하지만, 최근 들어 확인해보니 DI로 Hilt를 사용하는 회사가 많아지는 것 같다. Koin에서 Hilt로, Dagger에서 Hilt로 변경하면서 마이그레이션 작업을 진행하는데, 필자는 기존에 사용했던 예제를 사용하여 Koin에서 Hilt로 마이그레이션 작업을 진행해 보았다. Dagger와 다르게 Koin은 Hilt와 동시에 사용이 가능하기 때문에 비교적 변경하기가 쉬웠던 것 같지만, 그래도 많이 사용하지 않았던 부분이라 예제의 DI를 변경하는 것에도 많은 오류를 발견할 수 있었다. 따라서, Hilt를 적용하는 방법과..
[Koin] Gradle 7.2버전 이상과 Koin 3.2 버전에서 Koin의 변경점. 2022.05.20 - [Android/Gradle] - [Gradle] Gradle 7.2 버전 대응하기. 이전에 작성한 게시글을 보면 알 수 있겠지만, Gradle 7.2 버전 이상부터는 jcenter()가 제거되었다. 기존에 사용되던 jcenter()는 위와 같은 주석과 함께 Lint가 발생하고 있었으며, gradle 버전이 7.2로 올라감에 따라서 jcenter()가 완전히 제거가 되었다. 해당 경고가 오래전부터 떠있었기 때문에 영향 있는 부분은 없을 것이라고 생각했지만, 기존에 사용하고 있던 Koin에서는 jcenter()를 사용하고 있었기 때문에, 해당 부분이 제거됨에 따라 에러가 발생하게 되었다. jcenter()가 제거된 상태로 sync를 진행해 보면, 이처럼 기존에 사용하고 있던 koin..
[Hilt] Hilt를 사용하여 의존성 주입을 해보자. 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 안드로이드에서 사용하는 DI 관련 Library인 Dagger2, Koin, Hilt 중 마지막 Hilt에 대한 정리를 해보려고 한다. Dagger2 기반으로 만들어졌기 때문인지 Dagger2 와 비슷한 부분이 보이지만 확실히 Dagger2 보다는 러닝 커브가 높지 않았던 것 같다. DI가 무엇인지, 왜 사용하는지에 대한 설명은 이전 Dagger2에 대한 글을 작성할 때 작성했으므로 링크를 추가하고 넘어가도록 하겠다. https://heegs.tistory.com/78?category=916858 [Dagger2] Dagger2를 사용하여 의존성 주입을 해보자 처음 학습하면서..
[Koin] Koin을 사용하여 의존성 주입을 해보자. 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 지난번에 작성한 Dagger2에 이어서, 많이 사용되는 DI인 Koin의 기본적인 사용 방법에 대하여 작성하고자 한다. Clean Architecture 구조의 예제를 만들 때 사용했던 DI로 Dagger2 보다 쉽게 공부하고 적용할 수 있었던 DI 이다. DI가 무엇인지, 왜 사용하는지에 대한 설명은 이전 Dagger2에 대한 글을 작성할 때 작성했으므로 링크를 추가하고 넘어가도록 하겠다. https://heegs.tistory.com/78?category=916858 [Dagger2] Dagger2를 사용하여 의존성 주입을 해보자 처음 학습하면서 작성한 글입니다. 필요시 ..
[Dagger2] Dagger2를 사용하여 의존성 주입을 해보자 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 가장 대중적으로 사용하는 DI 인 Dagger2의 기본적인 사용 방법에 대하여 작성하고자 한다. DI를 사용할 때, 그냥 여기서 선언하고 저기서 가져오고 라는 형식으로만 알고 사용했기 때문에 기초부터 정리하면서 다시 생각해보고자 한다. 우선, DI 가 뭔지 짚고 넘어가자. Dependency Injection 란, 외부에서 의존 객체를 생성하여 넘겨주는 것 간단히 말해서, A Class 가 B Class를 의존할 때(사용할 때) B Class를 A Class가 직접 생성하여 사용하지 않고 외부에서 생성하여 넘겨주어 사용하도록 하는 것이 의존성 주입이라고 할 수 있다. 그렇다면..