일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- viewpager
- 코루틴
- 안드로이드스튜디오
- Github
- 안드로이드
- dart
- Kotlin
- build
- coroutine
- 레트로핏
- GIT
- studio
- WebView
- 안드로이드 스튜디오
- image
- RecyclerView
- 유튜브
- MVVM
- Gradle
- error
- 의존성주입
- 깃헙
- 코틀린
- 안스
- 웹뷰
- 스튜디오
- ADB
- 에러
- Retrofit
- Today
- Total
목록코루틴 (4)
코딩하는 일용직 노동자
Flow의 기본 개념 복습Flow는 코틀린에서 비동기 데이터 스트림을 표현하는 방법입니다. 데이터를 순차적으로 발행하고, 여러 종류의 연산을 지원하여 데이터를 변형하거나 필터링할 수 있습니다.Hot Stream vs Cold StreamFlow는 데이터가 생성되고 소비되는 시점에 따라 Hot Stream과 Cold Stream으로 나눌 수 있습니다.Cold Stream소비자가 시작해야 데이터 생성: 소비자가 Flow를 구독(subscribe)해야 비로소 데이터가 생성되고 전달됩니다.각 소비자는 독립적인 스트림: 각 소비자는 독립적인 스트림을 가지므로, 다른 소비자가 어떤 값을 받았는지에 영향을 받지 않습니다.예시: 네트워크 요청 결과, 데이터베이스 쿼리 결과 등주요 특징:지연 실행: 소비자가 구독하기 전..
안드로이드 코루틴에서 launchWhenStarted, launchWhenCreated, launchWhenResumed는 액티비티 또는 프래그먼트의 라이프 사이클에 따라 코루틴을 실행하는 함수입니다. 각 함수의 작동 방식: launchWhenStarted: 액티비티 또는 프래그먼트가 시작되면 코루틴을 실행합니다. 액티비티 또는 프래그먼트가 일시 중지되거나 중지된 후 다시 시작되면 코루틴은 다시 시작되지 않습니다. launchWhenCreated: 액티비티 또는 프래그먼트가 생성되면 코루틴을 실행합니다. 액티비티 또는 프래그먼트가 일시 중지되거나 중지된 후 다시 시작되면 코루틴은 다시 시작되지 않습니다. launchWhenResumed: 액티비티 또는 프래그먼트가 다시 시작될 때 코루틴을 실행합니다. 액..
StateFlow 와 SharedFlow 의 차이점에 대해 알아보겠습니다. StateFlow는 상태(State)를 표현하기 때문에 초기값이 필요하고 하나의 값만 업데이트할 수 있습니다. StateFlow는 .value에 상태값을 넣어서 업데이트를 합니다. SharedFlow는 초기값이 없습니다. SharedFlow는 emit() 으로 이벤트를 전달합니다. StateFlow 와 SharedFlow를 테스트해보기 위해 MainViewModel을 만들고 아래처럼 테스트코드를 구성했습니다. import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import kotlinx.coroutines.delay import kotlinx.c..
Coroutine Operator(코루틴 연산자)는 데이터 스트림을 처리하고 변환하는 데 사용되는 함수입니다. 크게 두 가지 종류로 나눌 수 있습니다. 1. 중간 연산자: 데이터 스트림을 변환하거나 필터링하는 데 사용됩니다. 여러 개의 연산자를 체인 방식으로 연결하여 사용할 수 있습니다. 대표적인 연산자로는 map, filter, take, zip 등이 있습니다. map: 각 데이터를 변환하여 새로운 데이터 스트림을 생성합니다. filter: 특정 조건에 맞는 데이터만 선택하여 새로운 데이터 스트림을 생성합니다. take: 지정된 개수의 데이터만 가져옵니다. zip: 두 개의 데이터 스트림을 결합하여 새로운 데이터 스트림을 생성합니다. buffer: 데이터 스트림을 버퍼링하여 처리 속도를 향상시킵니다. ..