Using state in Jetpack Compose – 화면 섹션을 전달하기 위해 slot 사용하기

복잡한 UI를 표시하는 stateless 컴포저블에는 많은 매개변수가 포함될 수 있다. 매개변수가 많지 않고, 매개변수가 직접적으로 컴포저블을 설정하는 경우, 이건 괜찮다. 그러나 때로는 하위 컴포저블을 설정하기 위해 매개변수를 전달해야 한다. 우리의 네오-모던 인터렉티브 디자인에서는 디자이너가 Add 버튼을 상단에 유지하고, 인라인 에디터에는 더보기…

Using state in Jetpack Compose – Stateless 컴포저블 재사용하기

드디어 네오-모던 인터랙티브 디자인을 구현할 준비가 되었다! 참고로, 우리가 구축하려고 하는 것은 다음과 같다. TodoScreen에 state 및 event 전달하기 TodoViewModel에서 이 화면에 필요한 모든 state와 event 정의를 끝냈다. 이제 TodoScreen을 업데이트하여 화면을 표시하는 데 필요한 state와 event를 가져온다. TodoScreen.kt를 열고 더보기…

Using state in Jetpack Compose – ViewModel 내 state 테스트하기

애플리케이션 로직이 올바른지 확인하기 위해 ViewModel을 테스트하는 것은 좋은 생각이다. 이 섹션에서는 상태에 대해 State<T>를 사용하여 ViewModel을 테스트 하는 방법을 보여주는 테스트 코드를 작성할 것이다. TodoViewModelTest에 테스트 추가하기 이 테스트는 이벤트에 의해 직접 수정되는 State<T>를 테스트하는 방법을 보여준다. 이전 섹션에서 더보기…

Using state in Jetpack Compose – ViewModel에서 state 사용하기

우리 디자이너의 네오 모던 인터랙티브 모의를 리뷰중, 현재 편집하는 아이템을 나타내는 몇가지 상태 추가가 필요해졌다. 이제 이 에디터의 상태를 추가할 위치를 결정해야 한다. 아이템 나타내거나 편집을 처리하는 또 다른 stateful 컴포저블인 “TodoRowOrInlineEditor”를 만들 수 있지만, 한 번에 하나의 에디터만 표시하려고 더보기…

Using state in Jetpack Compose – Stateless 컴포저블 추출하기

디자이너가 오늘 새로운 디자인 트렌드 상에 있다. 단정하지 못한 UI와 포스트 머테리얼은 사라졌다. 이번주 디자인은 디자인 트레드인 “네오 모던 인터렉티브”를 따르는 것이다. 디자이너에게 그게 뭐냐고 물었고 대답은 이모지가 포함하여 약간 혼란스러웠다. 하지만 어쨌든, 여기에 목업 디자인이 있다. Tip: 네오 모던 인터렉티브는 더보기…

Using state in Jetpack Compose – 상태 기반의 동적인 UI

지난 섹션에서 컴포저블에 state를 추가하는 방법과 컴포저블이 사용하는 state를 stateless로 만들기 위해 state hoisting을 하는 방법에 대해서 배웠다. 이제 state기반의 동적인 UI를 만들는 방법을 알아보자. 디자이너의 목업 디자인으로 다시 보면, 텍스트가 공백이 아닐 때마다 icon행을 보여줘야 한다. 상태로부터 iconVisible 얻기 더보기…

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를 더보기…