컴포즈16 [Android-Compose] Compose 렌더링 단계 알아보기 (Android Compose Rendering) 이번 포스팅은 Compose의 렌더링 단계를 알아보도록 하겠다.# 렌더링 단계우선 위 그림은 안드로이드 공식문서에 있는 렌더링 단계의 그림이다.렌더링 단계는 크게 총 3단계 컴포지션(Composeition), 레이아웃(Layout), 그리기(Drawing)로 나누어져 있다.이제 하나씩 알아가 보자!# 1. 컴포지션 (Composeition) 단계 - What 화면에 뭘 보여 줄지컴포지션 단계에서는 UI 코드를 노드 트리 구조로 변환/만드는 단계이다.해당 트리를 생성하면서 각 UI 컴포넌트의 계층 구조와 속성들을 파악하고 생성된 트리는 2단계인 레이아웃 단계에서 사용이 된다.이제 노드 트리 구조를 어떤 식으로 만드는지 아래 예제를 보자!Column { Image( painter = re.. 2025. 1. 30. [Compose] Button 클릭 시 2번씩 리컴포지션이 일어나는 이유 이번 포스팅은 Compose 스터디 중 어느 스터디원 중 한 분이 말씀하신 부분을 궁금해서 찾아본 결과를 포스팅하겠다.# 구현 상황@Preview@Composablefun AddMemo() { val inputValue = remember { mutableStateOf("") } Row( modifier = Modifier .padding(all = 16.dp) .height(100.dp), horizontalArrangement = Arrangement.End ) { // 임시 TextField TextField( modifier = Modifier .fil.. 2025. 1. 26. [Android] 안드로이드 중요 값 숨기기 - local.properties를 사용하여 키 관리하기 예제(Kotlin) / Unresolved reference: BuildConfig 해결 방법 개발을 하다 보면 API키 값이나 중요 값등을 숨기고 싶을 때가 있다. 그럴 때는 local.properties를 사용하면 간단하게 숨김이 가능하다. 이제 차근차근 알아보자! ✅ 깃을 사용한다면. gitignore에 /build , /local.properties 이 두 가지가 들어가 있다고 가정하고 시작해 보겠다!# 사용방법아래 예제에서는 API_KEY값을 숨기는 예제를 해보겠다.## local.properties 변수 값 설정우선 가장 먼저 해야 할 것은 local.properties파일에 숨기고 싶은 값을 키 - 값 형식으로 작성해 준다. local.properties>API_KEY = "12345678910" ## build.gradle.kts(app) 키 값 불러오기앱 수준의 gradle에서 .. 2024. 8. 31. [Android-Compose] 안드로이드 컴포즈 부수 효과 알아보기! (Android Compose DisposableEffect, SideEffect, produceState, derivedStateOf, snapshotFlow) - SideEffect - 2편 이번에는 1편에 이어서 Compose의 부수효과를 알아보도록 하자!# DisposableEffect✅ 키가 변경되거나 컴포저블이 컴포지션을 종료한 후 정리해야 하는 부수 효과를 처리해 주는 API - Composable의 생명주기에 맞춰 정리되어야 하는 리스너나 작업이 있는 경우에 리스너나 작업을 제거하기 위해 사용된다.- 제공된 키 값이 변경될 때마다 이전 효과를 정리하고 새로운 효과를 실행한다.- LaunchedEffect, onDestroy와 유사한 역할을 한다. DisposableEffect는 다음과 같은 형태로 사용된다.DisposableEffect(key1, key2) { // Composable이 제거될 때 Dispose 되어야 하는 효과 초기화 onDispose { .. 2024. 7. 30. [Android-Compose] 안드로이드 컴포즈 부수 효과 알아보기! (Android Compose LaunchedEffect, rememberCoroutineScope, rememberUpdatedState) - SideEffect - 1편 이번 포스팅은 컴포즈를 사용하다 보면 LaunchedEffect, rememberCoroutineScope 등 다양한 Effect API들을 사용하게 된다.이러한 Effect API들이 무엇인지, 각각의 사용법과 특성에 대해 알아보겠다.# 부수 효과란?Effect API들을 알아보기 전에 부수 효과가 무엇인지 먼저 알 필요가 있다. 아래는 공식문서에 나온 부수 효과 설명이다.정리를 하자면 아래와 같다- 부수 효과는 구성 가능한 함수(Composable)의 범위 밖에서 발생하는 앱 상태에 관한 변경사항이다.- Composable에는 부수 효과가 없는 것이 좋다. 하지만 아래와 같은 경우는 부수효과가 필요한 경우가 있다.- 스낵바 표시- 특정 상태 조건에 따라 다른 화면으로 이동하는 등 일회성 이벤트를 트리.. 2024. 7. 27. [Android-Compose] 안드로이드 컴포즈 rememberLauncherForActivityResult(registerForActivityResult)사용법 이번 포스팅은 XML에서 액티비티끼리 데이터를 주고받을 때 사용하는 registerForActivityResult를 Compose에서 사용하는 방법을 공부해 보겠다! 만약 프로젝트 구성을 Compose Only면 필요 없을지도 모르지만 XML + Compose을 혼합해서 사용한다면 Compose -> Acltitly -> 원래 Compose로 데이터를 전달해야 할 경우가 생긴다. 이럴 경우 어떤 식으로 해결하는지 아래 예제로 알아보자! # 사용법 공식 문서에서 보면 이미지를 가져오는 예제가 있다. 보통 예제는 권한을 확인하거나 공식 문서처럼 이미지를 가져오는 예제이다. 여기서는 간단한 데이터를 가져오는 예제를 할 것이다. 예제의 순서를 설명하자면 1. Composable 함수인 A Screen에서 Act.. 2023. 9. 27. 이전 1 2 3 다음