본문 바로가기

Android Compose8

Compose Runtime 이란? Compose Runtime: Compose의 프로그래밍 모델과 상태 관리를 위한 기본 구성요소이며 Compose 컴파일러 플러그인이 타켓팅하는 핵심 런타임 예를 들자면,아래 코드는 학생의 정보를 나타내는 스크린을 컴포저블 함수로 작성한 것이다. @Composablefun StudentInfomationScreen() { // 1. 상태 정의 (MutableState) val name by remember { mutableStateOf("Jane") } val studentId by remember { mutableStateOf("20230001") } Column { Text(text = "이름: $name") // 이름 표시 Text(text = "학번:.. 2025. 11. 16.
Coil - Unable to create a fetcher that supports 이슈Image loading error😂  Coil 라이브러리로 테스트 하는 도중 네트워크를 통한 이미지 로딩이 불가한 이슈가 계속 발생했다. Jira에서 제공하는 API를 보고있었다. 계정 프로필 이미지를 가져오는 테스트였다. 😎 해결Coil로 네트워크 이미지를 가져오려면 dependency를 몇 개 더 추가해야한다.참고 URL: https://coil-kt.github.io/coil/network/#network-imagesNetwork ImagesBy default, Coil 3.x does not include support for loading images from the network. This is to avoid forcing a large networking dependency on .. 2025. 3. 4.
Android Compose Slot API란? @Composable 컴포저블 함수란?데이터를 전달받고 UI 요소를 방출 할 수 있는 함수이다. 컴포즈는 명령형이 아닌 선언형 UI를 기본으로한 프레임워크이다.String data를 받아, Text라는 UI를 방출한다.(기존이라면 xml에 View를 만들고 viewbinding 혹은 findViewById로 데이터를 변경해줘야했다.)Slot API란?Slot API 공식문서: https://developer.android.com/develop/ui/compose/layouts/basics#slot-based-layouts어떤 @Composable 함수가 다른 @Composable 함수 or 컴포넌트를 포함할 수 있게 되어있는 것을 Slot API라고 부른다.슬롯은 다들 상상하는 거처럼 뭐랄까 중간에 끼울.. 2024. 8. 12.
Composable functions with non-default parameters are not supported in Preview unless they are annotated with @PreviewParameter Compose로 마이그레이션하는 도중, @Preview가 안먹혀서 에러를 확인해봤다.  Composable functions with non-default parameters are not supported in Preview unless they are annotated with @PreviewParameter @Composable 함수안에 디폴트 파라미터가 없다면, @PreviewParameter를 달아야 프리뷰를 볼 수 있다는 이야기였다.  이 에러가 뜬 이유는? viewmodel을 파라미터에 넣는 순간 저 에러가 났다. @Composable 함수 파라미터에 viewmodel이 들어오면 제한이 생긴다는 공식문서 내용을 발견했다.안드로이드 컴포즈 프리뷰: https://developer.android.. 2024. 7. 14.
XML에서 Compose로 마이그레이션 gradle 세팅하기 (feat. BOM이란?) XML에서 Compose로 초기 세팅을 위해서 해야하는 작업이 몇 가지 있다. 해당 작업을 완료하여야 Compose로 마이그레이션 가능하다.처음부터 빈 Compose App을 만든다면 이 작업은 필요없다. (알아서 이미 세팅되어있음)  1. app 수준의 build.gradle 설정buildFeatures에 compose를 추가해준다.buildFeatures { //... compose true } 2. project 수준의 build.gradle 설정dependencies { //... // Compose def composeBom = platform('androidx.compose:compose-bom:2024.06.00') implementati.. 2024. 7. 14.
선언형이란? UI = f(state)라고도 이야기 함.⇒ f라는 함수에 파라미터로 state를 갖는다. 그 결과값은 UI이다. state가 바뀌면 UI가 바뀐다. 반대로 state가 변하지 않으면 UI는 바뀌지 않는다. React는 선언형 프레임을 만든 장본인. 자바스크립트 프레임워크.React의 선언형 정의인터액티브한 UI를 고통없이 만들게함.앱에서 각 상태의 심플한 뷰를 디자인하면, 데이터가 변경될 때 리액트가 효율적으로 갱신하고 필요한 구성요소만 렌더링함.⇒어떤 UI가 언제 보이는지를 프로그래밍적 방식으로 보는게아니라, 상태가 바뀔때매다 이 상태는 이랗고 저상태는 저런다. 반드시 필요한 상태만 렌더링한다.HTML이나 기존 안드로이드 View 시스템은 선언형 UI 툴킷이라 말하기 어려움. ⇒어떤 경우에는 버튼이 .. 2024. 7. 13.