다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : https://thdev.tech/kotlin/2018/03/25/Kotlin-lateinit-lazy Kotlin에는 늦은 초기화를 위한 방법 2개를 제공한다.class의 전역에 아래와 같이 값을 생성하면, 클래스가 만들어지는 시점에 변수를 함께 초기화한다.class 생성과 동시에 변수가 초기화되면, 재 접근시 빠르게 접근이 가능하여 이득을 볼 수 있다.class SampleActivity { private val sampleAdapter: SampleAdapter = SampleAdapter(ImageLoaderAdapterViewModel(this@SampleMainActivity, 3)) } 하지만 위 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : https://thdev.tech/kotlin/2018/03/17/Kotlin-Lambdas Kotlin을 활용하여 개발을 하면 무조건 만나는 Lambdas 식.기존 Android 개발에서는 Java 7을 주로 사용하다 보니 Lambda 식을 사용할 일은 없었다.하지만 Backport 활용으로 Lambda을 적용할 수 있었는데 retrolambda이다.현재는 Android Studio 3.0 이상에서 구글이 직접 Lambda을 제공하여, 간단하게 적용하는 게 가능하다.오늘은 Kotlin Lambda 식에 대해서 살펴본다. Lambda 식Lambda 식은 쉽게 말해 function에 function을 전달하고, 이..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/android/2018/01/31/Recycler-Adapter-Distinguish RecyclerView와 ListView을 통해 수많은 형태의 List를 생성할 수 있다. 동일한 형태의 View을 구현하거나, N 개의 서로 다른 View을 만들기도 한다.리스트를 구성하는데 유용한 RecyclerView. 이런 RecyclerView을 구성하는데 있어 MVP 또는 MVVM에서 적용해볼 수 있는 방법은 무엇일까?이번 글에서는 필자가 선택한 ViewModel을 소개하려고 하는데 아무래도 다음의 글이 영향을 미쳤기에 작성하는 글이다.SeongUg Steve Jung(GDE) 님이 다..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/android/git/2018/01/21/Git-Branch 다니고 있는 회사에서 사용하는 Git branch 관리하는 방법을 정리하려고 한다. 회사 블로그에 작성하는 글이 아니므로, 완전하지는 않지만 대략적인 내용을 정리하려고 한다.회사에서는 아래와 같이 브런치를 가지고 있다.Master : Release 완료한 버전을 merge 하고, Release 시 Tag를 함께 둔다.Developer Branch : Master Branch 기준으로 티켓 단위 개발 작업을 진행한다.Code-Review Branch : 이 Branch는 언제든 제거하고, 다시 생성될 수 있으며, Code ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/android/2018/01/02/Kotlin-Learning-and-Introduction 2017년 Google I/O 이후 Kotlin에 대한 관심도가 증가하였고, 샘플 코드와 각종 블로그 포스팅에서 Java보다 Kotlin에 대한 이야기가 많이 나오고 있다, 특히 Jake Wharton은 내부 Android 코드의 Kotlin 적용 적용 프로젝트에 참여로 구글에 입사하였고, 최근에는 자신이 가지고 있던 Retrofit2 모듈에 coroutines을 적용하기도 하였다.다양한 사례들이 많이 나오고 있지만, 아직은 진행 중인 단계이다. 1.0 정식 버전이 나온 이후로..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/android/2017/11/01/Android-Studio-3.x-Release 길고 긴 Beta 끝에 드디어 정식 출시된 Android Studio 3.0입니다.Android Studio 3.0은 Android 8.1 Preview와 Preview 대응용 Android 3.1 Preview와 함께 배포되었습니다.Android Studio 3.0 Releases 소개 영상Android Studio 3.0 Releases note 다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/a..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/androiddev/2017/10/07/Kotlin-SAM Kotlin에는 SAM Conversions이 제공됩니다. Single Abstract Methods의 약자로 SAM이라고 합니다.이름에서 알 수 있듯 SAM은 하나의 추상 메서드에 대해서 lambdas 식을 제공합니다. 단, Java에서 작성한 Interface 정의와 이를 활용하는 setOnClickListener를 kotlin에서 부르는 경우에만 이에 해당합니다.코틀린에서 유용해야 하는데 실제로는 kotlin에서 작성한 interface와 setOnClickListener 구현체가 있을 경우에는 SAM이 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/android/2017/10/03/Kotlin-Generics kotlin의 Generics을 정리합니다. Java에서 사용하는 Generics과 동일하게 사용할 수 있지만, Kotlin에서는 Generics 정의한 클래스를 상속받을 때 명시적으로 정의해야 합니다.다시 말해 java에서는 제네릭 정의를 하지 않으면, 기본 Object을 따르지만, 코틀린에서는 명시적으로 꼭 적어주도록 만들었습니다.Kotlin Generics 문서 Java Generics 정의하기먼저 Java에서의 Generics 정의를 살펴보죠.interface Generic { void setItem..