>Java >java지도 시간 >HttpEntity를 제거한 후 Android에서 Volley를 사용하여 멀티파트 POST 요청을 만드는 방법은 무엇입니까?

HttpEntity를 제거한 후 Android에서 Volley를 사용하여 멀티파트 POST 요청을 만드는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-30 18:17:12923검색

How to Make Multipart POST Requests with Volley in Android After HttpEntity's Removal?

Volley를 사용한 멀티파트 POST 요청 및 HttpEntity 부재

Android API22에서 HttpEntity는 더 이상 사용되지 않으며 API23에서 완전히 제거되었습니다. 이 문서에서는 HttpEntity 없이 Volley를 사용하여 POST 멀티파트 요청을 구현하는 작업 샘플을 제공합니다. 제안된 솔루션은 Asp.Net Web API로 테스트되었습니다.

구현 세부 정보

코드는 두 클래스,

MultipartActivity로 구성됩니다. java:

  1. 드로어블 파일을 구문 분석합니다.
  2. 바이트 배열로 멀티파트 요청 본문을 구성합니다.
  3. MultipartRequest 객체를 생성하여 요청 대기열에 추가합니다.

MultipartRequest.java:

  1. 요청 클래스를 작성하고 필요한 메소드를 구현합니다.
  2. 요청 헤더, 콘텐츠 유형, 본문을 처리합니다.
  3. 네트워크 응답을 구문 분석하여 리스너에게 전달합니다.

추가 기능

텍스트 추가 부분:

제공된 코드에서 제안된 대로 getParams() 메서드를 사용하여 멀티파트 요청에 텍스트 부분을 추가할 수 있습니다.

@Override
protected Map<String, String> getParams() {
    Map<String, String> params = new HashMap<>();
    params.put("param1", "value1");
    params.put("param2", "value2");
    return params;
}

재사용을 위한 모듈형 코드 :

재사용성을 높이기 위해 코드가 리팩토링됨:

class VolleyMultipartRequest extends Request<NetworkResponse>  {

    // ... other methods

    @Override
    protected Map<String, DataPart> getByteData() {
        // ... code for adding byte parts
    }
}

사용 예:

VolleyMultipartRequest request = new VolleyMultipartRequest(Method.POST, url, new Response.Listener<NetworkResponse>() {
    // ... listener code
}, new Response.ErrorListener() {
    // ... error listener code
}) {
    @Override
    protected Map<String, String> getParams() {
        // ...
    }
    @Override
    protected Map<String, DataPart> getByteData() {
        // ...
    }
};

위 내용은 HttpEntity를 제거한 후 Android에서 Volley를 사용하여 멀티파트 POST 요청을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.