Using state in Jetpack Compose – 컴포즈 내의 상태

지난 섹션에서 어떻게 컴포저블 함수들이 메모리를 갖는지 배웠다. 이제 그 메모리를 사용하여 컴포저블에 상태(state)를 추가 해보도록 하자. 디자이너가 단정치 못한 디자인에서 포스트 머테리얼로 전환했다. todo 입력에 대한 새로운 디자인은 접을수 있는 헤더로써 같은 공간을 차지한다. 그리고 확장(expanded) 및 축소(collapsed) 두개의 더보기…

Using state in Jetpack Compose – Memory in Compose

단방향 데이터 흐름을 만들기 위해 컴포즈를 ViewModel과 함께 어떻게 사용해야 하는지 알아보았다. 지금부터 컴포즈가 내부적으로 state와 어떻게 상호작용하는지 알아보자. 지난 섹션에서는 컴포저블을 다시 호출하여 컴포즈가 화면을 업데이트 하는것을 보았다. 이러한 처리를 recomposition(재구성)이라 한다. TodoScreen을 다시 호출하여 동적인 목록을 보여줄 수 더보기…

Using state in Jetpack Compose – 컴포즈 그리고 ViewModel

지난 섹션에서 ViewModel과 LiveData를 사용하는 단방향 데이터 흐름에 대해서 살펴보았다. 이제는 컴포즈로 옮겨가서 어떻게 단방향 데이터 흐름을 컴포즈에서 ViewModel과 함께 사용하는지 알아보도록 하자. 이전 섹션을 읽지 않은 사람을 위해, 다시 한번 아래의 3가지 용어에 대해서 짚고 넘어가자. State – 시간에 더보기…

글쓴이 Charlezz,

Using state in Jetpack Compose – 단방향 데이터 흐름 이해하기

이 섹션은 안드로이드 View 시스템을 사용한 단방향 데이터 흐름 개념을 소개한다. 이미 단방향 데이터 흐름 및 구조화 된 코드에서 어떤식으로 사용되는지 알고 있다면, 다음 섹션으로 넘어가도 좋다. UI 업데이트 순환 TODO앱을 만들기 전에, 단방향 데이터 흐름에 대해서 알아보자. 무엇이 state를 더보기…

Using state in Jetpack Compose – 설정하기

샘플 앱을 다운로드 하려면 다음중 하나를 수행하자. 샘플 앱 다운로드를 수행하거나 또는 커맨드 라인을 사용하여 Github 저장소를 클론하자 git clone https://github.com/googlecodelabs/android-compose-codelabs.git cd android-compose-codelabs/StateCodelab compose-codelabs 저장소는 코드랩을 위한 스타터 코드를 포함한다. 이 코드랩에서는 StateCodelab 프로젝트를 사용한다. – StateCodelab : 이 코드랩을 더보기…

Using state in Jetpack Compose – Introduction

이 코드랩에서는 state 및 Jetpack Compose에 의해 state가 어떻게 사용되고 조작되는지 알아본다. 그 전에, state라는 것이 정확히 무엇인지 정의하는게 좋을 것 같다. state의 핵심을 보면, 애플리케이션의 state는 시간에 따라 변경 가능한 어떤 값이다. 이건 매우 개괄적인 정의고, Room 데이터베이스 부터 더보기…

Layouts In Jetpack Compose – Intrinsics

컴포즈의 규칙중 하나는 하위 요소를 한번만 측정해야 한다는 것이다. 하위요소를 두번 측정하는 것은 런타임 예외를 발생시킨다. 하지만 때로는 측정하기 전에 하위요소에 대한 몇가지 정보가 필요하다. Intrinsics를 사용하면 실제로 측정되기 전에 하위요소에 질의할 수 있다. 개발자는 intrinsicWidth 또는 intrinsicHeight를 컴포저블에게 요청할 더보기…

Layouts in Jetpack Compose – Constraint Layout

ConstraintLayout은 컴포저블을 다른 컴포저블들에 관련지어 화면상에 배치 할 수 있게 하고, 여러개의 Row, Column 및 Box를 사용하는 것에 대한 대안이 된다. ConstraintLayout은 더 복잡한 정렬이 필요하거나, 더 큰 레이아웃들을 구현할 때 유용하다. Note: View시스템에서 ConstraintLayout은 flat한 View계층을 갖는것이 성능상으로 더 더보기…

Layouts In Jetpack Compose – 레이아웃 Modifier에 대해 자세히 알아보기

modifier의 기본적인 내용, 커스텀 컴포저블을 생성하는 방법, 하위요소들을 수동으로 측정하고 배치하는 방법에 대해서 알았으므로 modifier가 내부에서 어떻게 작동하는지 더 잘 이해할 수 있을 것이다. 요약하자면, modifier들은 우리가 컴포저블의 행동을 커스텀 할 수 있도록 한다. 다양한 modifier들을 체이닝하여 함께 결합할 수 더보기…

Layouts in Jetpack Compose – 복잡한 커스텀 레이아웃 만들기

Layout의 기초를 다뤄 보았다면, API의 유연성을 보여줄만한 더 복잡한 예제를 만들자. 다음 나오는 사진의 중앙에 있는 Material Study Owl의 커스텀 staggered grid를 만들어 보자. Owl의 staggered grid는 아이템을 수직적으로 전개하고, 하나의 열에 주어진 n개의 행을 채워 넣는다. Row에 Column들을 채우는 더보기…