본문 바로가기

전체 글

(96)
[안드로이드] Dependency Injection (DI) DI는 Dependency Injection의 약자로 의존성 주입이라고 한다. 의존성이란? 의존성은 하나의 클래스에서 다른 객체를 참조하는 것을 말한다. 다음 예시를 보면 class A { val B_Class = B() } class B { ... } 클래스 A가 B를 참조하고 있다. 이때 우리는 클래스 A가 B를 의존하고 있다고 한다. DI (의존성 주입) 의존성이 높으면 유지보수 및 테스트가 어려워진다. 따라서 클래스 내부에서 객체를 참조하는 것이 아닌 외부에서 참조시켜주는 것을 의존성 주입, DI라고 한다. 방법은 다음과 같다. A, B 클래스 외의 새로운 매개체를 하나 생성한 뒤, 그 매개체를 통해서 의존성을 관리해주는 것이다. 이 매개체를 Inversion Of Control ( IOC ) 이..
[안드로이드] Coroutine Flow https://developer.android.com/kotlin/flow?hl=ko Android에서의 Kotlin 흐름 | Android Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Android에서의 Kotlin 흐름 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 코루틴에서 흐름은 단일 값만 developer.android.com Flow는 여러 값을 순차적으로 내보낼 수 있는 기능이다. Flow은 코루틴 기반으로 빌드되며, 비동기식으로 계산할 수 있는 데이터 스트림의 개념이다. 데이터 스트림에는 3가지 항목이 있다. 생산자 : 스트림에 추가되는 데이터를 생산 중개자 : 데이터 수정 ( 선택사항 ) 소비자 : 데이터 ..
[안드로이드] 코루틴 코루틴(Coroutine) 코루틴은 Kotlin에서 지원하는 비동기 처리 기술이다. 코루틴은 장기 실행 작업을 관리하는데 도움을 주며, 기능은 다음과 같다. 경량( Lightweight ): 코루틴은 실행 중인 스레드를 차단하지 않는 정지(suspend)를 지원하므로 단일 스레드에서 많은 코루틴을 실행할 수 있고, 동시 작업을 진행하면서 차단보다 메모리를 절약할 수 있다. suspend fun func() 메모리 누수 감소: 구조화된 동시 실행을 사용하여 범위 내에서 작업을 실행한다. CoroutineScope에서만 새 코루틴을 시작할 수 있다. 기본 제공 취소 지원: 취소는 실행 중인 코루틴 계층 구조를 통해 자동으로 전파된다. 사용하지 않는 코루틴을 끝낼 수 있는 기능이다. Jetpack 통합: 많은..