Developing Myself Everyday
article thumbnail
ViewModel 톺아보기 (1) - ViewModel의 생성과 관리
Android/Compose 2024. 11. 18. 20:51

사진: Unsplash의April Walker   안드로이드 개발을 할 때, ViewModel을 사용하는 것은 이제 옵션이 아닌 필수일 정도로 ViewModel을 사용하는 것은 매우 당연해 졌습니다. 시간이 지나며 새로운 기술일이 나오게 되면서, 이에 대응하여 ViewModel의 사용 방법은 우리가 눈치채지도 못하게 자연스럽게 바뀌었습니다. 그러면서 모르고 지나갔던 부분들을 톺아보고자 이번 게시글에서는 ViewModel을 어떻게 사용하고 있는지 살펴보고자 합니다. 이 게시글은 3가지의 시리즈로 구성되어 있습니다. (1) - ViewModel의 생성과 관리 [현재 게시글](2) - Hilt와 함께 ViewModel 가져오기(3) - ViewModel과 SaveStateHandle    ViewModel의 ..

article thumbnail
SavedStateHandle을 통해 Compose Navigation간 데이터 전달하기
Android/Compose 2024. 9. 23. 17:47

사진: Unsplash의Pawel Czerwinski 이 게시글은 Type-Safe Compose Navigation을 사용하고 있다는 것을 전제합니다. 만약 아직 Migration을 하지 않으셨다면 아래의 게시글을 통해 진행해 보세요! Type Safety를 지원하는 Compose Navigation으로 이전하기사진: Unsplash의Dan Chung  드디어 Compose Navigation에서 Type Safety를 지원합니다! 이전에 Compose를 해보지 않으셨다면 모르시겠지만, 이전의 Compose Navigation을 해보셨다면 해당 방식이 마음에 안드셨던everyday-develop-myself.tistory.com   Compose Navigation을 사용하면서 화면 이동간 데이터를 전..

article thumbnail
Type Safety를 지원하는 Compose Navigation으로 이전하기
Android/Compose 2024. 7. 9. 15:26

사진: Unsplash의Dan Chung  드디어 Compose Navigation에서 Type Safety를 지원합니다! 이전에 Compose를 해보지 않으셨다면 모르시겠지만, 이전의 Compose Navigation을 해보셨다면 해당 방식이 마음에 안드셨던 분들이 많았을 겁니다.  불만이 많으셨던 분들을 위해 Type Safety Compose Navigation에 대해 간략히 살펴보고 제가 작성한 코드를 마이그레이션 해보고자 합니다. 필요한 Gradle은 아래와 같습니다.[versions]...kotlinxSerializationJson = "1.6.3"kotlinxSerialization = "1.9.0"navigationCompose = "2.8.0-alpha08" [libraries]...a..

article thumbnail
Compose의 WindowInsets
Android/Compose 2024. 4. 23. 19:18

사진: Unsplash의R Mo 이번 게시글에서는 Compose에서 어떻게 WindowInsets에 대응하는지 아래의 공식문서로 공부해보고자 합니다. Compose의 창 인셋 | Jetpack Compose | Android Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Compose의 창 인셋 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 플랫폼은 상태 표시줄 및 탐색 developer.android.com WindowInsets? `WindowInsets`에 대해서 잘 알지 못하는 분들을 위해 먼저 설명해 보겠습니다. WindowInsets은 `Window`와 `Insets`으로 나눠 설명하면 매우 쉽게 이..

article thumbnail
Compose의 SnapShot 시스템
Android/Compose 2024. 3. 29. 19:09

사진: Unsplash의Malcolm Lightbody 컴포즈는 너무나도 편리하지만, 배우면 배울수록 내부의 동작을 알지 못하면 안 된다는 생각이 듭니다. View 시스템과는 다른 방식으로 UI를 그리고 있기 때문에 자칫 잘못하면 부분별 한 남용으로 퍼포먼스가 매우 떨어지게 될 수 있습니다. 그렇기 때문에 이번 게시글에서는 컴포즈의 Snapshot에 대해서 배우고 공부해보고자 합니다. 이 게시글은 아래의 글을 보고 공부한 내용을 다룹니다. Introduction to the Compose Snapshot system Jetpack Compose introduces a novel way to handle observable state. For an introduction that adds some... d..

article thumbnail
Compose의 Remember, RememberSaverable 정복하기
Android/Compose 2024. 3. 6. 19:13

사진: Unsplash의David Libeert 이번 게시글에서는 Compose에서 빼놓을 수 없는, 모든 곳에 사용되는 Remember에 대하여 정복하고자 합니다. Remember가 필요한 이유 Remember에 대해 자세히 알아보기 전에, 먼저 Remember가 왜 필요한지 알아보려고 합니다. 아래의 Composable 함수를 한번 보겠습니다. @Composable fun Counter() { var counter by mutableStateOf(0) Column( modifier = Modifier.fillMaxSize() ) { Text( text = "Counter: $counter", ) Button( onClick = { counter++ }) { Text( text = "더하기", ) } ..

article thumbnail
Compose의 버전 관리: BOM!!
Android/Compose 2024. 2. 19. 19:59

사진: Unsplash의Tim Wildsmith 안드로이드의 최신 버전(저의 경우에는 Hedgehog)을 사용하고 계신다면, 프로젝트를 시작할 때의 기본 설정이 Compose에 최적화된 설정이라는 것을 알고 계실 겁니다. 기본 템플릿에는 Compose와 관련된 기본적인 Gradle 설정이 아래와 같이 되어 있습니다. ... android { ... buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } ... } dependencies { implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.lifecycle:lifec..

article thumbnail
내가 Compose로 만든 앱의 화면이 버벅거린다면?
Android/Compose 2024. 1. 14. 18:24

사진: Unsplash의Emily Morter 저는 요즘 Compose를 배우고 사용하면서 Compose에 매력에 깊게 빠져 있습니다. 그래서 기존의 프로젝트를 Compose로 다시 만들어보기도 하고, 새로운 프로젝트도 거의 Compose로 진행하고 있습니다. 다만, Compose로 만든 앱을 실행해 보면, 이상하게 버벅거리는 것들이 있었습니다. 리스트를 스크롤할 때나 애니메이션을 구성했을 때가 특히 그랬습니다. 이번 게시글에서는 코드와는 상관없이 버벅거림에 대한 해결방안과 이유에 대해 알아보고자 합니다. 해결방안 가장 간단하게 Compose로 구성한 화면의 버벅거림을 해결하는 방법은 Release mode와 R8을 사용하여 빌드하는 것입니다. 이를 이야기 하기 위해서는 먼저 안드로이드의 2가지 빌드 방..