목록compose (9)
유스의 개발 일지

함수 뜯어보고 탐구하기LayoutUI 요소들을 배치하고 정렬하는 데 필수적인 개념들로 구성됩니다.View 시스템과의 차이를 보자면, XML View 형태에서는 ConstraintLayout과 같은 특정 뷰를 중첩할 때 몇가지 성능 문제가 발생하는데 (자식 뷰들의 상대적 위치를 기준으로 배치합니다. 어떤 뷰가 다른 뷰의 아래에 위치해야 한다면, 이 두 뷰는 상호 의존적인 관계를 갖게 되고 서로 간의 관계를 계산해야 하므로 다른 레이아웃보다 측정 단계가 더 복잡하고 오래 걸리는 단점, 이로써 성능 저하가 발생하게 됩니다.) Compose는 여러 번 측정하는 것을 방지하므로 성능에 영향을 미치지 않고 원하는 만큼 깊이 중첩할 수 있는 장점이 있습니다. Compose의 기본 LayoutColumn : 세로로 배..

함수 뜯어보고 탐구하기Button Button은 터치 가능한 Ui 요소로, 사용자와의 상호작용을 가능하게 해주는 중요한 Compoenets입니다. * Compoenets : 재사용 가능한 Ui의 구성 요소를 의미합니다. 컴포넌트는 특정 기능이나 레이아웃을 담당하며, 앱의 구성하는 작은 블록이 됩니다. Compose Button 정의 되어있는 각각의 역할들을 알아보겠습니다.@Composablefun Button( onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, shape: Shape = ButtonDefaults.shape, colors: ButtonColors = ButtonDefaul..
Compose Side-effect composable 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다. 즉, 컴포저블의 상태가 변경되면서 화면에 직접적인 영향을 주거나 외부 작업을 수행하는 것을 의미합니다. 예를 들면 사용자에게 메시지를 표시하는 스낵바를 띄우거나, 특정 조건이 충족되면 다른 화면으로 이동하는 작업이 이에 해당합니다. 컴포저블의 수명 주기를 인식하고 관리하는 환경에서 이러한 Side-effect를 처리하도록 여러 API를 제공합니다. 이를 통해 일회성 이벤트가 특정 상태 변화에 따라 정확히 한 번만 발생하거나 컴포저블이 새로 구성될 때마다 이벤트가 발생하지 않도록 안정적으로 관리할 수 있습니다. 또한 UI 렌더링 로직과 분리시키고 개별적인 coroutine scope에 실행시..

State앱의 State는 시간이 지남에 따라 변할 수 있는 값입니다. Room Database -> Room의 변수까지 모든 것을 포괄합니다.Composable은 새로운 State에 따라 업데이트를 하려면 새로운 State에 대해 명시적으로 알려야 합니다.remember API를 사용하여 메모리에 객체를 저장할 수 있습니다. remeber에 의해 계산된 값은 초기 Composition 중에 Composition에 저장되고 저장된 값은 reComposition 중에 반환됩니다. remember은 변경 가능한 객체뿐만 아니라 변경할 수 없는 객체를 저장하는 데 사용할 수 있습니다.interface MutableState : State { override var value: T}mutableStateO..