일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- factory method
- Observer Pattern
- F
- Singleton
- 디자인패턴 #
- Abstract Factory
- Functional Programming
- Kotlin
- 추상팩토리패턴
- 함수형프로그래밍
- designPattern
- 빌터패턴
- El
- 팩토리 메소드
- 프로토타입 패턴
- 디자인패턴
- 옵저버 패턴
- 코틀린
- Design Pattern
- ㅋㅁ
- PrototypePattern
- ㅓ
- r
- 추상 팩토리
- 싱글톤
- builderPattern
- a
- Today
- Total
목록Coroutine/coroutineFlow (15)
오늘도 더 나은 코드를 작성하였습니까?
Flow는 많은 Jetpack 라이브러리에 통합되어 있으며 Android third party libraries에서 널리 사용됩니다. Flow는 실시간 데이터 업데이트와 끝없는 데이터 스트림에 매우 적합합니다. Room과 Flow를 사용하여 데이터베이스의 변경 사항에 대한 알림을 받을 수 있습니다. 데이터 액세스 개체 (DAO)를 사용하는 경우 흐름 유형을 반환하여 실시간 업데이트를 가져옵니다. @Dao abstract class ExampleDao { @Query("SELECT * FROM Example") abstract fun getExamples(): Flow } 테이블이 변경 될 때 마다 데이터베이스의 새 데이터를 포함하는 새 List가 생성됩니다.
Catching unexpected exceptions 생산자는 구현은 다른 라이브러리에서 가져올 수 있습니다. 이는 예기치 않은 예외가 발생할 수 있음을 의미합니다. 이러한 예외를 처리하려면 catch 중간 연산자를 사용. class LatestNewsViewModel( private val newsRepository: NewsRepository ) : ViewModel() { init { viewModelScope.launch { newsRepository.favoriteLatestNews // catch 중간연산자 예외가 던저진다면, // 처리하고 UI를 처리한다. .catch { exception -> notifyError(exception) } .collect { favoriteNews -> }..
개요 coroutine에서 flow은 단일 값만 반환하는 suspend 함수와 달리 여러 값을 순차적으로 내보낼 수 있는 유형이다. coroutine flow는 순차적으로 값을 내보내고 정상적으로 또는 예외(Error)로 완료되는 비동기적인 데이터 스트림입니다. 내보낸 값은 동일한 유형이어야 합니다. 예를 들어 Flow는 정수 값을 내보내는 flow입니다. flow는 코 루틴을 기반으로 빌드되며 여러 값을 제공할 수 있다. flow는 비동기식으로 계산할 수 있는 데이터 스트림의 개념 flow는 value sequence를 생성하는 Iterator와 매우 비슷하지만 suspend 함수를 사용하여 값을 비동기적으로 생성하고 사용 사용예시 - flow을 사용하여 데이터베이스에서 실시간 업데이트를 수신할 수 있..