rxjava
-
안드로이드 비동기 처리 2-4 (실시간 검색 with EditText)안드로이드 학습/Android 기술면접 대비 코드 2024. 11. 1. 11:03
이전 내용까지 Rxjava가 무엇인지와 기초적으로 사용하는 것을 알아봤다. 과연 실제로는 어떻게 활용될지가 궁금했다. 그래서 찾아보니 아래와 같은 상황에 사용 가능하다. UI 이벤트 처리 (실시간 검색, 버튼 클릭)네트워크 통신데이터베이스 그 외에 비동기 방식들RxBinding 라이브러리를 사용하면 Button 클릭이나 EditText 텍스트 변경과 같은 UI 이벤트를 Observable로 만들어 이벤트 기반의 데이터 흐름을 처리할 수 있다. 그래서 이번에는 RxBinding을 활용해서 실시간 검색하는 방법을 먼저 학습하려 한다. 실시간 검색은 EditText의 텍스트 변화를 구독하여 실시간 text 변화를 인식해서 검색 기능을 구현할 수 있다. 1. build.gradleimplementation(..
-
안드로이드 비동기 처리 2-5 (네트워크 통신 - retrofit)안드로이드 학습/Android 기술면접 대비 코드 2024. 11. 1. 10:48
안드로이드에서 앞서 RxJava를 학습했던 것들은 UI 처리나 기타 비동기가 사용되야 하는 곳 등등을 학습했다.UI 이벤트 처리 (실시간 검색, 버튼 클릭)네트워크 통신데이터베이스 그 외에 비동기 방식들이번에는 Retrofit과 함께 네트워크 통신을 하는 방법을 학습하려고 한다. 사용한 앱 스택 :RxJava & RetrofitHiltdatabindingViewModel적용된 아키텍처 : Three Layer Architecture 참고 :(1) developer 사이트 : 링크(2) 3Layer 예제 : https://github.com/tdcolvin/PlanetSpotters 1. build.gradle(app)먼저 Rx와 Retrofit 그리고 Hilt 라이브러리를 추가해야 한다. plugin..
-
안드로이드 비동기 처리 2-3 (Operators : 연산자들)안드로이드 학습/Android 기술면접 대비 2024. 8. 29. 17:41
5가지 Base Classes 학습에 이어서 Operators를 학습해보려고 한다. Operators 연산자들은 분류 할수 있는 종류(생성, 변환, 필터, 결합 등등) 도 많지만 각 종류별로 포함하는 연산자들이 많다. 그래서 이번에 한번에 정리하기는 힘들어서 몇몇 정류만 골라서 학습해봐야 할 것 같다. 우선 연산자의 분류부터 보자.1. 연산자 분류생성 연산자just(), fromXXX(), create(), interval(), range(), timer(), intervalRange(), defer(), repeat()변환 연산자map(), flatMap(), concatMap(), switchMap), groupBy(), scan(), buffer(), window()필터 연산자filter(),..
-
안드로이드 비동기 처리 2-2 (RxJava 버전 및 5가지 Base classes)안드로이드 학습/Android 기술면접 대비 2024. 8. 29. 17:23
현재 RxJava는 Version 3.x 까지 나왔다. 아래의 설명은 3.x 버전 기준이다.. RxJava 2.x, 1.x에 대한 내용은 RxJava의 github 저장소에 자세히 나와있으므로 참고Base classes RxJava는 5가지 Base classes 가 있다. Observable, Single, Maybe, Flowable, Completable 1. Observable설명 : Observable은 데이터의 흐름에 맞게 알림을 보내줘 구독한 Observer이 데이터를 사용할 수 있도록 해준다. 소량의 데이터 스트림을 다룰 때 사용된다. BackPressure는 지원하지 않는다.특징 :소량의 데이터 스트림에 적합.BackPressure가 없음.단순한 데이터 스트림 처리에 사용됨.안드로이드..
-
안드로이드 비동기 처리 2-1 (RxJava & RxAndroid)안드로이드 학습/Android 기술면접 대비 2024. 8. 8. 09:45
안드로이드 비동기 Task를 처리할 때 주로 Thread와 Runnable등을 만들어서 처리했었다. 하지만 여러 기업들의 안드로이드 개발자 모집 요강에 보면 RxJava나 Coroutine의 경험을 필요로 한 것을 쉽게 볼 수 있다. 이것은 아마도 RxJava와 Coroutine만의 장점이 있기 때문이라고 생각한다. 그래서 먼저 RxJava 학습을 통해 좀 더 유연한 비동기 처리를 하기 위해서 학습을 시작하였다. 우선 RxJava, RxAndroid를 보면 공통적으로 보이는 것이 Rx다. 그래서 Rx가 무엇인지 먼저 알고 넘어가는 것이 필요할 것 같다. 1. RX란??Rx란 Reactive Programming이다. 반응형 프로그래밍이라고도 한다.반응형 프로그램이란 기존의 코드가 순서대로 실행되는 것과는..
-
안드로이드 Rxjava 사용하기 (1)안드로이드 학습/Android 기술면접 대비 코드 2024. 3. 6. 14:34
설명 : 1. [안드로이드 RxJava] 1. Rxjava, RxAndroid란?2. [안드로이드 RxJava] 2. Observable 클래스 Rxjava가 뭔지는 학습하기는 했지만 개념 이해로는 어떻게 사용하는지 잘 모르겠어서 직접 만들어 보면서 공부해보기로 했다. 기본적으로는 (1) Observer로 Observable에서 발행할 데이터를 어떻게 처리 해줄지 지정.(2) Observable로 무슨 데이터를 발행하고 발행 이후 어떤 것을 할지 지정(3) Observable로 Observer 구독 이정도의 과정이 있지 않을까 싶다. build.gradle (app)implementation("io.reactivex.rxjava3:rxandroid:3.0.2")implementation("io.re..