Android
-
[Kotlin] 코틀린 두 날짜간 차이 구하기, 디데이(D-Day) 구하기Android/Kotlin 2021. 2. 6. 16:54
코틀린에서 두 날짜간 차이, 시작일자로부터 경과일 수, D-Day를 구하는 방법 code snippets fun main() { val dateFormat = SimpleDateFormat("yyyyMMdd") val startDate = dateFormat.parse("20200425").time val endDate = dateFormat.parse("20250425").time val today = Calendar.getInstance().apply { set(Calendar.HOUR_OF_DAY, 0) set(Calendar.MINUTE, 0) set(Calendar.SECOND, 0) set(Calendar.MILLISECOND, 0) }.time.time println("두 날짜간의 차이(일)..
-
[Kotlin] 코틀린 숫자로 입력된 금액 한글로 변환하기Android/Kotlin 2021. 1. 1. 13:06
코틀린으로 숫자로 입력된 금액을 한글료 표기해주기 위해 변환하는 함수 ex. 400,500,123 -> 사억 오십만 백이십삼 fun getNumKorString(value: Long): String { val kor1 = listOf("", "일", "이", "삼", "사","오","육","칠","팔","구") val kor2 = listOf("", "십", "백", "천") val kor3 = listOf("", "만", "억", "조", "경") val strVal = value.toString() val strLen = strVal.length var strRet = "" strVal.forEachIndexed { i, c -> val n = (c-48).toInt() val digit = strL..
-
[Kotlin] 코틀린 Null Safety, 안전한 null 처리 방법Android/Kotlin 2020. 12. 27. 21:35
코틀린의 타입 시스템은 코드에서 null references 위험을 제거하는것을 목표로 한다. Java를 포함한 많은 프로그래밍 가장 일반적인 오류 중 하나는 Null 참조의 멤버에 액세스하면 Null reference exception이 발생한다. 코틀린에서 NullPointerException이 발생할 수 있는경우 throw NullPointerException(); 명시적 호출 !! 연산자 사용 아래와 같은 초기화에 관한 데이터 불일치 생성자에서 사용할 수 있는 초기화되지 않은 this가 전달되어 어딘가에 사용되는경우("leaking this") superclass 생성자는 파생 클래스에서 구현이 초기화되지 않은 상태를 사용하는 open member를 호출 자바 상호 작용 platform type의..
-
[kotlin] 코틀린 let, run, with, apply, also 함수 비교 및 상황별 함수 선택Android/Kotlin 2020. 12. 26. 23:59
코틀린에서 기본적으로 제공하는apply, let, run, with, also, takeIf 와 사용 예를 알아보겠다. 코틀린의 표준 함수는 내부적으로 확장함수(extention function) 이다 각함수별 특징과 상황별 선택요령에 대해서 설명 해볼려고 한다. 함수별 참조방식, 리턴값 비교 Function Object reference Return value let it Lambda result run this Lambda result with this Lambda result apply this Context object also it Context object this or it 에 따른 참조방식 각 스코프 함수는 컨텍스트 객체에 접근하는 두 가지 방법 중 하나를 사용한다. lambda 리시버 (..