반응형
[TIL-230623] StateFlow 알아보기

DEV/Android 2023. 6. 28. 21:35

안녕하세요 날씨가 많이 더워지고 있네요.. 덥다보니 축 처지게 되는데.. 학습을 게을리 하지말고 하루하루 배우는 시간이 되게 해야겠습니다 오늘은 Android에서 사용되는 StateFlow에 대해 포스팅하려 합니다. StateFlow에 대해 학습하려면, Flow에 대해 먼저 하시면 이해에 도움이 되실 것 같습니다. StateFlow란? StateFlow란 특정 State를 유지, 관찰 Collector에 현재와 새로운 State를 업데이트 현재 State 값은 StateFlow.value로 읽을 수 있습니다. class LatestNewsViewModel( private val newsRepository: NewsRepository ) : ViewModel() { // 다른 클래스의 상태 업데이트를 방지..

Article Thumbnail
[TIL-230626] Android Flow 알아보기 - 2

DEV/Android 2023. 6. 27. 22:48

안녕하세요 오늘은 이전 글 이어서 Flow에 대해 정리해보려고 합니다. 1. Exception 처리 class LatestNewsViewModel( private val newsRepository: NewsRepository ) : ViewModel() { init { viewModelScope.launch { newsRepository.favoriteLatestNews // 중간 연산자 catch // Exception이 발생하면, catch 처리하고 UI를 업데이트 합니다. .catch { exception -> notifyError(exception) } .collect { favoriteNews -> // 최신 인기 뉴스로 업데이트 } } } } 위의 코드에서 collect, Exception이 ..

Article Thumbnail
[TIL-230626] Android Flow 알아보기 - 1

DEV/Android 2023. 6. 26. 23:30

안녕하세요 6월 말이 되면서 계속 더워지고 있고, 지쳐서 공부에 소홀해지기 쉬운데, 하루에 단 30분이라도 꾸준히 작성하자는 마인드가 필요해보입니다 오늘은 Android Flow에 관해서, 포스팅을 작성해보려 합니다. (아래는 Flow와 관련은 없지만 이미지를 넣고싶어서 넣어봤습니다) Flow란? 비동기적으로 실행될 수 있는 데이터 스트림 Flow의 주요한 개념은 순차적으로 여러 값을 출력, 단일 값만을 출력하는 suspend function과 비교할 수 있습니다. 예를들어, Flow를 사용하여 DB로부터 실시간 업데이트를 받을 수 있습니다. Flow에 선언된 타입은 출력된 값과 같은 타입입니다. (ex) Flow는 integer 값을 출력하는 Flow 입니다) 순차적인 값을 출력하는 Iterator와 ..

Article Thumbnail
[TIL-230625] Android Coroutine 알아보기

DEV/Android 2023. 6. 25. 23:18

안녕하세요 오늘은 Kotlin의 Coroutine에 대해서 간략하게 포스팅 해보겠습니다. Coroutine 이란? 비동기로 실행되는 코드를 단순화하기 위해 Android에서 사용할 수 있는 동시성 디자인 패턴 메인 스레드를 차단하고 앱이 응답하지 않게 만들 수 있는 작업을 관리하는데 도움이 됩니다 특징 Lightweight : 실행 중인 스레드를 차단하지 않는 Suspend 로 인해 단일 스레드에서 많은 Coroutine 실행 가능 메모리 누수 감소 : 구조화된 동시성 (Structured concurrency)을 사용하여 범위 내에서 작업을 실행 * 구조화된 동시성 새로운 Coroutine은 Coroutine의 수명을 구분하는 특정 CoroutineScope에서만 시작이 가능합니다. 손실되지 않고 누출..

Article Thumbnail
[Android] Jetpack - LiveData - 2

DEV/Android 2023. 3. 29. 00:49

저번 포스팅에서는 Jetpack의 LiveData 사용법과 장점등에 대해서 정리해보았습니다. [Android] Jetpack - LiveData - 1 이번에는 Jetpack 구성 요소 중 LiveData라는 것에 대해 정리해보려고 합니다. LiveData란? LiveData란 데이터를 관찰할 수 있는 Holder 클래스 입니다. 추가적인 특징은, Lifecycle 모듈과 같이 Activity, Fragment, weirddev.tistory.com 이번에는 추가적인 개념들 및 작성법에 대해서 정리해보려고 합니다. LiveData in an app's architecture 이전 포스팅에서 다룬 바와같이, LiveData는 Activity, Fragment와 같은 엔티티의 수명주기에 따라서 인식을 합니다..

반응형