본문 바로가기

Android

Coroutines Flow #1 일시 중단 함수는 비동기적으로 하나의 값만 리턴한다. 어떻게 하면 비동기적으로 계산된 여러 값을 리턴할 수 있을까? # 다중값 표현 - Representing multiple values Kotlin Collections를 이용하여 여러값을 나타낼 수 있다. fun foo(): List = listOf(1, 2, 3) fun main() { foo().forEach { value -> println(value) } } # outputs 1 2 3 # 시퀀스 - Sequences CPU 연산이 요구되는 어떤 일들을 나타내고자 할 때 Sequences를 이용할 수 있다. (각 계산에 100ms 소요) fun foo(): Sequence = sequence { // sequence builder for (i .. 더보기
Android Navigation #2 Principles of Navigation 1. Fixed start destination 고정된 하나의 시작 Destination이 있어야 한다. 뒤로 버튼을 눌러 런처로 돌아오면 마지막으로 표시되는 화면 일회성 또는 로그인 화면과 같은 조건부 화면은 시작화면으로 고려해서는 안된다. 2. Navigation state is represented as a stack of destinations Navigation 상태는 Destination Stack으로 표시된다. 시작 Destination은 항상 Bottom에 존재하며 현재 Destination은 Top에 존재한다. 3. Up and Back are identical within your app's task Up 및 Back Button은 동일해야 .. 더보기
Android Navigation #1 Navigation 기본 구성요소 Navigation Graph 모든 Navigation 관련 정보를 하나로 모은 XML 리소스 행선지인 Destinations, 경로들을 포함한다 NavHost Navigation Graph에서 Destination을 표시하는 빈 컨테이너 NavHost 구현한 NvaHostFragment가 존재한다 NavController NavHost에서 Navigation을 관리하는 객체 사용자가 이동할 때 NavHost에서 Destination을 전환 Navigation Graph에서 정의한 특정 경로를 따라 이동할지, 혹은 특정 대상으로 직접 이동할지 navController에게 전달한다. 그러면 NavController가 NavHost에 적절한 대상을 표시한다. 장점 트랜잭션 .. 더보기