개요우아한테크코스에서 각 크루 멤버는 교육 기간 동안 한 번 발표해야 합니다. 주제는 자유롭고, 배운 것이나 경험한 것을 공유해야 합니다. 저는 평소에 관심있게 공부했던 Jetpack Compose를 주제로 선택했습니다. 발표 자료를 공유합니다.
지난 포스팅 https://jinudmjournal.tistory.com/148 Compose의 SideEffects (1) Composable에서의 non-composable SideEffects란 Composable 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다. Composable의 수명 주기 및 속성으로 인해 SideEffects를 최소화하는 것이 좋습니다. 하지 jinudmjournal.tistory.com 지난포스팅에 이어서 Compose의 SideEffects에 대하여 학습하는 시간을 가지게 되었습니다. 이번 시간에는 Compose 상태를 Non - Compose 상태로 변환하는 방법과 반대의 경우를 살펴보겠습니다. Non - Compose -> Conpose Compose에서는..
Composable에서의 non-composable SideEffects란 Composable 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다. Composable의 수명 주기 및 속성으로 인해 SideEffects를 최소화하는 것이 좋습니다. 하지만 스백바를 표시하거나 특정 상태 조건에 따라 다른 화면으로 이동하는 등의 일회성 이벤트를 처리할 때 SideEffects가 필요하게 됩니다. LaunchedEffect LaunchedEffect는 컴포저블 범위에서 정지 함수를 실행할 때 사용합니다. 매개변수로 전달 된 코드 블록으로 코루틴이 실행되는데요. LaunchedEffect가 컴포지션을 종료하면 코루틴이 취소됩니다. LaunchedEffect(Unit) { detailViewModel.in..
Paging Library 구현 2번째 포스팅 입니다. https://jinudmjournal.tistory.com/131 [Android,Paging] Compose에서 Paging Library 구현하기 (1) Paging 라이브러리 Paging 라이브러리는 대규모 데이터 세트에서 페이징 된 데이터를 로드하여 표시하는 기능을 제공한다. Paging 라이브러리를 사용해서 네트워크 데이터 소스에서 페이징 된 데이 jinudmjournal.tistory.com Paging 구현 순서 이 포스팅에서 사용하는 Paging 구현 순서는 아래와 같다. 1. Data Model을 정의한다. - Entity, Dto, Domain Model, Mappers.. 2. RoomDB를 구현한다. 3. Retrofit 등 ..
Paging 라이브러리 Paging 라이브러리는 대규모 데이터 세트에서 페이징 된 데이터를 로드하여 표시하는 기능을 제공한다. Paging 라이브러리를 사용해서 네트워크 데이터 소스에서 페이징 된 데이터의 스트림을 설정하고, Compose View에 표시하는 방법을 학습했다. 우선 아래와 같이 Paging 관련 Library를 추가한다. // paging def paging_version = "3.1.1" implementation "androidx.paging:paging-runtime:$paging_version" implementation "androidx.paging:paging-compose:1.0.0-alpha18" 대부분의 페이징 라이브러리는 서버와 로컬 DB를 함께 사용하므로, Room과 ..
Jetpack Compose로 개발 중에 Preview에 Viewmdodel을 적용하는 코드를 작성한다. @Preview(showBackground = true) @Composable fun DefaultPreview2() { MyFoodDiaryBookAOSTheme { MainUi(todayViewModel = TodayViewModel()) } } Main화면을 담당하는 MainUi 적용 시, 위와 같이 뷰 모델을 적용해야 했다. 하지만 ComponentActivity 내부에서 viewmodel을 선언해서 사용해야하는데, MainUi 함수의 경우 따로 뷰 모델을 선언할 수 있는 코드를 작성할 수 없다. 따라서 적용하려 하는 뷰 모델의 껍데기 역할을 담당하는 FakeViewModel을 만들어서 Pre..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.