Android

· Android
StateFlow & SharedFlow StateFlow 와 SharedFlow 는 다수의 소비자에게 상태 및 값을 방출하는게 가능하도록 최적화된 Flow 이다. Flow 와 StateFlow & SharedFlow 에 cold flow, hot flow 라는 얘기가 자주 나오는데 무슨 뜻일까? Cold & Hot Flow 그냥 Flow 는 cold Flow 이다. 소비자가 활성화되어 있지 않으면 방출도 중지된다. 소비자와 생산자가 1 대 1 관계이다. StateFlow 와 SharedFlow 는 Hot Flow 이다. 소비자랑 상관 없이 참조가 존재하는 한 메모리에 남아서 방출한다. 다수의 소비자가 가능하다. StateFlow state-holder 로 observable flow 이다. 현재 상태 ..
· Android
우아한테크코스에서 flow 를 배우지 않는다는 소식에 혼자 독학하는 flow deep dive! 시작! https://developer.android.com/kotlin/flow Android의 Kotlin 흐름 | Android Developers Android의 Kotlin 흐름 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 코루틴에서 흐름은 단일 값만 반환하는 정지 함수와 달리 여러 값을 순차적으로 내보낼 developer.android.com Flow 란? Coroutine flow 는 단일 값만 반환하는 suspend function 과 다르게 여러 값을 순차적으로 내보낼 수 있는 type 이다. 예를 들어 이 flow 를 사용하면 데이터베이스의 업데이트를 실시간..
· Android
이전에 Presenter 테스트 작성으로 테스트의 중요성을 알아봤다. https://seonghoonc.tistory.com/20 Presenter 테스트 작성하기 (안드로이드 MVP) : [우아한테크코스 5기 AN_베르] 들어가기 전에 이 글은 MVP 패턴 적용이나 단위 테스트에 대한 경험이 없다면 이해하는데 어려움이 있을 수 있습니다. 테스트가 필요한가? 장바구니 주문 미션 2단계 제출할 때까지 Presenter 테스 seonghoonc.tistory.com 또한 MVP 를 MVVM으로 리팩터링하는 과정도 거쳤다. https://seonghoonc.tistory.com/21 [안드로이드] MVP 패턴 MVVM 패턴으로 리팩터링하기 MVP 패턴으로 작성한 단순한 화면을 MVVM 패턴으로 바꿔보자! + ..
· Android
Fragment 인스턴스는 자체 생명 주기를 갖는다! 사용자가 앱을 탐색하고 상호 작용할 때 프래그먼트는 add, remove, 되고 화면으로 들어가거나 나갈 때 수명 주기가 전환된다. 생명 주기를 관리하기 위해 Fragment 는 LifecycleOwner 를 구현한다. 이 오브젝트를 통해 getLifecycle() 메서드로 접근 가능하다. Fragment 생명 주기 은 다음과 같이 enum 으로 구성된다. 1. INITIALIZED 2. CREATED 3. STARTED 4. RESUMED 5. DESTROYED Fragment 생명주기 콜백함수와 Fragment 생명주기는 다르다. 1. onAttach() 및 onDetach() 프래그먼트가 인스턴스화 되면 INITIALIZED 상태에서 시작. 프래..
· Android
로컬 DB 를 사용 상당한 양의 데이터를 처리하는 앱은 데이터를 로컬에 저장하여 매우 큰 이익을 얻을 수 있습니다. 예시로 네트워크에 액세스할 수 없을 때도 사용자가 오프라인 상태로 콘텐츠를 탐색할 수 있도록 캐시 Room DB란Room 의 장점 SQL 쿼리의 컴파일 시간 확인 반복적이고 오류가 발생하기 쉬운 boilerplate 코드를 최소화할 수 있는 편리한 어노테이션 제공 간소화된 DB 이전 경로 SQLite API를 직접 사용하지 않고 Room 을 사용할 것을 Docs 에서 공식적으로 권장하고 있음 Room 지속성 라이브러리는 SQLite 를 활용하면서 데이터베이스에 쉽게 접근할 수 있도록 추상화 계층을 제공 Room 의 주요 구성요소 Database class DB 를 보유하고 앱의 영구 데이터..
· Android
Fragment 란? 테블릿처럼 큰 화면에서 기존엔 Activity 두개를 띄우거나 했지만 서로 다른 생명주기를 가져서 관리가 힘들었다..!! 그래서, 동일한 액티비티 생명주기를 공유하지만 화면을 서로 다르게 사용하기 위해 Fragment 가 탄생했다. Fragment 는 FragmentActivity 내의 어떤 동작 또는 사용자 인터페이스 일부를 나타낸다. Activity 와 결합하여 창이 여러개인 UI 를 빌드할 수 있으며 하나의 Fragment 여러 Activity 에서 재사용할 수 있다. 자체적인 생명 주기를 가지며 자체 입력 이벤트를 수신하고 Activity 실행 중에 추가 및 삭제가 가능하다. Fragment 는 항상 액티비티 내에서 호스팅되어야 하며 액티비티의 생명 주기에 직접적인 영향을 받..
· Android
Activity 란?안드로이드 4대 컴포넌트 중 하나이자 사용자들과 상호작용하기 위한 진입점. Activity LifeCycle 란?사용자가 앱을 켜고 끄고 다른 앱을 켜는 등의 활동을 할때액티비티 인스턴스는 수명 주기 안에서 서로 다른 상태를 통해 전환된다. 이때 Acticity 클래스는 활동이 상태 변화를 알아차릴 수 있는 여러 콜백을 제공한다. 이 생명 주기 콜백을 잘 구현하면 앱에서 문제가 발생하지 않게 예방할 수 있다! 기본 Activity  LifeCycle  종류* 기본 6개만 명시되어 있으며 onSaveInstanceState(), onRestoreInstanceState() 도 존재한다.  1. onCreate()2. onStart()3. onResume()4. onPause()5. on..
베르_최성훈
'Android' 카테고리의 글 목록 (2 Page)