| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Kotlin
- 싱글톤
- Design Pattern
- 코틀린
- factory method
- Coroutines
- android designsystem
- material3
- 추상팩토리패턴
- 코루틴
- 빌터패턴
- 안드로이드 디자인시스템
- compose
- define
- ㅋㅁ
- 디자인패턴 #
- ㅓ
- Observer Pattern
- 디자인패턴
- Abstract Factory
- 옵저버 패턴
- Functional Programming
- builderPattern
- 프로토타입 패턴
- 함수형프로그래밍
- Singleton
- 팩토리 메소드
- PrototypePattern
- designPattern
- 추상 팩토리
- Today
- Total
목록전체 글 (338)
오늘도 더 나은 코드를 작성하였습니까?
Flow는 Sequence 처럼 laze처리되지만 어떻게 비동기 방식이기도 할까요? 예시에서는 기본 스레드나 UI 스레드와 같은 다른 스레드에 있는 관찰자와 데이터베이스 스레드 풀에서 생성된 데이터를 조정해야 합니다. 또한 데이터 변화에 따라 반복적으로 결과를 내보낼 것이므로 이 시나리오는 비동기 시퀀스 패턴에 적합합니다. Flow 용 Room 통합을 작성해야한다고 생각해보자 Room에서 지원되는 suspendQuery로 시작한 경우 다음과 같이 작성할 수 있습니다. // This code is a simplified version of how Room implements flow fun createFlow(query: Query, tables: List): Flow = flow { val changeT..
Flow가 요청 시 값을 생성하거나 지연 생성하는 방법을 알아보기 위해 각 항목이 생성되기 전과 도중 그리고 이후에 (1, 2, 3) 값을 내보내기. fun makeFlow() = flow { println("sending first value") emit(1) println("first value collected, sending another value") emit(2) println("second value collected, sending a third value") emit(3) println("done") } scope.launch { makeFlow().collect { value -> println("got $value") } println("flow is completed") } coll..
StateFlow와 SharedFlow는 Flow 에서 최적으로 데이터 state 업데이트를 내보내고 여러 소비자에게 값을 내보낼 수 있는 Flow API입니다. statsflow - Observable flow - state를 지니고 있음. - 최신 및 새로운 상태를 여러 collectors들에게 업데이트 시켜줌. - value property를 통해 값을 받을 수 있다. - state를 업데이트하고 flow로 보내려면 MutableStateFlow 클래스의 value 속성에 새 값을 할당한다. - flow를 StateFlow로 변환하려면 stateIn 중간 연산자를 사용 private val _uiState = MutableStateFlow(LatestNewsUiState.Success(emptyLi..
LaunchMode - Activity 를 시작하는 방법을 설정한다. - Intent 를 처리하기 위해 Activity 호출할 때 발생하는 것을 결정하기 위해 Intent 객체에서 액티비티 플래그(FLAG_ACTIVITY_* 상수)와 함께 작동하는 4개의 모드가 있다. Activity 생성하고 새로운 인스턴스를 만드는 경우 intent를 사용한다. startActivity()로 연결해서 만들어버릴 수도 있겠지만, 인텐트에 flag 값을 설정하여 액티비티를 만들 수도 있습니다. Intent intent = new Intent(this, SubActivity.class); intent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); Intent..
