다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/2017/10/02/Kotlin-Higher-Order-Function Kotlin에는 Higher-Order Functions 사용이 가능합니다.Higher-Order Functions은 함수를 변수로 넘겨주거나, 이를 반환하는 것을 말하는데, 레퍼런스 문서에 정의 내용을 참고하여 설명합니다.fun lock(lock: Lock, body: () -> T): T { lock.lock() try { return body() } finally { lock.unlock() } } lock 함수에 포함된 파라메터 중 body: () -> T Higher-Order Functi..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/08/09/Android-MVC_MVP_MVVM-Intro Android MVC/MVP/MVVM가 소개되었고, 다양한 방법으로 이러한 Architecture를 적용하게 됩니다.구글에서는 테스트 가능한 형태를 만들어주기 위해서 Android Architecture Blueprints을 소개해주었습니다. 하지만 모두가 이러한 방법을 따르는 것은 아닙니다.저도 공부를 하면서 다양한 MVP 패턴을 학습 및 고민한 흔적을 Android MVP 무작정 따라하기 시리즈로 남길 수 있었습니다.이번 글에서는 MVC > MVP > MVVM으로 순차적으로 넘어가게 되었던 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/07/16/Android-Studio-3_0-Create-kotlin-project 2017년 5월 Google I/O에서는 안드로이드에서 사용할 수 있는 새로운 언어로 Kotlin을 새로이 추가하였습니다. 이 글은 2017년 6월 6일에 작성한 글을 수정하였습니다.JetBrains IntelliJ에서는 이미 포함되어 배포되었는데 이번 Android Studio 3.0부터는 별도의 플러그인을 설치하지 않고도, 플러그인이 포함되게 되었습니다.그러다 보니 Preview에서는 항상 오류가 발생하던 kotlin plugin을 이젠 공식적으로 지원받을 수 있게 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/androiddev/2017/07/09/Kotlin-Android-Start Google I/O 2017 이후 Kotlin은 안드로이드를 개발할 수 있는 또 하나의 정식 언어가 되었습니다.기존에 작성하였던(2016. 07. 31) 글을 최신으로 업데이트합니다.Android Studio 3.0 정식 버전이 나오면 다음 글은 의미가 없어지긴 하지만 플러그인 설치하는 과정을 다시 정리합니다.Android Studio와 KotlinAndroid Studio는 IntelliJ IDEA 베이스로 개발 배포 중인 IDE이며, Kotlin 역시 2011년 JetBrains에서 첫 배포 이후 1..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/05/06/Android-Studio-Create-Swipe-View 2013년에 작성하였던 Android Swipe View 생성하는 글을 Android Studio에서 하는 방법으로 다시 정리하였습니다.Android 3.0부터 제공하는 Swipe Views와 Tabs + Swipe를 간단하게 생성하고 적용할 수 있습니다. 그 외 Android에서 제공하는 최신 UI도 간단하게 새로운 프로젝트를 생성함으로써 적용이 가능해졌습니다.오늘 작성할 Swipe View는 탭을 포함하고, Fragment로 좌우로 이동하는 뷰를 가지고 있습니다.생성하면 아래와 같..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/03/12/Android-MVVM-Architecture-intro MVVM은 Model View ViewModel의 약자입니다.구글에서는 MVP를 메인으로 정의하는 Architecture를 소개하고, Support library에서는 이를 사용 중입니다.그리고 iOS에서는 MVVM을 많이 다루고 있습니다.이러한 ArchitectureView/Model 간의 코드 분리테스트 가능한 코드 작성이러한 Architecture 적용으로 얻는 이득은 바로 안정적인 서비스 개발 및 유지 보수가 빠른 코드의 추구입니다.저는 아직 MVVM을 다루고 있지는 않습니다. ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/2017/03/09/Kotlin-Constructor-Init 2017. 03. 08 생성자 설명을 수정kotlin의 constructor 정리해보려고 합니다.우선 일반적인 java에서의 생성자는 아래와 같이 className(매개 변수) 형태로 정의 가능합니다.생성자를 여러 개 두더라도 override를 이용하여 이를 해결할 수 있습니다.public class Sample { private String name; private int age; private String birthday; public Sample(String name) { this.name = name..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/androiddev/2017/03/07/Android-Overlay-Exception Android 6.0인 Marshmallow부터는 SYSTEM_ALERT_WINDOW을 사용하는 경우 권한 획득이 필수가 되었습니다.다만 Play 스토어 정책에 따라서 조금씩 다를 순 있습니다.Play 스토어에서 설치하는 경우 Overlay가 true로 자동 활성화 처리됩니다.(2017. 03)하지만 Android 6.0(Marshmallow)와 7.0(Nougat)에서 서로 다른 접근 방법을 가지고 있습니다.개발하실 때 그리고 사용자가 사용할 때 주의해야 할 버전이 6.0입니다.그래서 6.0(..