일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- F
- a
- Singleton
- builderPattern
- factory method
- ㅓ
- 추상 팩토리
- Kotlin
- Functional Programming
- 디자인패턴
- El
- Observer Pattern
- 프로토타입 패턴
- r
- 디자인패턴 #
- 빌터패턴
- 팩토리 메소드
- 추상팩토리패턴
- Design Pattern
- Abstract Factory
- 옵저버 패턴
- 싱글톤
- 코틀린
- PrototypePattern
- ㅋㅁ
- designPattern
- 함수형프로그래밍
- Today
- Total
목록Coroutine (24)
오늘도 더 나은 코드를 작성하였습니까?
callbackFlow는 콜백 기반 API를 흐름으로 변환 할 수있는 flow Builder 입니다 Firebase Firestore Android API는 콜백을 사용합니다. 이러한 API를 flow으로 변환하고 Firestore 데이터베이스 업데이트를 수신하려면 다음 코드를 사용할 수 있습니다. class FirestoreUserEventsDataSource( private val firestore: FirebaseFirestore ) { // Firestore database 에서 사용자 이벤트 가져오는 함수 fun getUserEvents(): Flow = callbackFlow { // Firestore 참조 var eventsCollection: CollectionReference? = nul..
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을 사용하여 데이터베이스에서 실시간 업데이트를 수신할 수 있..