또한 작업자 스레드에서 콜백을 디스패치하는 OkHttp는 Retrofit의 콜백이 주 스레드에서 디스패치됩니다. UI 업데이트는 기본 스레드에서만 수행할 수 있으므로 Retrofit에서 사용하는 접근 방식을 사용하면 보기를 쉽게 변경할 수 있습니다. Retrofit 2기본적으로 OkHttp를 네트워킹 계층으로 활용하고 그 위에 구축됩니다. API에 네트워크 요청을 보내려면 Retrofit 빌더 클래스를 사용하고 서비스의 기본 URL을 지정해야 합니다. 이 섹션에서는 SimpleXMLConverter의 도움을 받아 XML 응답을 변환하기 위한 Retrofit의 사용에 대해 설명합니다. 이 연습에서는 Retrofit을 사용하여 Android 응용 프로그램에서 사용자의 모든 GitHub 리포지토리를 나열하는 방법을 설명합니다. 드롭다운 필드에서 리포지토리를 선택하고 선택한 리포지토리에 대해 사용자에게 할당된 문제를 나열할 수 있습니다. 이 어댑터를 적용하면 Retrofit 인터페이스는 RxJava 2.x 유형(예: 관찰 가능, 유동성 또는 단일 등)을 반환할 수 있습니다. 현재 이 티켓에서 추적된 Retrofit 2 통과 린트 테스트에 알려진 문제가 있습니다.

특히 라이브러리에 패키지 참조가 표시될 수 있습니다. 안드로이드에 포함되지 않습니다 : 자바.nio.file. 오키오에서 참조. 오키오. 또는 라이브러리의 잘못된 패키지 참조; 안드로이드에 포함되지 않습니다 : 자바.lang.invoke. 개조에서 참조. Platform.Java8.. 개조는 필요한 객체를 구성하기위한 편리한 빌더를 제공합니다. 모든 서비스 호출에 사용할 기본 URL과 변환기 팩터리(converter factory)가 필요하며, 이 URL은 우리가 보내는 데이터의 구문 분석과 우리가 받는 응답을 처리합니다. 이제 런타임 중에 이 인터페이스를 사용하려면 Retrofit 개체를 빌드해야 합니다.

에뮬레이터에서 작동하는 업데이트된 코드를 rve. 이제 우리는 멈출 수 없습니다! 그리고 그에 의해 우리는 Retrofit 2가 제공하는 것을 조사 할 준비가되어 있음을 의미합니다. 우리는 Retrofit 라이브러리와 Gson 변환기를 추가하여 시작합니다 : 오늘, 나는 그것이 내 응용 프로그램에 얼마나 유익한 대 얼마나 복잡한 볼 자바와 안드로이드에 대한 Retrofit 2 HTTP 클라이언트를 사용하여 살펴 보겠습니다. Retrofit은 Square Inc가 오픈 소스 커뮤니티에 출시 한 놀라운 도구 중 하나입니다. Android 및 Java 응용 프로그램 모두에 적합한 HTTP 클라이언트입니다. 정적 메서드를 사용 하 여 RetrofitInterface 클래스의 인스턴스를 반환 하는 getAllPost()를 호출할 수 있습니다. 당신은 RxJava의 팬이라면, 당신은 쉽게 RxJava와 개조를 구현 할 수 있습니다. Retrofit 1에서는 기본적으로 통합되었지만 Retrofit 2에서는 몇 가지 추가 종속성을 포함해야 합니다.

호출 인스턴스를 실행하기 위한 기본 어댑터가 있는 경우 개조됩니다. 따라서 RxJava CallAdapter를 포함하여 RxJava를 포함하도록 Retrofit의 실행 메커니즘을 변경할 수 있습니다. Retrofit을 사용하여 REST API에 네트워크 요청을 발급하려면 Retrofit.Builder 클래스를 사용하여 인스턴스를 만들고 기본 URL로 구성해야 합니다. loadAnswers() 메서드는 enqueue()를 호출하여 네트워크 요청을 합니다.