본문 바로가기

전체 글

안드로이드 Retrofit 통신#2 리사이클러뷰 안녕하세요 이번 시간에는 이전에 Retrofit 통신한 것을 조금 변경해서 가져온 데이터들을 리사이클러뷰에 출력해보겠습니다. https://adc6981.tistory.com/23 안드로이드 Retrofit 통신 사용방법 안녕하세요 이번 시간에는 Retrofit 통신에 대해 알아보겠습니다. Retrofit은 http 통신을 쉽게 사용할 수 있게 만든 라이브러리입니다. 현업에서 많이 사용한다고 하니 기본적인 것은 꼭 알아두는 것 adc6981.tistory.com Retrofit통신과 리사이클러뷰 사용방법은 이전 블로그에 설명이 되어 있으니 오늘은 코드만 업로드하겠습니다. https://jsonplaceholder.typicode.com/todos 여기서 JSON 데이터를 가져올 겁니다. 주석에 설명을 해.. 더보기
안드로이드 Retrofit 통신 사용방법 안녕하세요 이번 시간에는 Retrofit 통신에 대해 알아보겠습니다. Retrofit은 http 통신을 쉽게 사용할 수 있게 만든 라이브러리입니다. 현업에서 많이 사용한다고 하니 기본적인 것은 꼭 알아두는 것이 좋을 것 같습니다. 여기에 있는 JSON형태의 데이터들을 가져올 것입니다. https://jsonplaceholder.typicode.com/posts/1 우선 Gradle에 다음과 같은 내용을 추가해 줍니다. //1 implementation 'com.squareup.retrofit2:retrofit:2.6.4' //2 implementation 'com.squareup.retrofit2:converter-gson:2.6.4' 1. Retrofit을 사용하겠다는 의미입니다. 2. JSON 데이터.. 더보기
안드로이드 RxJava #8 RxJava 연산자-(결합) 안녕하세요 이번 시간에는 결합하는 연산자에 대해 알아보겠습니다. 여러 Observable 들은 결합 하여 하나의 Observable을 생성하는 연산자입니다. combineLatest Observable intSource = Observable.create((emitter -> { new Thread(() -> { for (int i = 1; i { new Thread(() -> { try { Thread.sleep(500); emitter.onNext("A"); Thread.sleep(700); emitter.onNext("B"); Thread.sleep(100); emitter.onNext("C"); Thread.sleep(700); emitter.onNext("D"); } catch (Interrup.. 더보기
안드로이드 RxJava #7 RxJava 연산자-(필터링) 안녕하세요 이번 시간에는 필터링하는 연산자에 대해 알아보겠습니다. Observable로부터 발행되는 아이템들을 선택적으로 발행하도록 하는 연산자입니다. debounce Observable.create(emitter -> { emitter.onNext("1"); Thread.sleep(3000); //3초 emitter.onNext("2"); emitter.onNext("3"); emitter.onNext("4"); emitter.onNext("5"); Thread.sleep(3000); emitter.onNext("6"); }) .debounce(1000, TimeUnit.MILLISECONDS) //1초 .subscribe(System.out::println); 특정 시간 동안 다른 아이템이 발행되지 .. 더보기
안드로이드 RxJava #6 RxJava 연산자-(변형) 안녕하세요 이번 이간에는 RxJava에서 Observable을 변형하는 연산자에 대해 알아보겠습니다. map Observable intSrc = Observable.just(1, 2, 3); Observable stringSrc = intSrc.map(i -> i *10); stringSrc.subscribe(item -> System.out.println(item)); 발행되는 값에 대해 원하는 수식을 적용하거나 다른 타입으로 변환시킬 수 있다. 다음은 Integer값을 String으로 변형한 것이다. Observable intSrc = Observable.just(1, 2, 3); Observable stringSrc = intSrc.map(i -> String.valueOf(i)); stringSr.. 더보기
안드로이드 RxJava #5 마블 다이어그램, RxJava 연산자-(생성) 안녕하세요 이번 시간에는 마블다이어그램 보는 방법과 RxJava 연산자에 대해 알아보겠습니다. 마블 다이어그램 1. Observable의 타임 라인, 왼쪽에서 오른쪽으로 시간이 흐름을 의미한다. 2. Observable이 순차적으로 발행하는 데이터를 의미한다. 3. Observable이 정상적으로 완료됨을 의미한다. 4. 점선과 박스는 Observable의 변형을 의미하며, 박스 안의 텍스트(filp)가 변형의 종류를 의미한다. 5. Observable의 변형 결과를 의미한다. 6. 만약 Observable이 정상적으로 종료되지 않았다면 X 표시와 함께 에러를 나타낸다. 안드로이드 RxJava #2에서 배운 create()를 마블 다이어그램으로 표현하면 다음과 같다. Observable source = .. 더보기
안드로이드 RxJava #4 Disposable 안녕하세요 이번 시간에는 Disposable에 대해 알아보겠습니다 RxJava #2에서 onComplete()를 통해 데이터 발행이 끝났음을 알렸습니다. Disposable도 비슷한 역할을 합니다. 데이터 발행을 언제 까지 할 건지 알고 있는 상황에서는 onComplete()를 이용하면 됩니다. 하지만 무한하게 아이템을 발행하거나 오랫동안 실행되는 Observable의 경우에는 사용자의 액션 또는 안드로이드 컴포넌트 생명주기와 관련해서 이미 활성화되었다면 구독이 더는 필요하지 않을 수 있다. 이럴 때는 메모리 누수 방지를 위해 명시적인 폐기 dispose가 필요하다. disposable.dispose(); 메서드를 호출하면 언제든지 아이템 발행을 중단할 수 있다. https://adc6981.tistor.. 더보기
안드로이드 RxJava #3 Cold Observable, Hot Observable 안녕하세요 이번 시간에는 Cold Observable과 Hot Observable에 대해 알아보겠습니다. Observable을 구현하는 방식에는 2가지가 있습니다. 미묘한 차이지만 전혀 다른 결과를 보여줍니다. Cold Observable과 Hot Observable가 있습니다. Cold Observable는 처음부터 발행된 아이템을 구독한다. Hot Observable는 아이템이 발행된 이후 모든 구독자에게 동시에 같은 아이템을 발행한다. 예를 들어 설명하면 Cold Observable 는 유튜브 동영상을 재생하는 것처럼, 구독을 요청하면 아이템을 발행한다. Hot Observable 는 유튜브 라이브 방송을 시청하는 것처럼, 아이템 발행이 시작된 이후 모든 구독자에게 동시에 같은 아이템을 발행한다. .. 더보기

반응형