본문 바로가기

compose15

[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.
[Android-Compose]안드로이드 컴포즈 백 버튼/ 뒤로가기 처리 (onbackpressed) 이번 포스팅은 안드로이드 컴포즈에서 백 버튼/뒤로 가기 처리를 하는 방법을 알아보겠다. 얼마전 컴포즈로 만들고 있는 프로젝트에서 백 버튼/뒤로 가기 처리를 해야 하는 상황이 생겼다. 기존 XML이였으면 onbackpressed override 해서 처리했을 텐데 컴포즈에서는 그런 방법이 안돼서 구글링을 해보았다. 그랬더니 생각보다 정말 간단했다! 바로 아래 코드 처럼 BackHandler를 호출해 스코프 안에서 하고 싶은 작업을 처리하면 된다. @Composable fun TestScreen(){ BackHandler { // todo Back버튼 처리 로직 } // todo Code } 2023. 7. 30.