안드로이드 restful 예제

Posted on

3. 우리는 네트워크 작업인 TMDB API를 쿼리할 것이기 때문에 AndroidManifest.xml 파일에 인터넷 권한을 추가해야합니다 : 3. 이와 같은 AndroidManifest.xml 파일에 인터넷 권한을 추가하는 것을 잊지 마십시오 HTTP 응답을 캐시하는 것이 좋습니다. . 이렇게 하면 앱의 대역폭 소비를 줄일 수 있을 뿐만 아니라 응답성이 향상됩니다. API 수준 13 이후부터 Android SDK는 HttpResponseCache라는 클래스를 제공하므로 네트워킹 논리를 변경하지 않고 캐싱을 쉽게 구현할 수 있습니다. 이 문서에서는 제3자 라이브러리를 사용하여 Android에서 간단한 API 호출을 쉬운 방법으로 만드는 방법을 단계별로 보여 줄 것입니다. 첫 번째 부분에서는 Retrofit 및 Gson을 사용하여 API 호출 자체를 처리합니다. 두 번째 부분에서는 RxJava를 사용하여 간결하고 우아한 방법으로 우리의 삶을 더욱 단순하게 만들고 비동기를 처리하는 방법을 살펴보겠습니다. 우리 대부분은 새로운 정보에 대한 열렬한 욕구를 개발했습니다, 인터넷은 우리의 삶의 중요한 부분인 무엇. 우리의 주의 집중 기간도 그 어느 때보 다 짧기 때문에 콘텐츠가 정적인 Android 응용 프로그램을 빌드하는 것은 나쁜 생각이 될 수 있습니다. 대신 사용자가 콘텐츠를 열 때마다 새 콘텐츠를 표시할 수 있는 응용 프로그램을 빌드하는 것이 좋습니다.

안드로이드 SDK에는 JsonReader라는 클래스가 있어 JSON 문서를 쉽게 구문 분석할 수 있습니다. InputStreamReader 개체를 생성자로 전달하여 JsonReader 클래스의 새 인스턴스를 만들 수 있습니다. Android 플랫폼은 응용 프로그램의 주 스레드에서 네트워크 작업을 실행할 수 없습니다. 따라서 모든 네트워킹 코드는 백그라운드 스레드에 속해야 합니다. 이러한 스레드를 만드는 가장 쉬운 방법은 AsyncTask 클래스의 execute() 메서드를 사용하는 것입니다. 유일한 인수인 execute()는 Runnable 개체를 기대합니다. 우리는 거의 거기에 있습니다 – 우리는 우리가 원하는 데이터를 얻었고, 우리는 잠재적 인 혼란을 정리하는 우리의 집안일을했습니다. 그러나 우리는 여전히 비동기성을 다루지 않았습니다. 네트워킹OnMainThread 예외는 여전히 throw됩니다. 이제 어려운 부분이 온다, 당신은 생각해야합니까? 설마.

RxAndroid 라이브러리 덕분에 RxJava는 Android 스레드를 인식할 수 있으므로 두 줄의 코드를 추가하기만 하면 됩니다. 양 당사자는 통신을 위해이 튜토리얼의 경우와 같이 데이터 전송 형식이 JSON이 될 것이라고 동의 할 수 있습니다.