컴포즈

    [Compose]스톱워치

    [Compose]스톱워치

    전 컴포즈 게시물에서는 간단하게 비만도 계산기를 만들어 봤다. 이번 게시물에서는 다음 그림과 같이 스톱워치를 만들어보면서 콜백함수와 컴포즈로 뷰 작업 하는 것에 익숙해져야겠다. 시작을 하면 초와 밀리초가 나오면서, 랩타임을 클릭했을 때 위와 같이 시간이 기록되고, 정지를 눌렀을 때 모든 기록된 시간이 초기화된다. 먼저 ViewModel로 기능먼저 구현해보자. private var time = 0 private var timerTask : Timer? = null //현재 진행되고 있는지 private val _isRunning = mutableStateOf(false) val isRunning : State = _isRunning private val _sec = mutableStateOf(0) val ..

    [Compose] TextField, Scaffold, SnackBar

    [Compose] TextField, Scaffold, SnackBar

    이 글에서는 TextField를 만들어, 현재 입력하고 있는 값에서 버튼을 누르면 입력했던 값이 SnackBar형태로 나오는 간단한 프로그램을 짜보자. Scaffold( scaffoldState = scaffoldState //스낵바를 활용하기위해 ) { Column( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally, ){ TextField( // value = textValue.value, //비어있으면 입력이 안됨(값이 변하지 않기 때문에) // onValueChange = { // textValue.value = it /..

    [Compose] Jetpack Compose 들어가며

    [Compose] Jetpack Compose 들어가며

    [서론] 요즘 굉장히 핫한 Jetpack Compose에 관심이 생겨 공부를 하기 시작했다. 신기술을 공부할 때면 기존의 코드와 어떤 점이 달라질까? 라는 설렘이 생기기 시작한다. 지금은 Jetpack Compose를 공부하는 시작하는 단계이지만, 나중에 Compose를 자유자제로 다루기 시작할 때면 여태까지 한 프로젝트를 통째로 리팩토링 해보고 싶다. [Why?] 그럼 이제 Jetpack Compose가 무엇이길래 기업에서 Jetpack Compose로 바꾸려고 할까? 먼저 공식문서에 따르면 Jetpack Compose는 SwiftUI, Flutter와 같은 선언형 UI중의 하나입니다. 라고 나와있다. 기존의 Android의 XML으로 작성하는 방식은 특정 상태에 따라 UI가 어떻게 보여질지에 대해 구..