본문 바로가기

MVVM19

[Android] Dependency Injection (a.k.a DI) - 1. 뭔데? 왜 하는데? Dagger? Koin? Hilt? 최근 개발자 채용공고를 보면 자격요건 혹은 우대사항에 DI가 심심치 않게 나타난다. 이말은 곧 DI라는 것이 개발에 있어 꽤 중요한 부분으로 인식되고 있다는 증거다. 나 또한 회사에서의 개발, 사이드 프로젝트에서 DI를 활용하고 있다. 이번 포스팅은 DI가 무엇이고 왜 쓰는지를 예시와 함께 알아 볼 것이다. - DI가 뭐야? DI는 "Dependency Injecton" 의 줄임말이며 "의존성 주입" 이라는 의미로 해석이 된다. 의존성이란 A라는 객체(클래스)가 B라는 객체(클래스)를 사용한다는 의미로 이해하자. 이해를 돕기 위해 아래의 예시를 보자. class SomeDataRepository { private val source: SomeDataSource = SomeDataSource() } cla.. 2020. 10. 24.
[Android] MVVM + AAC + Coroutine + Retrofit + Github API 예제 이번 포스팅은 Github API를 활용해서 특정 키워드로 Github의 저장소들을 검색하는 안드로이드 앱을 만들 것이다. 아래 기술들을 사용하는 것을 목표로 한다. 1. MVVM(Model-View-ViewModel) 아키텍처 패턴을 적용 2. AAC(Android Architecture Component)를 활용 3. 비동기 작업을 위하여 Kotlin의 Coroutine활용 4. API를 호출하기 위해 Retrofit 라이브러리 활용 최종 결과물은 아래와 같은 모습이다. 위에서 볼 수 있듯이 화면 및 기능 자체는 간단하다. EditText 하나, 버튼 하나, RecyclerView 하나 끝이다. 추가적으로 각 아이템을 클릭했을 때 해당 저장소의 웹페이지로 이동시키는 정도로 구현한다. 1. 의존성 추가.. 2020. 7. 13.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 4 이전 포스팅에서 예고했던 대로 데이터베이스에 Todo 아이템을 삽입할 때 별도의 쓰레드를 생성하여 하던 것을 RxKotlin 으로 변경하고 RecyclerView에 DiffUtil 을 적용 할 것이다. - Denpendency 추가 RxKotlin을 사용하기 위해선 앱 모듈 Gradle에 종속성을 추가 해 주어야 한다. https://github.com/ReactiveX/RxKotlin ReactiveX/RxKotlin RxJava bindings for Kotlin. Contribute to ReactiveX/RxKotlin development by creating an account on GitHub. github.com 위 사이트를 참고하여 종속성을 추가하자. Rx에 대해 이해가 필요하므로 htt.. 2020. 3. 1.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 3 이전 포스팅에서 만든 코드를 리팩토링하여 MVVM 패턴을 구현하고 AAC를 적용 해 보자. - Dependency 이 앱에서는 ViewModel, LiveData, Room 를 사용할 것이다. 여기서 LiveDat와 Room은 앱 모듈의 dependencies에 추가 해 주어야 한다. https://developer.android.com/jetpack/androidx/releases/room https://developer.android.com/jetpack/androidx/releases/lifecycle 를 참고하여 아래와 같이 수정한다. Room | Android 개발자 | Android Developers Room 지속성 라이브러리는 SQLite를 완벽히 활용하면서 강력한 데이터베이스 액세스를 지.. 2020. 2. 29.
반응형