728x90

Android (안드로이드) 88

[Android] Dagger / 대거 / 예제 / 의존성 주입 라이브러리

지난 포스팅에서 의존성 주입에 대해 알아보았다. 이번에는 의존성 주입을 도와주는 라이브러리 중 하나인 Dagger에 대해 알아보자. Dagger 란? Google에서 유지 · 관리하는 의존성 주입 라이브러리다. Annotation Processing을 적용하는 정적 솔루션이다. *Annotation Processing 런타임 시점이 아닌 컴파일 시점에서 어노테이션을 읽고 관련 소스 코드를 생성할 수 있다. 런타임 시점에서 해왔던 작업을 컴파일 시점에서 미리 처리하기에, 런타임의 부담을 덜어줄 수 있다. Dagger는 다음과 같이 3가지로 구성하여 사용한다. ● Module 주입할 의존성을 세팅하는 곳이다. ● Component Module을 연결하고, 주입할 위치를 지정하는 곳이다. (위치라는 건, Ac..

[Android] 의존성 주입 / Dependency Injection

이번 포스팅에서는 의존성 주입이라는 개념을 알아보겠다. 의존성이란? (Dependency) 클래스에는 흔하게 다른 클래스의 참조가 필요하다. 예를 들어 Car라는 클래스는 Engine이라는 클래스 참조가 필요할 수 있다. 이때 필요한 클래스(Engine)가 의존성이 될 수 있다. 의존성 주입이란? (Dependency Injection) 공식 문서에서는 종속 항목 삽입이라고 표현하지만, 일반적으로는 의존성 주입이라 칭한다. Dependency Injection을 줄여서 DI라고 부르기도 한다. 클래스가 필요한 객체를 얻는 방법은 다음과 같다. 1. 클래스가 필요한 객체를 자체 구성한다. ex) Car클래스는 Engine 클래스의 인스턴스를 생성 · 초기화 한다. 2. 객체를 다른 곳으로부터 제공 받는다...

[Android] 디자인 패턴 - MVVM 패턴 / 예제

이번엔 MVVM 패턴에 대해 알아보자.  디자인 패턴이 뭔지 모르겠다면 다음 포스팅을 보고 오자.  디자인 패턴 & MVC 패턴에 대한 포스팅이다.  [Android] 디자인 패턴 - MVC 패턴 / 예제디자인 패턴 중 MVC 패턴에 대해 알아보자. 안드로이드에서 적용하는 MVC 패턴이다. 디자인 패턴이란? 소프트웨어의 개발 방식을 문서로 공식화 한 것. 개발 중 자주 나타나는 과제를 해결하기 위oscarstory.tistory.com   MVVM 패턴  MVP 패턴을 기반으로 생겨났으며,Presenter의 자리를 ViewModel이 대체했다고 볼 수 있다. Model + View + ViewModel 의 약어로 MVVM이라 칭한다.  ViewModel은 MVP 패턴의 Presenter와 동일한 역할을 ..

[Android] 디자인 패턴 - MVP 패턴 / 예제

이번엔 MVP 패턴에 대해 알아보자. 디자인 패턴이 뭔지 모르겠다면 아래 포스팅부터 보고 오면 도움이 될 것이다. 디자인 패턴 & MVC 패턴에 대한 포스팅이다. [Android] 디자인 패턴 - MVC 패턴 / 예제 디자인 패턴 중 MVC 패턴에 대해 알아보자. 안드로이드에서 적용하는 MVC 패턴이다. 디자인 패턴이란? 소프트웨어의 개발 방식을 문서로 공식화 한 것. 개발 중 자주 나타나는 과제를 해결하기 위 oscarstory.tistory.com MVP 패턴 MVC 패턴을 기반으로 생겨났으며, Controller의 개념을 삭제하고 Presenter가 추가된 디자인 패턴이다. Model + View + Presenter 의 약어로 MVP라 칭한다. Presenter가 중개자 역할을 해주기 때문에 Vi..

[Android] 디자인 패턴 - MVC 패턴 / 예제

디자인 패턴 중 MVC 패턴에 대해 알아보자. 안드로이드에서 적용하는 MVC 패턴이다. 디자인 패턴이란? 소프트웨어의 개발 방식을 문서로 공식화 한 것. 개발 중 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 개발 과정에서의 불편한 점을 보완하는 등의 설계 노하우를 축적하여 이름을 붙인 형태로 정리한 것이다. ✅ 디자인 패턴을 사용하면? 선배 개발자들의 설계 노하우를 축적하였기에 대부분의 디자인 패턴은 재사용이 용이한 형태로 정리되어 있다. 그렇기에 추후 유지·보수가 편리한 것은 물론이고, 코드 가독성도 향상된다고 볼 수 있다. 또한, 일정한 개발 규칙을 정한 것이기에 협업도 편리해진다. ✅ 안드로이드에서의 디자인 패턴을 구분하는 기준 디자인 패턴은 대부분 재사용이 용이한 형태로 정리되었고, 코드..

[Android] LiveData / MutableLiveData / 라이브 데이터 / 사용법 / 예제

이번 포스팅에서는 라이브 데이터에 대해 알아보자. 라이브 데이터란? 공식 문서 ↓ LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다. developer.android.com 라이브 데이터는 Android Jetpack에 포함된 라이브러리이며 관찰 가능한 데이터 홀더 클래스다. 관찰 가능한 다른 클래스도 있지만, 라이브 데이터가 다른 점이 있다면 액티비티 · 프래그먼트의 생명주기를 인식한다. 관찰자로는 Observer 클래스를 사용하며 해당 클래스를 사용하기 위해서는 LifecycleOwner를 지정해줘야 한다. LifecycleOwner에는 액티비티 · 프래그먼트 등이 지정될 것이다. 라이브 데..

[Android] 데이터 바인딩 / DataBinding / 사용법 / 예제

이번엔 데이터 바인딩에 대해 알아보자. 데이터 바인딩이란? 공식 문서 ↓ 데이터 결합 라이브러리 | Android 개발자 | Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 데이터 결합 라이브러리 Android Jetpack의 구성요소. 데이터 결합 라이브러리는 프로그래매틱 방식이 아니라 선 developer.android.com Android Jetpack의 구성 요소 중 하나로, 프로그래매틱 방식이 아닌 선언형 방식으로써 UI 구성요소를 앱의 데이터와 결합할 수 있도록 지원하는 라이브러리다. 일반적으로 View에 데이터를 할당하려면 다음과 같은 절차가 필요하다. TextView textView = findViewById(R.id.text..

[Android] ViewBinding / 뷰 바인딩 / 사용법 / 예제

이번 포스팅에서는 안드로이드 뷰 바인딩에 대해 알아보자. 뷰 바인딩이란? 공식 문서 ↓ 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정 developer.android.com 공식 문서에서는 View Binding을 뷰 결합이라고 번역한다. 본 포스팅에서는 뷰 바인딩이라 부르겠다. 뷰 바인딩은 findViewById()를 대체할 수 있는 View 참조 방식이다. 왜 findViewById()를 대체하는지는 '기존 View 참조 방식과의 차이점' 탭에서 설명한다. 사용해보자 ✅ build.gradle(..

728x90