Kotlin Parcelable 플러그인 사용하기

Android Studio에는 다양한 플러그인이 있습니다.

이번 글에서는 Kotlin의 Parcelable을 간단하게 적용할 수 있는 플러그인을 소개합니다.

Parcelable은 코드를 일일이 처서 적용하는게 상당히 귀찮습니다.

그래서 serializable을 사용해서 적용하기도 합니다.

하지만 Android에서 구현한 ParcelableSerializable 보다 성능적으로 이득이라고 합니다.

출처 : PARCELABLE VS. JAVA SERIALIZATION IN ANDROID APP DEVELOPMENT의 그래프 참조하시면 되겠습니다.

parcelable_serializable_performance

Read More

Android MVP 무작정 따라하기 - Package는 어떻게 할까?

Android MVP를 작성하는데 있어서 Package 구조를 어떻게 가져가면 좋을지 고민을 할 수밖에 없습니다.

딱히 정해지거나, 어떤게 좋은지 사실 저도 알지는 못합니다.

하지만 지금까지 MVP를 작성하면서 가장 괜찮은 방식의 패키지 구조를 사용하고 있다고 생각되어 이를 정리해보려고 합니다.

Read More

Kotlin Getters/Setters properties 살펴보기

kotlin Getters/Setterss에 대해서 정리합니다.

코틀린 문서 properties 부분에 정리되어 있는 Getters and Setters의 내용을 참고하시면 되겠습니다.


Getters/Setters

Getters/Setters을 java에서는 직접 구현해야 합니다.

annotations을 이용하여 get/set을 자동으로 생성할 수도 있지만 과거 Android에서는 성능 이슈로 클래스에 대한 get/set을 만들지 않는 것을 권장하였습니다.(현재는 큰 차이가 없습니다.)

그래서 아래와 같이 작성합니다.

class User {
  public String name;
  public String age;
}

Read More

Android 윈도우(Overlay) 권한 획득하기

Android Marshmallow에서는 기본 권한 획득 외에도 SYSTEM_ALERT_WINDOW 사용을 위한 별도 권한을 추가해주어야 합니다.

SYSTEM_ALERT_WINDOW는 WindowManager를 이용하여 최상위 뷰에 화면을 노출하는 뷰의 옵션입니다.

Service를 이용하여 Overlay 하는 경우에는 다음과 같이 락/노티피케이션 위에 노출됩니다.

Read More