목록Android (11)
유스의 개발 일지
함수 뜯어보고 탐구하기App Bar앱 바는 사용자에게 주요 기능 및 탐색 항목에 대한 액세스 권한을 제공하는 컨테이너입니다. 앱 바에는 상단 앱 바와 하단 앱 바의 두 가지 유형이 있습니다. 각각의 모양과 목적은 다음과 같습니다.상단 앱 바 : 주요 작업 및 정보에 대한 액세스 권한을 제공합니다. 일반적으로 제목, 핵심 작업 항목, 특징 탐색 황목을 호스팅합니다. - TopAppBar하단 앱 바 : 일반적으로 핵심 탐색 항목에 포함됩니다. 포함된 플로팅 작업 버튼을 통해 다른 주요 작업에 액세스할 수도 있습니다. - BottomAppBar앱바는 일반적으로 이를 수신하는 특정 매개변수가 있는 Scaffold Composable에 전달됩니다. * 처음 Scaffold을 통해 AppBar을 설정할 시에 in..

함수 뜯어보고 탐구하기Compose Pager화면 내에서 페이지를 좌우 또는 상하로 스크롤하여 콘텐츠를 탐색할 수 있도록 돕는 Components입니다.종류는 다음과 같습니다.HorizontalPagerVerticalPager이 컴포넌트들은 콘텐츠를 지연 로딩하여 필요할 때만 페이지를 생성함으로써 성능을 최적화 합니다.( 사용자가 페이지를 스크롤하면 컴포저블은 더 이상 필요하지 않은 페이지를 삭제합니다. 기본적으로 페이저는 화면에 표시되는 페이지만 로드합니다. 화면 외부에 더 많은 페이지를 로드하려면 beyondBoundsPageCount를 0 보다 큰 값을 설정해야 합니다.)HorizontalPager는 화면의 전체 너비를 차지하고, VerticalPager는 전체 높이를 차지하며 페이저는 한 번에 한..

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