다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/kotlin/2017/03/05/AndroidStudio-Kotlin-Extensions Kotlin에서는 ButterKnife와 findViewById을 사용하지 않아도 됩니다.Kotlin에서는 간단하게 kotlin Extensions을 사용할 수 있습니다.우선 적용하지 않고 일반적인 코드는 아래와 같습니다.findViewById를 매번 해야 하고, 귀찮습니다.적용하는 방법도 여러 가지가 있을 수 있습니다.class ImageFragment : Fragment(), ImageContract.View { private val rootContainer by lazy { activi..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/kotlin/2017/02/27/Kotlin-Parcelable-Plugin Android Studio에는 다양한 플러그인이 있습니다.이번 글에서는 Kotlin의 Parcelable을 간단하게 적용할 수 있는 플러그인을 소개합니다.Parcelable은 코드를 일일이 처서 적용하는게 상당히 귀찮습니다.그래서 serializable을 사용해서 적용하기도 합니다.하지만 Android에서 구현한 Parcelable이 Serializable 보다 성능적으로 이득이라고 합니다. 다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thd..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/androiddev/2017/02/20/Android-MVP-Package-Structure Android MVP를 작성하는데 있어서 Package 구조를 어떻게 가져가면 좋을지 고민을 할 수밖에 없습니다.딱히 정해지거나, 어떤게 좋은지 사실 저도 알지는 못합니다.하지만 지금까지 MVP를 작성하면서 가장 괜찮은 방식의 패키지 구조를 사용하고 있다고 생각되어 이를 정리해보려고 합니다. 가장 초기에 많이 하던 구조다음과 같은 구조를 지금까지 가장 많이 본 것 같습니다.com.example.appnameactivity액티비티 들을 모두 모아 둠fragment프래그먼트 들을 모두 모아 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/androiddev/2017/02/18/Android-MVP-Presentation GDG 인천 발표 자료를 정리합니다.MVC/MVP/MVVM을 각각 정리하고, 이를 kotlin 자료로 정리합니다.해당 자료의 샘플은 Kotlin/MVP로 작성하였습니다MVP Login exampleGDG Incheon 발표 자료 정리 내용MVCMVPMVVMKotlin 샘플 MVCMVC의 가장 흔한 이미지입니다. 다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/androiddev/2017/02/18/Android-MVP-..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/kotlin/2017/02/14/Getter-and-Setter kotlin Getters/Setterss에 대해서 정리합니다.코틀린 문서 properties 부분에 정리되어 있는 Getters and Setters의 내용을 참고하시면 되겠습니다. Getters/SettersGetters/Setters을 java에서는 직접 구현해야 합니다.annotations을 이용하여 get/set을 자동으로 생성할 수도 있지만 과거 Android에서는 성능 이슈로 클래스에 대한 get/set을 만들지 않는 것을 권장하였습니다.(현재는 큰 차이가 없습니다.)그래서 아래와 같이 작성합니다.cla..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : http://thdev.tech/androiddev/2017/01/30/Android-Overlay-Permission Android Marshmallow에서는 기본 권한 획득 외에도 SYSTEM_ALERT_WINDOW 사용을 위한 별도 권한을 추가해주어야 합니다.SYSTEM_ALERT_WINDOW는 WindowManager를 이용하여 최상위 뷰에 화면을 노출하는 뷰의 옵션입니다.Service를 이용하여 Overlay 하는 경우에는 다음과 같이 락/노티피케이션 위에 노출됩니다. Marshmallow 변경 사항WindowManager에는 사용할 수 있는 레이아웃 옵션이 여러 개 있습니다.이러한 LayoutPara..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/01/29/Android-MVP-Google-Architecture-Model MVP 무작정 따라하기 10 번째 글입니다.오늘은 Google Architecture 예제인 Model 구현하는 방법을 영상으로 만들어보았습니다.가장 기본적인 Model 정의를 다루어보겠습니다.이전에 작성한 단순한 모델 정의를 Repository 통해 구현합니다. RepositoryRepository 정의는 Memory cache를 할 수 있으며, Remote/Local 데이터를 불러오게 됩니다.sqlite 사용 시에는 Loaders 사용으로 비동기식 데이터를 쉽게 로드할 수..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/01/22/RxJava-DuplicateFileException RxJava 1.x와 2.x 버전이 있습니다.모든 라이브러리가 아직 RxJava 2.x 버전 대응을 한 것은 아닙니다.그에 따라서 1.x와 2.x 버전을 함께 사용하게 됩니다.Gradle 동기화 중에는 오류가 발생하지 않지만, run을 진행하면 아래와 같은 오류가 발생할 수 있습니다.이 오류를 해결하는 방법을 간단하게 정리합니다. 다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/01/2..