flow
-
Kotlin Flow 중간 연산자 zip과 combine 적용기🖊생활/✒️프로젝트 회고 2023. 3. 23. 13:56
최근 검색 기록을 가져올때 zip을 사용했다가 combine으로 변경한 회고입니다 검색기능을 구현하다가 처음이거나 검색어가 없을때는 최근 검색어를 보여주고, 검색이 진행되면 api에서 받아온 데이터를 화면에 보여줘야하는 기능을 작업해야했다. Room을 이용해서 최근 검색어를 저장하였고, (객체를 저장해야해서 DataStore나 SharedPreference보다 Room이 적합해보였다) 무한정으로 저장 할 수는 없으니 개수는 10개 제한이었고, 10개일때 새로운 데이터가 들어오면 처음 데이터가 삭제되고 새로운 데이터를 저장하는 방식으로 구현을 해야했다. 그래서 Room에서 데이터를 받아오고, List에 저장을 했다가 새로운 데이터가 들어오면 Room에 Delete와 insert를 요청해서 해결하려하였다. ..
-
Stream 그게 뭔데.... Flow 그거 어떻게 하는건데?Kotlin🖥 2022. 10. 24. 22:53
Hot Stream과 Cold Stream을 정리해보고 SharedFlow와 StateFlow의 차이를 알아보자! Flow에는 Hot Stream과 Cold Stream이라는 개념이 있습니다. Cold Stream 얘는 정이 없다. 이름부터 차갑다. 그래서 하나의 소비자에게만 값을 보낸다. 생성된 이후에 누군가 소비하기 시작해야 데이터를 발행하기 시작한다. 하나의 소비자에게만 값을 보냄 생성된 이후에 누군가 소비하기 시작해야 데이터를 발행 Hot Stream 얘는 이름부터 뜨겁다. 열정이 넘친다. 그래서 하나 이상의 소비자에게 열심히 값을 보낸다. 데이터가 발행이 시작되면 모든 소비자에게 같은 데이터를 보내고, 소비자가 없어도 열심히 데이터를 발행한다. State Flow, Shared Flow가 Hot..