Reco.dy
close
프로필 배경
프로필 로고

Reco.dy

    • 분류 전체보기
      • Android
      • Kotlin
      • RxJava
      • Git
      • 활동
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록

[Coroutine] callback API를 Flow로 변환해보기

라이브러리나 sdk에서 callback 형태로 받는 API를 Flow로 받고 싶을 땐 어떻게 해야 할까요?! callbackFlow, suspencoroutine 등을 이용하여 Flow로 받을 수 있습니다. 이번에는 callbackFlow에 대해 공부해보려고 합니다. 1. callbackFlow란 public fun callbackFlow(@BuilderInference block: suspend ProducerScope.() -> Unit) : Flow = CallbackFlowBuilder(block) callbackFlow는 callback을 Flow로 변환할 수 있는 Flow Builder입니다. 공식 문서에 따르면, ProducerScope를 통해 빌더 블록의 코드에 전달된 SendChannel..

  • format_list_bulleted Kotlin
  • · 2023. 9. 25.
  • textsms
[Coroutine] repeatOnLifecycle에 대해 알아보자!

[Coroutine] repeatOnLifecycle에 대해 알아보자!

Flow는 스스로 라이프사이클을 알지 못하기 때문에 CoroutineScope에 따라 생명주기에 따라 맞추어 사용하며 불필요한 메모리나 리소스가 낭비되지 않도록 하는 것이 중요합니다! 이번에는 LifecycleOwner.launchWhenStarted, Lifecycle.repeatOnLifecycle 등이 어떻게 다른지 알아보고 어떻게 불필요한 리소스 낭비를 방지해야 할지 알아보려고 합니다. lifecycleScope.launch private val _stateFlow = MutableStateFlow(0) val stateFlow get() = _stateFlow private fun testCount() { viewModelScope.launch(Dispatchers.IO) { repeat(10)..

  • format_list_bulleted Kotlin
  • · 2023. 2. 16.
  • textsms
[Coroutine] 데이터 통신을 위한 Channel에 대해 알아보자

[Coroutine] 데이터 통신을 위한 Channel에 대해 알아보자

최근 MVI를 공부하면서 여러 예제 프로젝트를 보면서 공부하던 중 Channel을 이용하여 상태값을 주고 받는 것을 알게 되었습니다. 이참에 Channel에 대해서도 알아보고자 합니다! 1. Channel 이란 Channel은 두개의 Coroutine 사이를 연결한 파이프이며, 단방향보다는 여러 방향에서 데이터를 주고 받는 형식으로 코루틴끼리 데이터를 전달하기 위한 것입니다. Channel은 BlockingQueue와 유사하지만, 약간의 차이점이 존재합니다. BlockingQueue은 put(), take()를 사용하여 차단해서 전송하는 방법이고 Channel은 send(), receive()를 사용하여 일시중단(suspend)으로 전송하는 방식입니다. 또한, Channel은 더 이상 사용하지 않을 때 ..

  • format_list_bulleted Kotlin
  • · 2023. 1. 15.
  • textsms
  • «
  • 1
  • »
공지사항
전체 카테고리
  • 분류 전체보기
    • Android
    • Kotlin
    • RxJava
    • Git
    • 활동
최근 글
인기 글
최근 댓글
태그
  • #callbackFlow
  • #basictextfield
  • #git-fork
  • #개발동아리
  • #java
  • #appWidget
  • #suspendCoroutine
  • #git client
  • #Compose
  • #Rxjava
  • #android
  • #InputFilter
  • #Coroutine
  • #Kotlin
  • #suspendCancellableCoroutine
  • #Jetpack Compose
  • #Flow
  • #repeatOnLifeCycle
  • #composeUI
  • #BiometricPrompt
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바