개발/Android
-
[Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -4-개발/Android 2019. 4. 9. 23:12
이전글 2019/03/13 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -1- 2019/04/04 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -2- 2019/04/06 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -3- 앞에서 retry()를 이용하여 네트워크 요청 실패시 재시도 하는 방법에 대해서 구현해봤습니다. 재시도를 할때도 그냥 바로 재시도를 하는것이 아니라 특정한 조건을 만족한 뒤 재시도를 해야 할 경우가 있을수 있습니다. 이번에는 서버 인증정보를 갱신 후 재시도를 하는 방법을 추가해보도록 하겠습니..
-
[Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -3-개발/Android 2019. 4. 6. 18:17
이전글 2019/03/13 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -1- 2019/04/04 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -2- 다음글 2019/04/09 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -4- 앞에서 Retrofit과 RxJava를 이용하여 네트워크 요청 및 결과값 처리에 대해서 어떻게 구현할지에 대해서 고민을 해봤습니다. 이번에는 요청 실패시 재시도를 추가해 봅시다. RxJava에서 제공하는 retry() 메소드를 활용하여 재시도를 구현해 보겠습니다. 단순하게 재시도를 하..
-
[Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -2-개발/Android 2019. 4. 4. 20:47
이전글 2019/03/13 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -1- 다음글 2019/04/06 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -3- 2019/04/09 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -4- 앞서서 Retrofit과 RxJava를 이용한 비동기 네트워크 요청 및 처리 방법을 구현했습니다. 아주 단순처리일 경우는 기본 구현으로도 충분 할 수 있지만 Http Response code를 적극적으로 사용하는 경우는 앞선 기본 구현으로는 처리가 어렵습니다. Retrofit의 Res..
-
[Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -1-개발/Android 2019. 3. 13. 23:00
다음글 2019/04/04 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -2- 2019/04/06 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -3- 2019/04/09 - [개발/Android] - [Retrofit / RxJava] 네트워크 요청 결과를 RxJava로 처리하자 -4- Retrofit를 사용할때 RxJava adapter를 추가하여 요청결과를 RxJava의 Observable로 전달받아 원하는 형태로 쉽게 결과값을 후처리 할 수 있도록 구현해 봅시다. 우선 App의 gradle 설정을 해줍니다. android { ... dependencies { ... /..
-
[BroadcastReceiver] Broadcast permission 주기개발/Android 2018. 12. 11. 00:46
Android 개발을 하다 보면 BroadcastReceiver를 이용한 이벤트 전달 방식을 사용하게 됩니다. 현재 앱이 실행중일때 푸시메시지 수신시 이벤트만 날려주거나, 알람설정을 해놨다가 시간이 되었다는 이벤트만 날려주거나 하는 식으로 쓰는 경우가 많이 있었습니다. 문제는 이렇게 사용을 했을때 해당 Action 정보만 알고 있다면 다른 앱에서 동일한 Action을 등록한 BroadcastReceiver가 있는 경우는 해당 이벤트를 받을수 있다는 문제가 있습니다. sendBroadcast() 메소드 실행시 특정 권한을 가진 앱만 이벤트를 받을수 있도록 바꿔보도록 하겠습니다. 간단하게 Broadcast를 하는 앱을 작성해보도록 하겠습니다. 먼저 UI부터 작성하도록 합니다. 전송버튼 3개, 삭제버튼 1개,..
-
[LifecycleOwner] LiveData를 Observe할수 있는 View가 필요할때개발/Android 2018. 5. 1. 20:33
Android Architecture Components에서 Activity, Fragment는 LifecycleOwner가 구현이 되어있어서 별도의 커스텀 없이도 LiveData를 Observe해서 동작이 가능합니다. 하지만 하나의 Fragment혹은 Activity에서 너무 많은 동작을 하게 되어 각 기능별로 View를 분리하고싶을때! View는 LifecycleOwner가 없기 때문에 LiveData를 Observe하는 동작이 불가능합니다. 따라서 지난번에 구현한 MutableLiveDataExt를 참고하여 내부적으로 LifecycleOwner를 가지는 View클래스를 만들어 보겠습니다.참고 : [LiveData] LiveData를 Background에서도 동작하게 해야 할때 기본 컨셉은 앞서 만들..
-
[LiveData] LiveData를 Background에서도 동작하게 해야 할때개발/Android 2018. 5. 1. 20:20
Android Architecture Components 중에 LiveData 클래스가 있습니다. Activity나 Fragment의 생명주기에 따라 동작하는 Observable한 데이터 클래스로 데이터가 변경되면 observe하고 있는 UI로 이벤트가 전달되는 Observer 패턴 방식입니다.참고 : https://developer.android.com/topic/libraries/architecture/livedata LiveData는 Activity와 Fragment의 생명주기(LifecycleOwner이기 때문이며 별도의 LifeCycleOwner를 구현도 가능합니다.)에 따라 Active / InActive 상태로 전환되며 Active 상태가 아니면 데이터의 변경사항이 있어도 이벤트를 전달하지 ..
-
[RecyclerView.Adapter] RecyclerView에서 ChoiceMode처럼 쓰기개발/Android 2018. 4. 9. 20:17
RecyclerView는 기존의 ListView와 다르게 ChoiceMode를 지원하지 않아 간단하게 Select 상태를 가지는 RecyclerView를 사용하고자 할때는 별개로 구현이 필요합니다. 그래서 지난번에 구현한 GeneralAdapter를 상속받은 Selectable Adapter를 만들어 보겠습니다. [GeneralAdapter] RecyclerView.Adapter 편하게 쓰기 먼저 구현 컨셉은 Select 상태정보를 Adapter에서 관리하도록 하여 사용자가 필요시에 해당정보를 제어할 수 있도록 합니다. 추가로 앞서 구현한 GeneralAdapter를 상속받아 GeneralAdapter가 가지는 사용 편의성을 이용할 수 있도록 합니다. public class GeneralSelectabl..