분류 전체보기 (57) 썸네일형 리스트형 코틀린(Kotlin) - 예외 처리 코틀린의 예외처리(exception)는 자바의 예외처리와 비슷합니다. 함수는 정상적으로 종료할 수 있지만, 오류가 발생하면 예외를 던질 수(throw) 있고, 함수를 호출하는 쪽에서는 그 예외를 잡아 처리할 수 있습니다. 발생한 예외를 함수 호출 단에서 처리(catch)하지 않으면, 함수 호출 스택을 거슬러 올라가면서 예외를 처리하는 부분이 나올 때까지 예외를 다시 던지게(rethrow) 됩니다. if (number in 0..100) { number } else { throw IllegalArgumentException("0~100사이의 숫자가 아닙니다.") } >> number = 200 java.lang.IllegalArgumentException: 0~100사이의 숫자가 아닙니다. try, cat.. 코틀린(Kotlin) - 이터레이션 : while과 for 루프 코틀린의 특성 중, 자바와 가장 비슷한 것이 이터레이션이라고 할 수 있습니다. 코틀린 while루프는 자바와 동일하므로 간단하게만 알아보고, for 루프는 자바의 for-each루프에 해당하는 형태만! 존재합니다. 결과적으로, for in 이런 형태를 취하고 있습니다. while 루프 코틀린에는 자바와 동일하게, while과 do-while이 있고, 문법은 자바와 동일하며, 코틀린에서 추가한 새로운 기능도 없으니 빠르게 보고 넘어가도록 하겠습니다 ㅎㅎ //while 루프 while(조건) { /*...*/ } //do-while 루프 do { /*...*/ } while(조건) for 루프 수에 대한 이터레이션 앞에서 설명했지만, 코틀린에는 자바의 for 루프(어떤 변수를 초기화하고, 그 변수를 루프를 .. 코틀린(Kotlin) - when과 스마트 캐스트 이번에는, 코틀린의 구성요소 중 when과 스마트 캐스트에 대해 설명하고자 합니다. when은 자바의 switch문을 대치하되, 훨씬 더 강력하며, 앞으로 자주 사용하게 될 프로그래밍 요소라고 생각합니다. 일반적인 when문 fun getNumber(value: Int) { when (value) { 1 -> println("One") 2 -> println("Two") 3 -> println("Three") } } getNumber(1) >> One 값을 리턴하는 when문 when은 코틀린에서 if와 마찬가지로, 값을 만들어내는 "식"의 기능을 할 수 있습니다. 따라서, 식이 본문인 함수에 when을 바로 사용하여 값을 리턴 할 수 있습니다. 단, 주의할 점은 when이 리턴값을 가지는 "식"의 기능.. Expiring Daemon because JVM heap space is exhausted. 안드로이드 스튜디오 빌드 에러 해결방법 문제 발생 최근에 Android Gradle 플러그인 버전을 3.0.1 -> 3.5.1로 업데이트하면서, 아래와 같이 "JVM 힙 메모리 부족" 빌드 에러가 발생하였습니다. Expiring Daemon because JVM heap space is exhausted Daemon will be stopped at the end of the build after running out of JVM memory Expiring Daemon because JVM heap space is exhausted Expiring Daemon because JVM heap space is exhausted Expiring Daemon because JVM heap space is exhausted.... Exception .. 코틀린(Kotlin) - 클래스와 프로퍼티 이번에는, 코틀린에서 클래스 선언하는 기본 문법을 살펴보고, 코틀린을 활용하면, 더 적은 양의 코드로 클래스와 관련 있는 대부분의 작업을 수행할 수 있다는 사실을 알아보고자 합니다. /** 자바 클래스 Person */ public class Person { private final String name; public Person(String name) { this.name = name; } public String getName() { return name; } } 자바에서는 필드가 둘 이상으로 늘어나면 생성자인 Person(String name)의 본문에서 파라미터를 같은 필드에 대입하는 대입문의 수도 늘어나게 되는데, 코틀린에서는 그런 필드 대입 로직을 훨씬 더 적은 코드로 작성할 수 있습니다. /.. Firebase Crashlytics를 Slack과 연동하여, 실시간 버그 리포트 알림받기 팀 내에서, 앱 크래시 툴로 사용하던 Fabric Crashlytics가 Firebase로 인수되면서 Firebase의 Crashlytics로 마이그레이션 하는 작업을 진행하였습니다. 이 과정에서, Firebase Crashlytics를 Slack과 연동하여 특정 Slack 채널로 버그 리포팅 알림을 받아 볼 수 있는 기능을 발견하였고, 너무너무 효자 같이 좋은 기능이라서 같이 공유하고자 기록하게 되었습니다. 실무에서 개발을 하다보면, 개발자 PC와 연결이 되어있는 경우 Error Log를 바로 확인할 수 있지만, QA부서나 다른 타 부서의 테스트 시 발생하는 에러에 대해서는 바로 파악하기가 어려운 점이 있었습니다. 특히나, QA부서에서 테스트 도중 앱이 죽는 경우, 재현 시나리오와 같이 내용을 전달받지.. HAXM installation failed - 안드로이드 스튜디오 AVD HAXM 설치 에러 해결방법 문제 인식 평소 인텔 기반으로 사용을 하다가, 최근에 AMD 라이젠 기반으로 사용하게 되면서, AVD HAXM(에뮬레이터 가속화) 설치 관련한 오류를 겪게 되었습니다. 안드로이드 에뮬레이터(AVD)에서 가속화를 위해 Intel HAXM을 사용하기 때문에, 라이젠 기반에서는 Intel HAXM(에뮬레이터 가속화) 설치 오류가 발생하여 에뮬레이터 가동이 안 되는 이슈였습니다. HAXM installation failed. To install HAXM follow the instructions found at: https://software.intel.com/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-m.. 코틀린(Kotlin) - 기본 요소 : 함수와 변수 코틀린을 구성하는 기본 단위인 함수와 변수를 살펴보며, 코틀린에서 타입 선언을 생략해도 된다는 사실에 대해 알아보고자 합니다. Hello World! 우선, 프로그래밍에 가장 기초가 되는 첫 번째 단계인 "Hello World!" 를 찍어보는 예제로 시작을 하겠습니다. fun main(args: Array) { println("Hello World!") } 이렇게 간단한 코드에서 코틀린 문법의 여러 특성을 발견 할 수가 있는데, 함수를 선언할 때, "fun" 키워드를 사용한다. 파라미터명 뒤에 그 파라미터의 타입을 정의하며, 콜론(:)으로 구분한다. (변수 선언할 때도 동일한 방식으로 타입을 지정) System.out.println 대신, println 이라고 쓴다. (코틀린 라이브러리는 자바 라이브러리.. 이전 1 ··· 4 5 6 7 8 다음