전체 글98 [Kotlin/Coroutine] 2. Cancellation and timeouts Cancelling coroutine execution 코루틴의 실행 취소 오랜시간동안 실행되는 애플리케이션에서 백그라운드 코루틴관리를 어떻게 해야할까? 사용자가 코루틴을 시작했던 페이지를 닫고, 더 이상 결과가 필요하지 않다면 해당 작업을 취소해야 할 것이다. launch함수를 사용하면 Job을 리턴하고, 이것으로 실행 중인 코루틴을 취소할 수 있다. 코드 fun main() = runBlocking { val job = launch { repeat(1000) { i -> println("job: I'm sleeping $i ...") delay(500L) } } delay(1300L) // delay a bit println("main: I'm tired of waiting!") job.cancel(.. 2023. 10. 22. [Kotlin/Coroutine] 1. Coroutines basics Coroutines guide 코루틴 공식 가이드 문서를 읽고 요약 정리해보려 한다. 목표는 Kotlin Coroutine을 완벽하게 이해하는 것!! 더불어, 영어로 된 가이드 문서를 읽는 연습도 할 것이다! : ) Coroutines basics 코루틴은 중단가능한 계산의 인스턴스이다. 스레드와 비슷한 개념이지만, 코루틴은 특정 스레드에 바인딩되지 않는다. 하나의 스레드에서 실행을 중지하고, 다른 스레드에서 다시 실행할 수 있다. 코드 fun main() = runBlocking { // this: CoroutineScope launch { // launch a new coroutine and continue delay(1000L) // non-blocking delay for 1 second (def.. 2023. 10. 19. [Compose] 컴포즈로 iOS앱도 만들 수 있다고? 오늘은 새로운 시도를 해볼 것이다..! 2023년 5월 30일 Compose Multiplatform에서 iOS 알파버전이 출시되었다. 아직 알파버전이라 개선할 점이 많다고 하지만 Android 개발자로서 너무나도 설렌다.. 직접 Compose Multiplatform 템플릿을 실행해보고자 한다. 아래에는 설명이 요약되어 있으니, 직접 실행해보고 싶다면 위 링크를 참고하는 것을 추천합니다. 1. 환경 설정 필요 조건 iOS앱을 실행시키려면 macOS 환경이 필요하다. 이외에도 Xcode, Android Studio, The Kotlin Multiplatform Mobile plugin, The CocoaPods dependency manager 이런 것들이 준비되어 있어야한다. 조건 확인 위 조건을 모두.. 2023. 10. 17. [Compose] 상태에 따라 변하는 텍스트 입력창(TextField) 만들기 (컴포즈를 공부하면서 기록하는 글!) 디자이너의 문서에 맞추어 로그인이나 회원가입 시 공통적으로 자주 사용할 TextField를 재사용이 편리하도록 미리 만들어보려 한다. 가장 먼저 기본적인 TextField를 Android Studio 화면에 띄워보자. @Composable fun FilledTextField(){ var text by rememberSaveable { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, singleLine = true ) } @Preview @Composable fun PreviewTextField() { FilledTextField() } Composable함수를 만들기 위해서는 함.. 2023. 10. 11. 이전 1 2 3 4 5 ··· 25 다음