본문 바로가기

전체 글

(83)
[Kotlin] 기본 스톱워치 - 'timer / runOnUiThread()' Kotlin, 스톱워치 구현하기 timer 와 runOnUiThread()를 사용해서 스톱워치 구현 둥근모양의 버튼은 FloatingActionButton 사용 [ Github, 깃허브 전체소스 ] posth2071/StopWatch_Kotlin Contribute to posth2071/StopWatch_Kotlin development by creating an account on GitHub. github.com timer 코틀린에서 기본으로 제공하는 타이머(timer) 기능 timer는 UI스레드(메인)가 아닌 백그라운드 스레드(워커 스레드)에서 동작하는 기능이므로 기본적으로 UI 조작이 불가능 백그라운드 스레드에서 UI조작을 위한 방법에는 Handler를 호출 및 runOnUiThread() 함..
[Kotlin] Anko 라이브러리 사용하기 Kotlin, Anko(앤코) 라이브러리 Anko 라이브러리 코틀린 개발한 JetBrains에서 만든 라이브러리(Library), 기본 코드작성을 편리하게 도와주는 기능 4가지의 라이브러리로 구성 Anko Commons : 인텐트, 다이얼로그, 로그 등을 편리하게 사용하는 라이브러리 Anko Layouts : 안드로이드 레이아f9f2f4웃을 코드로 쉽게 작성하는 라이브러리 Anko SQLite : SQLite를 쉽게 사용하는 라이브러리 Anko Coroutines : 코루틴을 쉽게 사용하는 라이브러리 Anko 라이브러리의 설정 방법 등 사용 방법 참고 Gradle '의존성 추가' build.gradle(Module: app) 파일에서 dependencies (의존성 추가) : implementation ..
[Kotlin] Scope 함수 - 'run, with, apply, let, also' Kotlin - Scope(스코프)함수 정리 코틀린에서 제공하는 여러 함수 중에서 기본적인 Scope(스코프) 함수 5종에 대한 정리 종합 정리 먼저보기 apply / also 두 함수 모두, 인스턴스(객체)를 리시버 객체로 전달, 반환 값으로 인스턴스(객체)를 반환 apply()는 참조연산자(it) 사용x, 직접적인 접근 name="", age=1 등 also()는 참조연산자(it) 사용, 사용하지 않으면 접근불가 it.name"", it.age=1 등 run / let 두 함수 모두, 인스턴스(객체)를 리시버 객체로 전달, 반환 값으로 결과 값(마지막 라인) 반환 run()는 참조연산자(it) 사용x, 직접적인 접근 name="", age=1 등 let()는 참조연산자(it) 사용, 사용하지 않으면 ..
[Kotlin] 기본 - Null 처리 '? / ?. / !! / ?: / lateinit / lazy' Kotlin, Null 처리 Null 허용 (? 연산자) 코틀린(Kotlin)에서는 기본적으로 Null값을 허용하지 않으므로, 기본적으로는 모든 객체가 생성과 동시에 값을 초기화 필요 초기화하지 않아 에러가 발생하는 예시 val a :String// Error, 초기화 필요 Null 값으로 초기화해서 에러 발생하는 예시 val a :String = null// Error, 기본적으로 Null값 허용 x ? 키워드 - @Nullable 변수의 자료형 오른쪽에 ? 연산자를 명시적으로 사용하면, 해당 변수는 Null값을 허용하는 의미로 에러 미발생 val a :String? = null// OK, ? 키워드로 @Nullable 의미 안전한 호출 (?. 연산자) ?. 연산자는 Null Safe operator의..
[Kotlin] 코틀린 기본 - 클래스 'constructor / init / default' Kotlin, 코틀린 기본, 클래스 Kotlin 코틀린 클래스의 생성자(Constructor) / init (초기화) / 기본값 (Default) 클래스 클래스와 인스턴스의 개념 : 클래스 - 붕어빵 틀 인스턴스(객체) - 붕어빵 실체 자바에 비해 훨씬 간결한 클래스 문법 : 자바(Java)는 Model의 경우 멤버변수의 Getter/Setter, toString(), equals() 많은 수의 메서드를 선언 Kotlin에서는 '프로퍼티' 라는 속성의 개념이 멤버변수 + Getter/Setter를 자동으로 만들어줌 (보이지않게) 클래스 선언 : Kotlin에서 클래스는 기본적으로 public 접근지정자로 선언 (생략가능) // 기본 클래스 선언, public 생략 class Person { } // 인스..
[Kotlin] 코틀린 기본 - 제어문 'if / when / for / while' [Kotlin] 코틀린 기본 문법, 제어문 코틀린 제어문 ( if / when / for / while / do~while ) 제어문 개념 코틀린의 제어문은 크게(if / when / for / while) 4가지로 구분 when문을 제외하면 거의 유사한 형태 자바와 코틀린의 제어문은 개념이 다른 형태 (문 "Statement" / 식 "Expression") : 자바는 제어문의 개념이 "문"의 형태 / Kotlin은 반복문을 제외한 나머지는 식 "Expression"의 형태 1) 문 "Statement" - 값을 반환하지 않는 형태 (retrun x) // JAVA // if문 : 기본적으로 문의 형태로 식처럼 사용하려면 retrun을 직접 입력해줘야 함 if(a > b) { return true; }..
[Kotlin] 코틀린 기본 - 문법 '변수 / 상수 / 함수 / 자료형 ' Kotlin, 코틀린 기본 문법 기본 문법 변수/상수/함수 선언 방법 및 사용 기본 문법 코틀린은 코드 마지막에 세미콜론(;)을 붙이지 않는다 : ex) println("Sample TEXT") 변수/상수 명 선언 방법 : var a: Int = 10 // 변수(Variable), 변경이 가능(mutable) val b: Int = 20 // 상수(Variable Final), 변경이 불가능(Immutable) -> " 변수종류 변수명: 자료형(타입) = 값 " 타입 추론(Type Inference)를 통해 자료형(타입)을 생략 가능 : 코틀린은 리터럴에 따라 자료형 추론 리터럴? - 자료형을 알 수 있는 표기 형식 var a = 10// 리터럴(10)을 통해 Int자료형 추론 var b = 10L// ..
[Kotlin] 코틀린이란? Kotlin 코틀린이란? 코틀린이란 ? JetBrains(젯브레인)에서 만든 프로그래밍 언어 * JetBrains(젯브레인) - Intelli J(인텔리 제이, Eclipse같은 Java IDE)로 유명한 S/W 개발업체 2011년 최초 공개, 2017년 공식 안드로이드 개발 언어 채택 Kotlin(코틀린)을 사용해야하는 이유 2017 Google I/O, 정식 안드로이드 개발 언어(Android Development Language)로 추가 JVM (Java Virtual Machine) 위에서 동작하는 프로그래밍 언어로 기존 자바(Java)와 100% 호환 자바의 수많은 라이브러리를 그대로 사용하면서 코드는 자바(Java)보다 간결하게 작성이 가능 2018 Google I/O부터 대부분의 예제를 Ko..