[Compose] 4. 상태관리 - hoisting, mutableState, remember, rememberSaveable, Parcelize, MapSaver, ListSaver State 란? Room database부터 클래스의 변수까지(최하위에서부터 최상위레벨 까지) 앱은 시간에 따라 계속적으로 상태가 변화합니다. Android의 앱들은 이렇게 변화하는 상태를 사용자에게 화면에 표시하여 인지하도록 해 줍니다. 예를 들면, 네트워크가 끊어졌을 때 Snackbar로 알림 표시 블로그의 포스팅과 댓글 표시 버튼을 눌렀을 때 ripple 효과 사용자가 사진 위에 그려서 붙이는 sticker 이 글에서는 앱에서 Compose로 상태를 표시할 때 해당 상태가 어디에 위치해야 하며, 어떻게 저장되고 사용되는지에 대한 내용을 다룹니다. 또한 Jetpack Compose에서 이러한 상태들을 연결하고 관리하기 위해 제공하는 API들에 대해서 얘기합니다. 이 글은 Android develope.. 개발이야기/Android 4년 전
[Compose] 3. 선언형(Declarative) UI와 Recomposition 이미 앞에서 compose에 대한 기본 구조 및 예제에 대해 설명했습니다. 이제, Compose의 중요한 concept에 대한 선언형 (Declarative) UI에 대해서 설명합니다. 이 포스팅을 예제보다 먼저 쓰지 않은 이유는 Compose의 개념과 사상에 대해서 먼저 기술하는 경우 기술문서를 읽다가 지치기 십상이기 때문입니다. 이 글은 Android developer 공식 사이트에서 제공하는 문서를 기반으로 의역, 번역 하였습니다.[1] 선언형 프로그래밍의 paradigm 기존의 안드로이드에서는 유저의 상호작용이나 개발자의 의도로 특정 Data가 변경되는 경우 직접 UI widget에 접근하여 데이터를 변경했습니다. 즉 TextView.setText, container.addChild(View) 등.. 개발이야기/Android 4년 전