프레그먼트간 통신하는 3가지 방법

프레그먼트 통신(Fragment Commnication) 안드로이드 공식 문서인 Communicate with other fragments에 프레그먼트간 통신하는 방법에 대해서잘 나와있지만, 저는 또 다른 방법들에대해서 설명하고자 합니다. AAC ViewModel 이용 ViewModel을 이용하면 Activity를 라이플싸이클 오너로 등록하여 공통된 뷰모델을 이용할 수 있습니다.  더보기…

List와 LiveData의 사용시 Observer 에게 Notify 언제, 어떻게 해야할까…?

AAC LiveData의 등장으로 데이터바인딩 라이브러리 사용시 MVVM아키텍처와 맞물려 데이터와 UI간의 동기화하는 코드를 많이 사용하고 있습니다. 단수의 Data를 다루는데 있어서 LiveData는 편리했습니다. 기존 BaseObservable을 구현한 클래스에서 notifyChange 또는 notifyPropertyChange를 처리할 필요도없고, 생명주기를 알고있다는 점이 좋았습니다. 하지만, 더보기…

안드로이드에서 Dynamic Proxy 사용하기

Proxy란? 일반적으로 대리자/대리인을 의미하며, 자바에서는 타겟을 감싸서 타겟을 요청을 대신 받아주는 Wrapping Object를 뜻합니다. Proxy 패턴은 디자인 패턴의 일종으로 자바의 Reflect 패키지에 있는 Proxy를 이용하여 원래 객체의 변경 없이 기능을 특정 방식으로 제어 하는 구조를 더보기…

안드로이드와 Java의 Reflection

Reflection이란? Reflection은 자바 언어의 기능중 하나로 프로그램 내부 속성을 조작 할 수 있게 합니다. 예를 들어 Java클래스가 가지고 있는 모든 멤버의 이름을 가져와서 표시 할 수 있습니다. 다른 언어에서는 이러한 기능이 보통 존재하지 않습니다. 예를 더보기…