본문 바로가기

[Android] RxJava를 이용한 EventBus 회사 서비스를 제작하던 중, Broadcast나 interface로 처리하기 곤란한 부분들이 존재하였다. 그래서 EventBus를 사용할려고 하였으나, 기존 프로젝트에 RxJava를 이용하고 있었기에 RxJava를 이용하여 EventBus를 만들어 사용하기로 하였다. Rx의 Subscription을 잘 이용하면 될거라고 생각하고 작성하였다. 장점은 BroadCast로 전달할 수 없는 객체를 전달할 수 있으며, interface를 여러개 만들어 전달에 전달을 하지 않아도 된다는 점이다. 또한 Lifecycle만 잘 지키면 메모리 관리 측면에서 이득을 볼 수 있는 부분이 있다. RxEventBus.java12345678910111213import rx.Observable;import rx.subjects.P.. 더보기
[Android] Glide의 SimpleTarget 관련 처리 Glide 라이브러리 쓰다보면 비동기 처리 쪽은 SimpleTarget 관련해서 문제가 생길 때가 있다. 나같은 경우는 Fragment에서 Glide로 비트맵을 받아서 Rounded처리를 하고 난 뒤 이미지 뷰에 넣는 작업을 작성해놨는데, Glide가 다 로드가 되지 않는 상태에서 Fragment를 나가게 되면, Null Point Exception을 뿜으면서 죽어버리는 현상을 맞이하게 되었다. Fragment의 인스턴스는 해제되었지만, SimpleTarget에 있는 큐들은 해제되지 않았기 때문이다. 이와 관련해서 Glide의 RequestManager를 이용하여 처리하여 해결하였다.(삽질과 구글링으로 극복을....) RequestManager mGlideRequestManager; mGlideReque.. 더보기
[Android] Google Analytics 쉽게 적용하기 안드로이드 개발 중 Google Analytics를 사용하게 되었는데, 좀더 쉽고 편리하게 사용하고자 하였다. 그래서 Application 단에서 GoogleAnalytics 관련된 처리를 다루고, 실제 소스상에서 쉽게 다루고자 추상 팩토리 패턴으로 작성하여 보았다. 여기서는 gradle에 dependency 추가와 global-tracker.xml 에 대한 설명의 생략합니다.(구글링하면 금방 나옵니다.) GoogleAnalyticsFactory.java 해당 클래스 가장 뼈대가 될 클래스이다. GoogleAnalytics의 인스턴스를 할당하고, Tracker를 초기화하고 생성한다.import android.content.Context; import android.support.multidex.Multi.. 더보기