만약 당신이 안 드 로이드 개발자 아마 기억, 향수의 작은 금액없이, 처음으로 발생 하는 NetworkingOnMainThread 예외. 비동기는 안드로이드 플랫폼의 주요 원동력 중 하나이며, 아직, SDK에서 제공하는 라이브러리는 항상 그것을 다루는에 관해서 다소 부족했다. 수동으로 RESTful API의 모든 종류를 다루는 지루한 작업과 결합, 당신은 곧 분리 된 코드 조각, 반복 루프와 혼란 콜백으로 만든 지옥에 자신을 찾을 수 있습니다. 우리는 거의 거기에 있습니다 – 우리는 우리가 원하는 데이터를 얻었고, 우리는 잠재적 인 혼란을 정리하는 우리의 집안일을했습니다. 그러나 우리는 여전히 비동기성을 다루지 않았습니다. 네트워킹OnMainThread 예외는 여전히 throw됩니다. 이제 어려운 부분이 온다, 당신은 생각해야합니까? 설마. RxAndroid 라이브러리 덕분에 RxJava는 안드로이드 스레드를 인식 할 수 있으므로 두 줄의 코드를 추가하기만 하면 됩니다. 이제 안드로이드 스튜디오를 사용하여 안드로이드 응용 프로그램을 만들 수 있습니다.

응용 프로그램은 “영화 DB”웹 사이트에서 영화 세부 사항을 가져 와서 안드로이드 클라이언트 RecyclerView 활동에 이러한 세부 사항을 표시하는 Retrofit을 사용합니다. 그리고 그것에 대해 그것을 다룹니다. 우리는 중고 라이브러리의 내부 작업에 많은 가지 않고 우리가 하기로 한 일을 했습니다. Retrofit과 RxJava 모두 놀라운 도구이며,이 기사는 그들이 할 수있는 빙산의 끝을 엿볼 수 있습니다. 그럼에도 불구하고, 그것은 당신의 관심을 자극하고 표면 아래 파고 동기를 부여하는 데 성공한다면 우리는 그것을 잘 쓰는 시간을 고려할 것입니다. 저장소를 로드하고 주석을 보낼 단추 두 개, 두 개의 스피너(리포지토리 및 문제를 나열하는 드롭다운 필드) 및 EditText(주석 제공)가 추가됩니다. 자격 증명을 시작하려면 Android 도구 모음의 메뉴가 사용됩니다. 하나를 만들려면 menu 리소스 폴더에 menu_main.xml이라는 xml 메뉴 파일을 추가합니다(폴더가 없는 경우 만들기).

요청에 사용자 에이전트 헤더를 추가하려면 HttpURLConnection 개체의 setRequestProperty() 메서드를 사용해야 합니다. 예를 들어 사용자 에이전트 헤더를 내 휴식 앱-v0.1로 설정하는 방법은 다음과 같습니다. 예를 들어 다음 코드를 사용하여 “a” 및 “b” 인수에 의해 지정된 두 숫자의 합계를 반환하는 작업을 호출할 수 있습니다. 정적 mapOf() 및 entry()메서드는 인수 맵 생성을 단순화하기 위해 WebServiceProxy 클래스에서 제공됩니다: REST 클라이언트는 클라이언트 측(Android)에서 HTTP 요청을 REST API에 요청하는 데 사용되는 Retrofit 라이브러리입니다. 또한 응답을 처리합니다.