목록Android (5)
유스의 개발 일지
Compose UI에 Android 뷰 계층 구조를 포함할 수 있습니다. 이 접근 방식은 AdView와 같이 Compose에서 아직 사용할 수 없는 UI 요소를 사용하려는 경우에 특히 유용합니다. 이 접근 방식을 사용하면 직접 디자인한 맞춤 뷰를 재사용할 수도 있습니다. 뷰 요소 또는 계층 구조를 포함하려면 AndroidView 컴포저블을 사용합니다. AndroidView에는 View를 반환하는 람다가 전달됩니다. 또한 AndroidView는 뷰가 확장될 때 호출되는 update 콜백도 제공합니다. AndroidView는 콜백 내에서 읽은 State가 변경될 때마다 재구성됩니다. 여타 기본 제공 컴포저블과 마찬가지로 AndroidView는 상위 컴포저블에서 위치를 설정하는 등의 목적으로 사용할 수 있는 ..
Adaptive Layout (적응형 레이아웃) XML 레이아웃으로 설정할 경우 여러 형태의 모바일 기기에 적용하기 위해서 많은 설정들이 필요합니다. 여러가지 화면에 대응할 때에 어려움이 있었는데 Jetpack Compose는 선언형 UI 도구 키트로, 다양한 디스플레이 크기에 맞게 콘텐츠를 다르게 렌더링하도록 동적으로 변경되는 레이아웃을 설계하고 구현하는 데 이상적이라고 합니다. Android 앱은 폴더블 플립형 스마트폰에서부터 벽걸이 TV 모든 유형의 사용자에게 우수한 사용자 환경을 제공하기 위해 다양한 디스플레이 크기와 구성에 맞게 앱의 UI를 조정할 수 있습니다. 이 화면 공간을 최대한 활용하는 인기 Android 앱 런타임 시 해당 공간에 대한 변경사항(방향 변경 및 창 포함) 화면 분할 및 자..

함수 뜯어보고 탐구하기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..