Volley 전송 네트워크 데이터 사용
Volley 안 드 로 이 드 앱 이 네트워크 작업 을 더욱 편리 하 게 수행 할 수 있 도록 도와 주 는 HTTP 라 이브 러 리 입 니 다.가장 중요 한 것 은 더욱 빠 르 고 효율 적 입 니 다.오픈 소스 를 통과 할 수 있어 요.
AOSP 창고 에서 Volley 를 가 져 옵 니 다.
Volley 는 다음 과 같은 장점 이 있 습 니 다. 자동 스케줄 링 네트워크 요청.고 병발 네트워크 연결.표준 HTTP 의 cache coherence(고속 캐 시 일치 성)를 통 해 디스크 와 메모리 캐 시 를 보이 지 않 게 합 니 다(Transparent).지정 한 요청 의 우선 순 위 를 지원 합 니 다.이미 보 낸 요청 을 취소 하 는 것 을 지원 합 니 다.하나의 요청 을 취소 하거나 취소 요청 대기 열 에 있 는 영역 을 지정 할 수 있 습 니 다. 프레임 워 크 는 맞 춤 형 으로 제작 되 기 쉽다.예 를 들 어 맞 춤 형 재 시도 나 리 턴 기능 이다. 강력 한 명령(Strong ordering)은 네트워크 데 이 터 를 비동기 로 불 러 오고 UI 에 표시 하 는 작업 을 더욱 간단하게 할 수 있 습 니 다.Debugging 과 tracing 도 구 를 포함 합 니 다. Volley 는 검색 결 과 를 가 져 오 는 등 UI 를 표시 하 는 RPC 작업 을 잘 수행 합 니 다.모든 프로 토 콜 을 쉽게 통합 하고 작업 결과 의 데 이 터 를 출력 합 니 다.raw strings 일 수도 있 고 images 일 수도 있 으 며 JSON 일 수도 있 습 니 다.내 장 된 기능 을 제공 함으로써 볼 리 는 샘플 을 반복 하지 않도록 할 수 있 습 니 다. 코드 는 app 의 기능 논리 에 관심 을 가 질 수 있 도록 합 니 다. 볼 리 는 큰 데이터 파일 을 다운로드 하 는 데 적합 하지 않다.볼 리 는 분석 과정 에서 모든 응답 데 이 터 를 메모리 에 저장 하기 때문이다.대량의 데 이 터 를 다운로드 하 는 작업 에 대해 서 는 DownloadManager 를 사용 하 는 것 을 고려 하 십시오. Volley 프레임 워 크 의 핵심 코드 는 AOSP 창고 에 위탁 관리 되 는 frameworks/volley 입 니 다. 도구 상자 내리다Volley 를 프로젝트 에 추가 하 는 가장 간편 한 방법 은 Clone 창고 입 니 다.그리고 library procject 로 설정 합 니 다.아래 명령 을 통 해 Clone 창고:git clonehttps://android.googlesource.com/platform/frameworks/volley
1.간단 한 네트워크 요청 보 내기(Sending a Simple Request)
Volley 를 사용 하 는 방식 은 RequestQueue 를 만 드 는 것 입 니 다. 요청 전달 대상 을 주다.RequestQueue 관리 작업 스 레 드 는 네트워크 작업 을 수행 하고 Cache 에서 데 이 터 를 읽 고 기록 하 며 Http 의 응답 내용 을 분석 하 는 데 사 용 됩 니 다.Requests raw responses 의 분석 을 실행 하면 Volley 는 응답 한 데 이 터 를 메 인 스 레 드 에 나 누 어 줍 니 다.
(1) Volley 를 사용 하기 위해 서 는 android.permission.INTERNET 을 추가 해 야 합 니 다. manifest 파일 에 권한 을 부여 합 니 다.이 권한 이 없 으 면 앱 이 네트워크 에 접근 할 수 없습니다. (2)볼 리 는 Volley.newRequestQueue 라 는 간단 한 방법 을 제공 했다. RequestQueue 를 만 드 는 데 사용 합 니 다. ,기본 값 을 사용 하고 이 대기 열 을 시작 합 니 다.예 를 들 면:
final TextView mTextView = (TextView) findViewById(R.id.text);
...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
mTextView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
Volley 는 항상 분석 한 데 이 터 를 메 인 스 레 드 로 되 돌려 줍 니 다.주 스 레 드 에 서 는 UI 컨트롤 을 조작 하기 위해 받 은 데 이 터 를 사용 하 는 것 이 더 적합 합 니 다.
대응 하 는 handler 에서 UI 를 쉽게 수정 하지만 라 이브 러 리 에 제공 하 는 다른 방법 은 취소 와 관련 된 것 입 니 다.
요청 대기 열 을 만 드 는 방법 에 대해 서 는 Volley.newRequestQueue 방법 을 사용 하지 마 십시오.요청 대기 열 을 만 드 는 Setting Up a 를 보십시오.
RequestQueue。
요청 을 보 내기 위해 서 는 하나의 요청 을 만 들 고 add()를 통 해 방법 을 RequestQueue 에 추가 맞다이 요청 을 추가 하면 팀 을 통과 합 니 다.
열,처 리 를 받 은 후 원본 응답 데 이 터 를 얻 고 되 돌려 줍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.