본문 바로가기

kotlin5

[Kotlin][Android] Compose에서 Flow 활용하기 Subject 반응형 프로그래밍을 Kotlin에서 구현할 때, 사용하는 라이브러리 중 대표적인 것으로 Flow가 있습니다. 이번 파트에서는 Flow의 구조와 Android에서의 기본적인 사용 방법에 대해 기록하고자 합니다. 또한 Xml을 위한 DataBinding의 KSP 미지원 등의 제약이 생김에 따라 추세에 맞추어 권장사항인 Compose를 기반하여 작성합니다. Kotlin Flow Flow는 Coroutine을 기반으로 동작하는 비동기 데이터 스트림입니다. Flow는 Sequence(Collection의 상위 클래스)를 생성하는 Iterator(Collection에 저장된 요소를 순회하기 위한 인터페이스)와 비슷하지만, Suspend(정지 함수)를 사용하여 비동기적으로 생성하고 소비합니다. 이로인해.. 2023. 3. 15.
[Android] Kotlin android extensions에서 View binding으로 전환 오늘에서야 Kotlin 1.7.21을 떠나보내고, 성능이 개선된 1.8.0으로 업그레이드하려던 찰나 Kotlin android extension 플러그인을 더 이상 지원하지않는다는 에러가 나에게 찾아왔다. The 'kotlin-android-extensions' Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' pl.. 2023. 3. 8.
[Kotlin] 안드로이드에서 Coroutine 사용하기 Kotlin Coroutine 이해하기 3부 의존성 추가 Coroutine 사용을 위해 build.gradle(:app) 에 의존성을 추가한다. Kotlin/JS 나 Kotlin/Native를 멀티플랫폼을 위한 설명은 아래 사이트에서 확인할 수 있다. https://github.com/Kotlin/kotlinx.coroutines 코루틴의 일반적인 사용 방법 Coroutine(코루틴)은 Asynchronous/Non-Blocking Programming을 제공하는 Lightweight Thread(경량 스레드)이다. 기본적인 사용 문법은 Context(Job + Dispatcher)로 Scope를 만든 뒤, Builder를 사용하여 Coroutine을 실행하는 것이다. 이 세 가지의 용도는 아래에서 소개.. 2023. 1. 18.
[Kotlin] Coroutine vs Thread Kotlin Coroutine 이해하기 2부 Kotlin Coroutine 개념 기초 Coroutine(코루틴)을 수도없이 사용해왔지만 이게 무슨뜻일지 궁금했다 Co(협력) + Routine(작업)으로 협력형 멀티태스킹이라 말할 수 있다고 한다. (이에 대한 자세한 내용은 하단에 링크 첨부) Android Developer 사이트에서는 아래와 같이 정의하고 있다. 코루틴은 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴입니다. 코루틴은 Kotlin 버전 1.3에 추가되었으며 다른 언어에서 확립된 개념을 기반으로 합니다. Android에서 코루틴은 기본 스레드를 차단하여 앱이 응답하지 않게 만들 수도 있는 장기 실행 작업을 관리하는 데 도움이 됩니다. 코.. 2023. 1. 18.
[Kotlin] Coroutine(코루틴) Thread란 무엇인가 Kotlin Coroutine 이해하기 1부 안드로이드 컴포즈 모각코에 참여하면서 스터디 그룹에 들어갈 기회가 생겼다. 각 주제별로 나누어 내가 들어간 팀은 5인조로 구성되었고, 처음 만나보는 분들과 정보도 교류하고 학습도 할 수 있는 좋은 기회라고 생각한다. 공통주제로 Kotlin의 Coroutine과 Flow에 대해 포스팅을 작성하고 한 명이 발표하는 것으로 정하였다. Thread 이해 코루틴을 이해하기 앞서 Java를 사용하며 봐왔던 Thread에 대한 이해가 필요하다. OS위에서 메모리 공간을 할당받아 실행중인 소프트웨어/프로그램 이를 Process(프로세스)라 한다. 하나의 프로그램은 1개 이상의 프로세스를 실행하고 프로세스 당 1개의 Heap 메모리를 할당받아 한 가지의 작업을 한다. 그리고 .. 2023. 1. 17.