Loading...
2024. 6. 3. 00:33

[Compose Study] ViewModel

* ViewModel을 사용하여 아래 화면의 변경을 눌렀을 때 Hello Text를 변경해볼 예정이다. * 우선 "Hello" 텍스트는 변해야 할 데이터이기 때문에 data = mutableStateOf("Hello")로 위에서 선언해 준 다음   "Hello" 대신 data.value로 바꾼다. 그 뒤 Button의 onClick = { data.value = "World" }로 설정해주면   간단하게 버튼을 눌렀을 때 "World"로 바뀌는 것을 볼 수 있다. * 또 다른 방법은 ViewModel 을 사용하는 것이다. * ViewModel은 activity와 lifeCycle을 동일하게 가져가는 특성 때문에 remeber를 사용하지 않고   data = mutableStateOf("Hello")처럼 ..

2024. 5. 28. 12:07

[Compose Study] Card, Image 3

* 우리가 ImageCard를 Composable로 빼놓은 이유는 ImageCard를 재사용하고 싶은 이유도 있다. 하지만 현재 저장해 놓은 상태는   재사용이 불가능한 구조이다. 상태를 저장하는 값이 외부에서 지정이 되는 형태로 되야지만 재사용이 가능해진다. * 따라서, 상태를 저장하는 부분을 MainActivity쪽으로 뺀 다음 ImageCard에 isFavorite를 변수로 받게 수정했다. * 이렇게 되면 ImageCard에 들어오는 isFavorite은 이제 변수가 아닌 상수가 되어버린다. 따라서 ImageCard 아래에 상태를 변경하는   부분 코드는 쓸 수가 없다. * 따라서, Callback 함수를 만들고 클릭이 발생하면 현재 favorite 반대값을 넣어줘서 return 해준다.* 마지막에..

2024. 5. 26. 23:18

[Compose Study] - 컴포즈 프로젝트

처음 compose 프로젝트를 만들면 다음과 같은 구조로 나온다.* UI.theme에 color, theme, Type(텍스트 스타일) 등이 정의되어있고 mainActivity는 다음과 같다.* 특이하게 @Composable이 붙은 함수는 소문자가 아닌 대문자로 함수명이 시작된다. onCreate안의 setContent{ } 안에 들어오는 내용이 composable한 애들이다. * Preview가 붙어있는 부분은 오른쪽 split에 화면이 표시가 된다.