반응형

코딩 (독학)/★ Kotlin 22

[Android : Kotlin] 안드로이드 버튼 background drawable(shape) 적용 안되는 이유

🐱‍🏍 Android Button background drawable 적용이 되지 않을 때 대처 방법 Android Button Customizing을 하기 위하여 drawable 폴더에 shape를 만들고, Button 태그에서 background에 적용시켜줄 때 적용이 되지 않고 default button 모양이 그대로 보여질 때가 있다. 이 경우에 어떻게 대처해야 하는지를 다루었다. shape를 아래 코드와 같이 만들어 주었다. 위와 같은 모양을 나타내기 위해 shape 코드를 작성 해 주었고, 아래와 같이 Button에 적용 해 주었다. 그랬더니 처음 버튼을 추가하면 나오는 Default Button 이 나와버린다. 이런 경우, 을 또는 으로 바꿔주면 해결된다. 🐱‍🏍 적용이 되지 않았던 원인은 ..

[Android : Kotlin] 코틀린에서 문자열을 쪼개는 2가지 방법 (Split과 StringTokenizer의 차이)

🐱‍🏍 Android Call-Back Pattern 대부분의 언어는 아래와 같이 split() 함수를 통해서 문자열을 쪼갠다. ### Python3 StringVal = "대 한 민 국" print(StringVal.split(" ") #['대', '한', '민', '국'] 출력 print(StringVal.split(" ")[0]) # '대' 출력 print(StringVal.split(" ")[1]) # '한' 출력 print(StringVal.split(" ")[2]) # '민' 출력 print(StringVal.split(" ")[3]) # '국' 출력 그리고 자바에서는 split() 뿐만 아니라 StringTokenizer를 통해서도 쪼갤 수 있는데, 이것이 다행히도 코틀린에서도 가능하다. i..

[Android : Kotlin] 안드로이드 콜백과 리스너에 대하여

🐱‍🏍 Android Call-Back Pattern 사전 정의) Callback : 답신 전화 (다시 전화), 회신, 재통보 등.. 그렇다면, Android에서 Callback의 의미는 무엇을 의미할까? Callback Method란, 다른 함수에 인수로 전달되는 함수이며, 일종의 이벤트 후에 실행 될 것으로 예상된다. 콜백 메소드의 목적은 다른 클래스에서 일부 작업이 완료된 경우 클래스 Sync/Async에 알리는 것이다. 이는 비동기 작업을 할 때 매우 유용하다. Button을 누르거나 인터넷에서 데이터를 가져온 후 일부 작업을 수행하거나, 컨텐츠를 표시하는 등의 일상적인 작업을 수행하려 한다고 가정한다. 콜백 기능을 통해 버튼을 누르면 알림을 받으므로 이벤트 처리에 사용된다. 이 유형의 디자인 패..

[Kotlin] KAPT Plugin (Room Database 적용 필수 라이브러리)

Kotlin Room Database 적용시 필수로 해 줘야하는 작업이 있다. 바로 플러그인과 의존성 추가인데 아래 코드로 확인 해 보자. plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } android { ... 생략 ... ... 생략 ... } dependencies { implementation "androidx.room:room-runtime:2.3.0" kapt "androidx.room:room-compiler:2.3.0" ... 생략 ... } kapt라는 플러그인 및 의존성 관련 설정을 위와 같이 추가 해 주고, 동기화 (Sync Now)를 해 주면 된다. kapt는 Kotlin이 자바 파일의 Ann..

[Kotlin] 늦은 초기화 방법 (lateinit / lazy)

✍ Kotlin에서의 변수 늦은 초기화 방법 늦은 초기화라는 말은 말 그대로 변수의 초기화를 늦게 하는 것이다. 예를 들어 변수 a를 사용한다고 치고, a의 첫 값(상태)를 정의하기 어려울 때 어떻게 해야하는가? 대부분의 언어는 아래와 같이 빈 값인 null을 입력 해줄 수 있었다. var a: Int? =null 그러나.. 언젠가 분명 사용 할 변수인데도 불구하고 초기 상태로 null을 사용하는 것은 코틀린의 특성과 맞지 않다는 것이다. 즉, 코틀린의 특성상 null 사용을 지양하는것을 강조하고 있으며, 위험한 상태로 본다. 아래 링크에서 참고할 수 있다 싶이 Kotlin은 Java를 포함한 많은 언어에서 발생하는 null 참조 예외 (Null Pointer Exception ; 이하 NPE)를 최대한..

반응형