일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코딩테스트
- 알고리즘
- Kotiln
- Dev6
- 안드로이드
- react
- 이펙티브코틀린
- RxKotiln
- android compose
- Kotlin
- RxJava
- 잡담
- 안드로이드 클린아키텍쳐
- Flutter
- 안드로이드 개발자
- Firebase
- Java
- MVVM
- android
- 이펙티브 코틀린
- 코틀린
- 프로그래머스
- 개발자
- Rxjava 안드로이드
- 코루틴
- Swift 문법
- 안드로이드 다이얼로그
- Go언어
- 안드로이드 컴포즈
- 반응형 프로그래밍
- Today
- Total
목록Kotlin (6)
최데브는 오늘도 프로그래밍을 한다.
공부를 하던중 typealiases 라는 키워드를 알게됐다. 코틀린에서 typealiases 는 긴 제너릭 타입을 사용하는 변수들에 대한 새로운 별명을 지어주는 키워드다.크게 엄청난 역할을 하는것은 아니고 짧게 별칭으로 쓸 수 있게 바꿔주는 용도 정도로 생각하면 좋을 거 같다. typealias DataBaseUseCase = BaseUseCase 이렇게 적어주면 class DatatUseCase @Inject constructor(private val repo: DataRepository) : BaseUseCase 이렇게 됐어야하는게 class DatatUseCase @Inject constructor(private val repo: DataRepository) : DataBaseUseCase 이런식으..
lateinit과 lazy 는 늦은 초기화를 하게 해주는 키워드다. 늦은 초기화가 뭘까? 늦은 초기화는 선언과 동시에 값을 가져오기 곤란한 상황에 뒤에 이 변수를 초기화 해줄 수 있는 시점이 됐을 때 초기화를 하도록 미뤄주는 역할을 한다. 생각보다 쓸 일이 자주 생기는데 두가지 방법에는 차이가 있다. 먼저 lazy 에 대한 이야기다. 오늘 업무를 진행하다가 Dialog 와 관련된 작업을 할 일이 있었다. 순간 고민이 생겼는데 Dialog를 생성할때 중복되는 내용들을 baseDialog 로 만들어서 부모 클래스로 만들어뒀는데 여기서 높이와 넓이를 부모클래스에서 값을 받도록 하고 있어서 작업하려던 Dialog 에서 override 하고 있는 곳에 값을 넣어 줄 상황이 생겼다. 고정 값으로 값을 집어넣어주면 ..
프로그래밍을 하다보면 돈을 표기할때 콤마를 넣어서 표기 해야 할 일이 생길때가 있다. 그 때 아래 코드를 이용해서 처리하도록 하자. val dec = DecimalFormat("#,###") var test = 10000 dec.format(test) 참고로 소숫점 표기는 val dec = DecimalFormat("#,###") 이 부분에서 val dec = DecimalFormat("#,###.00") 으로 적어주면 표기된다.
코틀린은 함수형 프로그래밍을 지원하기 때문에 익명함수, 람다식을 사용할 경우가 흔하다. map, filter, reduce, forEach등 함수를 인자로 받는 함수들(고차함수)의 매개변수로 우리만의 로직이 담긴 함수를 넘길때 람다를 자주 사용한다. 자주 사용하는 만큼 꼭 집고 넘어가야할 사항이 있다. 일반 함수를 넘겼을 때 (return에 주목하자) 일반적으로 함수 내부의 return은 그 함수만 종료시킨다. 물론 코틀린의 label을 사용해서 종료시킬 함수를 지정할 수 있지만 그렇지 않은 경우 return문을 포함하는 가장 가까운 함수를 종료시키게 된다. 우선 람다식이 아니라 일반적인 익명 함수를 넣은 예시를 보자. fun exampleFunc() { var ints = listOf(0,1,2,3) ..
Kotlin vs. Java 비교하기 Android 개발에 있어서 Java 언어보다 kotlin 언어를 많이 사용하는 추세입니다. 물론 아직도 Java를 많이 사용하고 있지만 구글에서도 Kotlin을 제 1언어로 채택하고 앞으로의 컴포넌트나 라이브러리들도 Kotlin으로 개발된다고 하니 안드로이드 개발자들은 Kotlin을 안 할 이유가 없어보입니다. 그래서 코드 사용에 있어서 Java와 Kotlin을 비교해보도록 하겠습니다. 비교 순서는 변수/상수, view 사용, Null 안정성, 객체 초기화, Data Class 순으로 알아보도록 하겠습니다. 1. 변수/상수 Java String strVar = ""; // 변수 final String strVal = ""; // 상수 - 변수 : final을 사용하..
1. 커스텀 다이얼로그(Custom Dialog)로 사용할 코틀린 클래스 만들기 먼저 커스텀 다이얼로그(Custom Dialog)가 될 코틀린 클래스를 아래처럼 만들어 줍니다. class CustomDialog(context: Context) { private val dialog = Dialog(context) fun myDig() { dialog.show() } } ① 파라미터로 액티비티의 Context 를 전달 받습니다. 다이얼로그(Dialog)가 어떤 액티비티에서 나와야하는지 알려줘야하기 때문이죠. ②, 다이얼로그(Dialog) 에 context 를 넘겨 줍니다. 이제 액티비티에서 이 다이얼로그(Dialog) 를 호출하기 위해서는 ③ 함수를 호출 하면 됩니다. 하지만 이 상태로는 화면엔 아무것도 나..