일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 회원가입
- ListAdapter
- 플레이스토어
- cleanarchitecture
- 코틀린
- Authentication
- NavHost
- NavController
- 클린아키텍처
- 코딩테스트
- XML
- Jetpack
- coroutine
- Android
- Kotlin
- Compose
- DiffUtil
- Flow
- 로그인
- 커스텀뷰
- UiState
- 리사이클러뷰
- sharedFlow
- 뷰
- 파이어베이스
- Build variants
- MVVM
- 컴포즈
- 안드로이드
- Today
- Total
목록coroutine (3)
Grusie 안드로이드 개발 기술 블로그
원하는 기능들을 어느정도 만들 수 있게 된 이후로, 이것저것 눈을 돌리게 되는 거 같다. 물론 테스트라고 하는 것은 매우 중요한 것이기에, 일찍부터 알아두는 것이 좋으나 그럴 여력이 되지 못했었다. 회사 프로젝트에도 테스트코드가 작성되어 있지 않았기에 독학을 하게 되었다. 테스트 코드를 작성해는 이유테스트 코드는 특정 로직을 테스트하면서 기능의 문제나 오류를 찾아내 주는 코드를 뜻한다.테스트 코드를 작성하지 않았던 사람들은 테스트를 이렇게 진행했을 것이다.앱 실행오류 발생로그를 찍어 오류 파악다시 수정 후 앱 실행이 과정을 반복하면서 오류를 해결했을 것이다.프로젝트의 규모가 커지면서, build 시간도 오래 걸리기에 비효율적인 작업이 될 것이다. 안드로이드에서 테스트 코드의 종류는 크게 2가지가 unit..
메세지를 띄우는 방법은 여러 가지가 있다. 토스트로 띄우는 방법, 다이얼로그로 띄우는 방법 등 여러가지가 있겠지만, 이번에는 SnackBar를 활용해서 띄워보도록 하자. SnackBar는 하단에 간단한 메세지를 표현하는데에 사용되는 메세지로, 화면에 국한되어 있다고 생각하는 게 편하다.Toast와 다르게 콜백을 받아 처리할 수 있으며, 간단한 Action을 구현하는 것도 가능하다. 기본 사용법val snackBarHostState = remember { SnackbarHostState() }val coroutine = rememberCoroutineScope()스낵바를 사용하기 위해선, 스낵바의 상태를 확인 할 수 있는 SnackbarHostState가 필요하다.coroutine.launch { s..
안드로이드 상태를 관리하는 것은 Ui와 Event로 나눌 수 있다.필자는 기존에 UiState로만 상태 관리를 하였으나, StateFlow나 LiveData 같은 경우 동일한 State를 방출했을 때, 변화를 감지하지 않기 때문에 문제가 발생하게 되었다.(같은 이벤트 처리)어떻게 해결하면 좋을지 찾아보던 중, Shared Flow를 사용해 EventState를 분리하여 관리하게 되면 문제가 해결 된다는 것을 알게 되었다. 기존 처리 방식- LiveData 혹은 SateFlow사용하여 데이터가 변경되는 값을 감지하고 그에 맞게 뷰를 변경해준다. LiveData를 사용하지 않는 이유- LiveData는 안드로이드 라이프사이클에 맞게 상태를 관찰 할 수 있다는 장점이 있으나, 클린아키텍처 구조와 같이 라이프사..