본문 바로가기

compose22

[Android-Compose] 안드로이드 컴포즈 부수 효과 알아보기! (Android Compose LaunchedEffect, rememberCoroutineScope, rememberUpdatedState) - SideEffect - 1편 이번 포스팅은 컴포즈를 사용하다 보면 LaunchedEffect, rememberCoroutineScope 등 다양한 Effect API들을 사용하게 된다.이러한 Effect API들이 무엇인지, 각각의 사용법과 특성에 대해 알아보겠다.# 부수 효과란?Effect API들을 알아보기 전에 부수 효과가 무엇인지 먼저 알 필요가 있다. 아래는 공식문서에 나온 부수 효과 설명이다.정리를 하자면 아래와 같다- 부수 효과는 구성 가능한 함수(Composable)의 범위 밖에서 발생하는 앱 상태에 관한 변경사항이다.- Composable에는 부수 효과가 없는 것이 좋다. 하지만 아래와 같은 경우는 부수효과가 필요한 경우가 있다.- 스낵바 표시- 특정 상태 조건에 따라 다른 화면으로 이동하는 등 일회성 이벤트를 트리.. 2024. 7. 27.
[Android] 안드로이드 위젯 알아보기 3편 - Glance, Compose, Kotlin (Android Compose Glance Appwidget) 상호작용 지난 2편에서는 간단한 앱 위젯을 만들어봤다면 이번 3편에서는 액티비티 실행, 서비스 실행 등 앱 위젯 상호작용에 대해서 알아보자!# 상호작용 종류- 활동 실행 (Activity)- 서비스 실행- 브로드캐스트 이벤트 전송- 콜백 실행 상호 작용이 가능한 종류로는 위 4가지가 있다.위 종류에 대한 작업을 실행하려면 GlanceModifier.clickable 메서드를 사용하거나 Button의 onClick 메서드처럼 Action클래스에서 정의해 주면 된다. 하나하나 살펴보자!## 활동 실행 (Activity)만약 어떠한 Action이 들어왔을 때 액티비티를 띄워주고 싶다면 아래와 같이 actionStartActivity라는 메서드를 사용한다. actionStartActivity에는 총 3가지를 제공할 수 .. 2024. 5. 3.
[Android] 안드로이드 위젯 알아보기 2편 - Glance, Compose, Kotlin (Android Compose Glance Appwidget) 지난 1편에서 위젯에 대한 개념을 알아봤다면 이제 2편에서는 위젯을 만드는 법에 대해서 알아볼 것이다. 들어가기 전 본 포스팅은 Xml 개발이 아닌 Compose로 개발을 진행할 것임으로 Xml으로 개발을 원한다면 공식문서를 보길 바란다. 우선 위젯을 Kotlin과 Compose를 사용하여 빌드하려면 Jetpack Glance라는 것을 이용해야 한다.차근차근 알아보자!# Glance란?공식문서에서는 아래와 같이 말하고 있다.Jetpack Glance는 Jetpack Compose 런타임을 기반으로 빌드된 프레임워크로, Kotlin API를 사용하여 앱 위젯을 개발하고 설계할 수 있습니다.Glance는 적은 코드로 홈 화면의 반응형 위젯을 빠르게 빌드하는 데 도움이 되는 컴포저블 세트를 제공합니다. 정리하.. 2024. 5. 2.
[Android] 안드로이드 위젯 알아보기 1편 이번 포스팅은 안드로이드 위젯에 대해 정리해보겠다.# 위젯이란?위젯은 홈 화면 맞춤설정의 필수적인 측면입니다. 사용자의 홈 화면에서 바로 액세스 할 수 있는 앱의 가장 중요한 데이터와 기능을 '한눈에' 보여주는 뷰라고 생각하면 됩니다. 사용자는 홈 화면 패널 간에 위젯을 이동할 수 있으며 지원되는 경우 위젯의 크기를 조절하여 위젯의 정보 양을 원하는 대로 조정할 수 있습니다. 위에는 공식문서에서 설명하는 위젯의 정의이다.간단히 정리를 해보면 "사용자의 홈 화면에서 바로 액세스할 수 있는 앱의 가장 중요한 데이터와 기능을 '한눈에' 보여주는 뷰"라고 보면 될 것이다.# 위젯 유형## 정보 위젯 - 일반적으로 중요한 정보 요소를 표시하고 시간 경과에 따른 정보 변경을 추적하는 위젯이다.- 정보 위젯을 탭 하.. 2024. 4. 29.
[Android-Compose] 안드로이드 컴포즈 애니메이션 예제와 함께 알아보기!(animateColorAsState, AnimatedVisibility, fadeIn, fadeOut ) 이번 공부 포스팅은 컴포즈 애니메이션에 대해 간단하게 알아보겠다. # animateColorAsState 우선 이 컴포저블 함수는 이름에서도 알 수 있다시피 Color에 관련한 애니메이션 함수이다. 인자로는 targetValue, animationSpec, label, finishedListener 4가지가 들어가야 한다. 그중 우리가 여기서 볼 거는 targetValue이다 이 인자에는 바꾸고 싶은 색상을 넣으면 된다. 나머지 인자들은 옵션이기 때문에 더 자세히 알고 싶으시면 따로 검색을 하는 걸 추천한다. 반환은 State 로 되기 때문에 by를 통해 값을 받아오는 게 깔끔하고 좋다 아래는 animateColorAsState의 유무의 차이이다. 사람에 따라서는 차이가 없다고 느낄 수도 있지만 작은 디.. 2024. 1. 12.
[Android-Compose] 안드로이드 컴포즈 rememberLauncherForActivityResult(registerForActivityResult)사용법 이번 포스팅은 XML에서 액티비티끼리 데이터를 주고받을 때 사용하는 registerForActivityResult를 Compose에서 사용하는 방법을 공부해 보겠다! 만약 프로젝트 구성을 Compose Only면 필요 없을지도 모르지만 XML + Compose을 혼합해서 사용한다면 Compose -> Acltitly -> 원래 Compose로 데이터를 전달해야 할 경우가 생긴다. 이럴 경우 어떤 식으로 해결하는지 아래 예제로 알아보자! # 사용법 공식 문서에서 보면 이미지를 가져오는 예제가 있다. 보통 예제는 권한을 확인하거나 공식 문서처럼 이미지를 가져오는 예제이다. 여기서는 간단한 데이터를 가져오는 예제를 할 것이다. 예제의 순서를 설명하자면 1. Composable 함수인 A Screen에서 Act.. 2023. 9. 27.