Kotlin
-
[Kotlin] @JvmOverloadsAndroid 2020. 11. 6. 11:42
모든 경우의 오버로딩 메소드를 코틀린 컴파일러가 자동으로 생성 코틀린만 사용할 경우에는 사용할 필요가 없음 자바에서 코틀린 클래스나 함수를 자주 호출할 때 유용함 ex) 코틀린에서 @JvmOverloads 사용 @JvmOverloads fun test(a: String, b: Int = 0, c: String = "abc") { // } 실제는 아래처럼 생성됨 void test(String a, int b, String c) { } void test(String a, int b) { } void test(String a) { }
-
[Kotlin] Scoping Functions apply vs. with, let, also, and runAndroid 2020. 11. 4. 15:06
Here is the definition of all 5 functions: inline fun with(receiver: T, block: T.() -> R): R { return receiver.block() } inline fun T.also(block: (T) -> Unit): T { block(this) return this } inline fun T.apply(block: T.() -> Unit): T { block() return this } inline fun T.let(block: (T) -> R): R { return block(this) } inline fun T.run(block: T.() -> R): R { return block() } using apply val peter = ..
-
[Kotlin] Annotations @JvmName @JvmStatic @JvmField @Throws @JvmOverloadsAndroid 2020. 7. 9. 18:08
@JvmName - 자바코드로 변환 시 메소드명 변경해라. @JvmStatic - static 변수의 getter/setter 메소드를 자동으로 만들어라. - 메소드일 경우 static 메소드가 만들어짐 @JvmField - 자동으로 getter/setter 메소드를 생성하지 말아라. @Throws - 이 메소드가 예외를 던질 수 있다. @JvmOverloads - 오버로딩 메소드를 자동으로 생성해라. ref : https://kotlinlang.org/docs/reference/annotations.html
-
[Android] 갤러리에서 이미지 선택 후 이미지뷰에서 보여주기Android 2020. 6. 23. 16:03
버튼 onClick 이벤트에 아래처럼 구현 Java Intent intent = new Intent(Intent.ACTION_PICK); intent. setDataAndType(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, REQUEST_CODE); Kotlin val intent = Intent(Intent.ACTION_PICK) intent.setDataAndType( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*" ) startActivityForResult(intent, REQUEST_CODE) onAc..