Developing Myself Everyday
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
KAPT, KSP 그리고 어노테이션
Android/Kotlin 2024. 9. 11. 15:26

사진: Unsplash의Noah Buscher  안드로이드 스튜디오에서 코틀린으로 개발을 하다 보면, KAPT나 KSP 플러그인을 추가해야 하는 상황이 생깁니다. 무의식적으로 일단 하라고 하니까, 해왔긴 한데 이게 뭔지 제대로 알아본 적이 없는 거 같아 이번 게시글에서 공부해보고자 합니다.   먼저 어노테이션이란?KAPT, KSP에 대해 이야기하기 전에 먼저 어노테이션에 대해 이해하고 있어야 합니다. 어노테이션의 한국뜻은 `주석`으로 우리가 코드에 대한 설명을 주석을 통해 붙이듯 코드에 부가적인 정보를 제공하는 역할을 합니다. 부가적인 정보는 메티데이터의 형태로 제공되며 컴파일러나 런타임 환경에서 해석될 수 있습니다. 어노테이션하면 가장 먼저 `@Override`가 떠오르실 것 같습니다. 이 어노테이션은..

article thumbnail
안드로이드 멀티 모듈에서 의존성 항목 추가하기 api vs implementation
Android 2024. 8. 25. 17:28

사진: Unsplash의Kai Damm-Jonas  안드로이드 개발을 하면서 특정 라이브러리를 사용하거나, 다른 모듈에 필요한 것들이 있다면 그것들에 대해 의존성을 가지게 되고 필요한 곳에서 의존성 항목으로 추가하여야 합니다. 저는 개발을 하면서 필요한 의존성을 아무 생각 없이 주입해 왔는데, 이를 주입해 주는 메서드가 흔히 사용되는 `implementation` 뿐만이 아니라 다른 것들이 있다는 것을 알게 되었습니다. 그래서 이번 게시글에서는 각각의 메서드들에 대해 알아보고, 이들을 어떻게 사용하는 것이 좋은지 공부해보고자 합니다.     의존성 구성 방식 - implmentation vs api안드로이드에서 의존성을 추가하기 위해서는 `dependencies` block 안에서 작성하여야 합니다. 이..

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
Xml, Compose 그리고 명령형과 선언형
Android 2024. 3. 8. 17:18

사진: Unsplash의hannah joshua Xml과 Compose의 가장 큰 차이는 명령형과 선언형에 있다고 사람들은 말합니다. 하지만, 저는 이를 이해하기가 상당히 어려웠습니다. 그래서 이번 게시글에서는 명령형과 선언형, 그리고 xml과 Compose의 패러다임에 대해 공부하고자 합니다. 명령형 vs 선언형 명령형 프로그래밍은 안드로이드의 전통적인 UI 개발 방법입니다. 명령형은 말 그대로, 컴파일러에게 원하는 작업을 단계별로 알려주는 방식입니다. C#을 사용해서 간단한 예를 들어보겠습니다. 아래에는 숫자 5개가 있습니다. List collection = new List { 1, 2, 3, 4, 5 }; 명령형 프로그래밍 방식으로 이러한 숫자들에서 홀수를 찾기 위해서는 아래와 같이 코드를 작성할 ..

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 = "더하기", ) } ..