Volley를 이용해 데이터 전송하기

Volley는 안드로이드 애플리케이션에서 쉽고 무엇보다 중요하게, 빠르게 네트워킹을 할 수 있도록 만드는 HTTP 라이브러리입니다. Volley는 Open AOSP repository에서 사용가능합니다.

Volley는 다음과 같은 이점들이 있습니다:

  • 자동 네트워크 요청 스케쥴링

  • 다중 동시성 네트워크 연결

  • 표준 HTTP 캐시 통일성 (Cache coherence)투명한 디스크, 메모리 반응성 캐싱

  • 요청 우선화(Priortization) 지원

  • 요청 API 취소. 단일 요청을 취소하거나, 여러개의 요청을 취소하기 위해 블록 또는 스코프를 정할 수 있습니다.

  • 쉬운 커스텀, 예를 들면 재시작, 백오프가 있습니다.(retry, backoff)

  • 강력한 정렬, 이것으로 네트워크에서 비동기적으로 불러온 데이터로 사용자 인터페이스를 쉽게 올바른 방식으로 구성할 수 있습니다.

디버깅과 추적 도구들.

//Cache Choherence 는 컴퓨터 구조에서 서로 다른 기기에서 공유되는 자료의 통일성을 의미합니다.(Wikipedia)

Volley는 구조화된 데이터 형태의 검색 결과 페이지를 불러와 사용자 인터페이스를 구성하는 RPC-Type에 탁월합니다. Volley는 어떠한 종류의 프로토콜도 순수 문자열, 이미지들 그리고 JSON과 같은 Out-of-box 타입과 함께 쉽게 통합할 수 있습니다. 내장 지원기능으로 Volley는 상용구의 코드들을 작성하ㄴㄴ 것 대신에 애플리케이션을 위한 로직에 집중할 수 있도록 해줍니다.

//RPC-Type(Remote Procedure call)은 다른 기기(일반적으로 공유되는 네트워크 상의 다른 컴퓨터)에서 진행 되는 작업이 원격 상호 작용(Remote Interaction)으로 들어나지 않고 마치 현재 기기에서 처리하는 것처럼 코딩되는 것을 의미합니다.

Volley는 커다란 크기의 다운로드 또는 스트리밍 작업에 적합하지 않습니다.왜냐하면 Volley는 변환과정에서 모든 메모리 반응을 차지 하기 때문입니다. 커다란 크기의 다운로드를 위해선, DownloadManager와 같은 대안을 고려해 보십시오.

Volley 라이브러리의 핵심은 frameworks/volley의 Open AOSP Repository 에 개발되어 있으며 Main request dispatch pipeline과 일반적으로 확장, 응용되는 기능들을 포함합니다. 이들은 Volley의 "toolbox"에서 사용가능합니다. 애플리케이션 프로젝트에 가장 쉽게 추가하는 방법은 아래에 따라 애플리케이션의 'build.gradle'에 의존성을 추가하는 것입니다.

dependencies {
    ...
    compile 'com.android.volley:volley:1.0.0'
}

또한 Volley의 저장소를 복제하고 라이브러리 프로젝트로 설정할 수 있습니다.

  • 아래의 커맨드로 저장소를 깃 복제(Git Clone)하십시오.
git clone https://android.googlesource.com/platform/frameworks/volley
  • 다운받은 소스를 당신의 애플리케이션 프로젝트에 안드로이드 라이브러리 모듈로서 추가하십시오. 적용법은 Create an Android Library에서 확인 가능합니다.

강좌들

간단한 요청 보내기

기본적인 Volley의 기능으로 간단한 요청을 보내는 법과 요청을 취소하는 방법을 다룹니다.

요청 큐(Requesting que) 사용하기

요청 큐(Request queue)를 설정하는 법과, 싱글톤 패턴으로 애플리케이션과 생명주기를 같이하는 요청 큐를 만드는 법을 다룹니다.

표준 요청 작성하기

순수 문자열, 이미지들 그리고 JSON과 같은 Out-of-box 타입을 이용해서 요청을 보내는 방법을 다룹니다.

커스텀 요청 사용하기

커스텀 요청을 적용하는 법을 다룹니다.

results matching ""

    No results matching ""