본문 바로가기
반응형

Kotlin5

코루틴 Scope는 어떤 종류들이 있을까? (CoroutineScope, LifecycleScope, ViewModelScope) 오늘은 코루틴을 실행하는 스코프에 대해서 알아보도록 하겠습니다, 우선 지원하는 스코프는 많지만 오늘은 3가지 정도 알아보겠습니다. 설명은 각각의 스코프를 안드로이드 스튜디오에서 선언부로 들어가 주석 설명을 하나씩 해석하며 진행하겠습니다! CoroutineScope 우선 첫번째로 가장 기본적인 CoroutineScope입니다. 스코프를 안드로이드 스튜디오에서 타고 들어가 선언부를 보면 이렇게 되어있습니다 주석 번역 지정된 코루틴 콘텍스트를 감싸는 코루틴 범위를 만듭니다. 지정된 콘텍스트에 Job 요소가 없으면 기본 Job()이 생성됩니다. 이렇게 하면 이 범위에서 하위 코루틴이 실패하거나 범위 자체를 취소하면 coroutineScope 블록 내와 마찬가지로 모든 스코프의 하위 코루트가 취소됩니다. 지정된 .. 2022. 4. 25.
Kotlin에서 if문을 대체하는 2가지 방법 아래 일반적인 코틀린에서의 if문이 있습니다, 하지만 이 방법은 문제점이 존재합니다 val nowState = "onStart" if (nowState == "onStart"){ //do }else if (nowState == "onResume"){ //do }else if (nowState == "onPause"){ //do }else if (nowState == "onStop"){ //do }else{ //onDestroy //do } 바로 가독성을 떨어뜨린다는 것입니다 딱 봐도 한눈에 알아보기 힘들지 않나요?? :( 그렇다면 이 문제를 어떻게 해결할 수 있을까요? 오늘은 2가지로 크게 나눠 알아보겠습니다 When val nowState = "onStart" when(nowState){ "onStar.. 2022. 4. 21.
[Kotlin] 2차원 배열을 이해하고 사용해 보자! 코틀린에서의 2차원 배열은 다른 언어와 조금 다릅니다. 그리고 사용하는 방법도 여러가지 입니다. 우선들어가기 앞서서 행과 열에 대해 알아봅시다 가로로 쭉 한줄이 1행 입니다. 이 표는 가로 5줄 이므로 5행을 의미합니다 세로로 쭉 한줄은 1열 입니다. 이표는 세로 6줄 이므로 6열을 의미합니다 1. 첫번째 방법은 arrayOf() 괄호 안에 배열을 행의 개수만큼 arrayOf()를 쓰고 배열의 열만큼 두번째 arrayOf() 괄호안에 값을 넣는 방법입니다 //2차원 배열 선언 val array1 = arrayOf(arrayOf("Aa", "Bb", "Cc", "Dd", "Ee"), arrayOf("Ff", "Gg", "Hh", "Ii", "Jj"), arrayOf("Kk", "Ll", "Mm", "Nn".. 2021. 7. 8.
자바의 switch 보다 강력한 kotlin의 when! 코틀린의 when의 분기 조건은 임의의 객체를 허용합니다(자바 switch는 분기 조건에 상수만을 허용) 아래 코드를 살펴보도록 하겠습니다 임의의 객체를 사용한 when fun mix(c1:Color, c2:Color) = when(setOf(c1, c2)){ setOf(RED, YELLOW) -> ORANGE setOf(YELLOW, BLUE) -> GREEN setOf(BLUE, VIOLET) -> INDIGO else -> throw Exception("Dirty color") } when(setOf(c1, c2)) 여기서 알수 있는것은 when식의 인자는 아무 객체나 사용할수 있다는 것입니다. when이 인자로 받은 객체가 각 분기 조건에 있는 객체와 같은지 테스트 하기 때문입니다 아래 else는.. 2021. 4. 5.
반응형