Android 100

RxJava - subscribeOn, observeOn 를 제대로 쓰고 있는걸까?

해당 글은 https://vagabond95.me/posts/is-this-rxjava-1/ [안드로이드] 그런 Rx Java 로 괜찮은가 1 - subscribeOn, observeOn - 기록은 기억을 지배한다 구글은 점점 더 안드로이드 아키텍처를 리엑티브하게 구조화 하려는 움직임을 보이고 있고, Databinding, LiveData 그리고 RxJava 는 그러한 구조화 작업의 핵심 토대를 담당하고 있다. 또한 주력으로 vagabond95.me 을 읽고 깊게 Rx에 대해 고민하지 않았던 스스로를 반성하는 포스팅임을 밝힙니다. ㅜㅜ rx 를 사용하다보면 subscribeOn, observeOn 를 자연스럽게 만나게 된다. 나도 개인 프로젝트에 rx와 retrofit 을 연동해서 값을 받아오고 그 값을..

RxJava - Hot Observable , Cold Observable

이전에 쓴 글(아래 링크 참고) 에서 뒷쪽에 https://choi-dev.tistory.com/107?category=972011 RxJava - Observable을 제외한 다른 생산자들 전 포스팅에서는 Observable에 대해서 알아봤다. 기본적인 생산자였는데 Observable 0개에서 n개의 데이터를 전달하는 생산자다. 기본적인 생산자로 단건(0 or 1)이 아니면 대부분 Observable을 쓴다. observe choi-dev.tistory.com Subject 에 대한 이야기가 나온다. 그때는 간단하게 설명하고 지나갔는데 공부하던중 추가로 알게 된 내용이 있어서 포스팅한다. 먼저 이 이야기를 시작하려면 제목의 Hot Observable , Cold Observable 에 대해서 알고 넘어..

RxJava를 Event Bus 처럼 쓰기

Event Bus 라는 라이브러리는 버스 네트워크의 동작 방식과 유사하게 하나의 이벤트를 동일 채널에 연결된 모든 노드들에게 보내는 역할을 해주는 라이브러리다. 안드로이드에서는 특정 동작을 했을때 intent 하거나 fragment 와 activity 사이의 데이터 전달을 할때 bundle이나 콜백 등 이런 동작들을 할 때가 있는데 이런 동작들은 코드의 재사용성을 줄이고 코드를 복잡하게 만들어서 깔끔하지 못한 코드가 될 수 있다. 이럴때 결합도를 낮추고 UI 끼리 데이터 통신을 더 편하게 처리하는게 이벤트 버스의 개념이다. 나는 interface 를 만들어서 콜백처리하는게 코드가 증가하고 불편해서 이 개념을 빌려다 쓸때가 많다. Rxjava로 이러한 동작을 어떻게 하게 할 수 있을까? 아래 코드처럼 Rx..

MVVM 을 왜 써야할까? MVP와 다른점이 뭘까

제목에 대한 의문을 잘 설명해둔 글이 읽어서 첨부한다. https://handnew04.github.io/posts/2020-11-24/ [Android] MVVM 예제도 다 1:1인데 MVP랑 차이가 뭘까? · Handnew's blog MVVM을 사용하는 이유? devHyeon님의 특강(?) 통해 알게된 MVVM을 사용하는 이유(MVP와 MVVM의 차이점)에 대한 정리. 직접 작성하신 샘플코드로 설명을 위해 만들어진 코드이기 때문에 실제로 사용한다 handnew04.github.io

Android 2021.09.16

안드로이드 - BottomSheet , BottomSheetBehavior

간혹 앱을 사용하다보면 위아래로 슬라이드 하면서 크기가 늘어났다가 줄어들었다가 하는 화면을 찾아 볼 수 있다. 이런 화면들 말이다. 밑의 레이아웃을 위로 당기면 높이가 늘어나고 내려도 다 사라지지는 않고 남아있는 형태의 sheet. 이런걸 만들고 싶었는데 어떻게 하면 좋을지 고민하다가 한번 만들어봤다. 언제나 그렇듯 코드로 알아보자. CoordinatorLayout 이라는게 눈에 띈다. CoordinatorLayout 은 FrameLayout 같이 좌표를 자유롭게 지정 가능하다. 한개의 parent 아래 포함된 여러개의 child view 를 behavior 라는 것을 이용해서 다양한 애니메이션 효과를 표현해 낼 수 있다. 라고 간단하게 설명가능하다 . 나처럼 바텀시트에 사용할 수도 있고 , 밑으로 스크..

Android/Android UI 2021.08.31

Drawable Shape 코드로 색상 동적 변경

Drawable Shape를 배경 등.. 으로 사용할때 색상을 동적으로 변경하는 방법 입니다. TextView의 배경을 둥글게 하기 위해서 shape로 배경을 깔아주고 배경 색상은 아래와 같이 지정 해줍니다. GradientDrawable bgShape = (GradientDrawable) textView.getBackground(); bgShape.setColor(getResources().getColor(R.color.colorPrimary)); 코틀린에서는 var bgShape : GradientDrawable = get_auth_text_bt.background as GradientDrawable bgShape.setColor(resources.getColor(black)) 이렇게 사용합니다.

Android 2021.07.31