분류 전체보기
-
ReactiveX와 Retrofit 같이 쓰기!Android/RxJava 2019. 6. 18. 15:24
Retofit의 Call 부분을 다시 되집어 보면 onFailure와 OnResponse가 있다 어디선가 많이 본 형식인데 맞다 ReactiveX와 비슷하게 생겼다! 즉슨! 그말은 RxJav와 Retrofit을 함께 쓸 수 있지 않을까..? 오늘은 두가지 방법으로 구현을 해볼 것이다 1. 직접 코딩 2. 라이브러리 사용 Gradle Dependency // reactive implementation 'io.reactivex.rxjava2:rxjava:2.2.6' // retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' implemen..
-
JSON 라이브러리 Gson과 Jackson - Gson편Android/Json 2019. 6. 18. 13:38
앞서 jackson을 어떻게 사용해야 하는가에 대해서 탐구해 보았는데 이번은 gson에 대해서 탐구를 해보겠다 Gson Site : https://github.com/google/gson Gson은 Java Object를 JSON 표현으로 변환하는 데 사용할 수있는 Java 라이브러리 또한 JSON 문자열을 동등한 Java 객체로 변환하는 데 사용할 수 있다. Gson은 소스 코드가없는 기존 오브젝트를 포함하여 임의의 Java 오브젝트에 대해 작업 할 수 있다. Gradle Dependency implementation 'com.google.code.gson:gson:2.8.5' 1. POJO ( Plain Old Java Object ) 생성 enum class Gender { Male, Female;..
-
ReactiveX - Schdulers 도대체 뭘 사용해야 할까?Android/RxJava 2019. 6. 18. 10:17
Rx에서 Observer와 Subscribe의 스케쥴 즉, 동작하는 Thread를 정해줄 수 있다. Android의 View을 건들이는 부분이면 AndroidSchedulers.mainThread()를 사용하면 된다지만 Observer는? 아무것도 지정해주지 않았을때는 뭐가 작동되는데? 이러한 궁금증이 생겨 포스팅을 시작한다. 먼저 RxJava2의 Schedulers을 디컴해보면 아래와 같이 나온다. static final Scheduler SINGLE; static final Scheduler COMPUTATION; static final Scheduler IO; static final Scheduler TRAMPOLINE; static final Scheduler NEW_THREAD; 총 5가지의 S..
-
웹서버의 데이터를 받아오자! Retrofit2Android/Network 2019. 6. 17. 22:58
이번시간은 Retrofit2! 어디선가 들어보았다... MVVM할때 많은 예제들이 Retrofit2을 사용한 것을 보았다. Retrofit2는 REST통신을 위한 클라이언트 라이브러리다! 기존에는 아파치를 사용하였는데 왜 이걸 사용해야 하는지는 아래 사진 한장으로 설명 Apache HTTP 클라이언트 사망선고를 맞아서 그에 맞는 Retrofit으로 갈아타야 된다. HttpURLConnection은 코드량이 어마무시하게 늘어난다. 그래서 Retrofit 이라는 걸 사용하는데 ( 물론 Volley도 있다 ) 아래에서 한번 다루어 보도록 하겠당 사전에 알아보는 REST ( 정리가 매우 잘 되어 있습니다 ) https://meetup.toast.com/posts/92 REST API 제대로 알고 사용하기 : T..
-
ReactiveX가 뭐야? ( 기본편 - RxJava )Android/RxJava 2019. 6. 17. 09:53
Reactive가 뭘까? 네이버 사전적 의미로 reactive는 반응을 하다라는 뜻을 가지고 있다. Reactive를 알기위해서는 비동기와 이벤트 기반의 프로그래밍을 먼저 알아야 한다. 비/동기 기반 프로그래밍은 sync ( 동기 ) / async ( 비동기 ) 가 있는데, 동기적 일처리 방식은 순차적으로 일을 스스로 끝내 나가는 방식이고 비동기적 일처리 방식은 해야할 일을 위임하고 기다리는 방식이다. 아래 코드를 살펴보자 ( ※ 안드로이드 스튜디오에서 코틀린으로 작성하였습니다. ) [ Tip ] 아래와 같은 로그관련 확장함수를 만들었습니다. fun Any.log(tag: String) { Log.d(tag, this.toString()) } 동기(sync)적 [ 코드 ] fun sync() { 1.lo..
-
JSON 라이브러리 Gson과 Jackson - Jackson 편Android/Json 2019. 6. 16. 23:48
앞서 Json 어떤 라이브러리를 사용해야 하는가에 대해서 탐구해보았는데 gson와 jackson이 저/대용량에서 좋은 성능을 보여 어떤식으로 사용해야 하는지 간단하게 알아보도록 하자 IntelliJ에서 Kotlin으로 테스트를 해보았다. Jackson Site : https://github.com/FasterXML/jackson Json 뿐만 아니라 XML/YAML/CSV 등 다양한 형식의 데이타를 지원하는 data-processing 툴 스트림 방식이므로 속도가 빠르며 유연하며 다양한 third party 데이타 타입을 지원한다. Gradle Dependency implementation "com.fasterxml.jackson.core:jackson-core:2.9.9" implementation "..
-
JSON 어떤 라이브러리를 사용해야 할까?Android/Json 2019. 6. 16. 20:56
개발하는 많은 REST API는 응답 데이터 포맷을 JSON으로 선택한다. ( Git hub API만 보아도 알 수 있다시피.. ) REST API에 데이터 요청을 보내 값이 돌아오면 값을 파싱하여야 한다. 파싱을 하기 위해서는 역직렬화 ( deserialization ) 과정이 필요하다. 현재 굉장히 많은 자바 JSON 라이브러리가 존재하는데 어떤것을 사용해야 하는지 감이 오지 않는다. https://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-available-today.html Top 7 Open-Source JSON-Binding Providers Available Today - Developer.com Top 7..