Rumah >Java >javaTutorial >Bagaimana untuk Membuat Permintaan POST Berbilang Bahagian dengan Tampar dalam Android Selepas Pembuangan HttpEntity?

Bagaimana untuk Membuat Permintaan POST Berbilang Bahagian dengan Tampar dalam Android Selepas Pembuangan HttpEntity?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 18:17:12907semak imbas

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

Permintaan POST Berbilang Bahagian dengan Tampar dan Ketiadaan HttpEntity

Dalam API22 Android, HttpEntity telah ditamatkan dan dialih keluar sepenuhnya dalam API23. Artikel ini menyediakan sampel yang berfungsi untuk melaksanakan permintaan berbilang bahagian POST dengan Tampar tanpa HttpEntity. Penyelesaian yang dicadangkan diuji dengan API Web Asp.Net.

Butiran Pelaksanaan

Kod ini terdiri daripada dua kelas:

MultipartActivity. java:

  1. Menghuraikan fail boleh dilukis menjadi bait tatasusunan.
  2. Membina badan permintaan berbilang bahagian dengan tatasusunan bait.
  3. Mencipta objek MultipartRequest dan menambahkannya pada baris gilir permintaan.

MultipartRequest. java:

  1. Melanjutkan kelas Permintaan dan melaksanakan kaedah yang diperlukan.
  2. Mengendalikan pengepala permintaan, jenis kandungan dan kandungan.
  3. Menghuraikan respons rangkaian dan menyampaikannya kepada pendengar.

Ciri Tambahan

Menambah Teks Bahagian:

Seperti yang dicadangkan dalam kod yang disediakan, seseorang boleh menambah bahagian teks pada permintaan berbilang bahagian menggunakan kaedah getParams():

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

Kod Modular untuk Kebolehgunaan Semula :

Untuk meningkatkan kebolehgunaan semula, kod tersebut telah difaktorkan semula:

class VolleyMultipartRequest extends Request<NetworkResponse>  {

    // ... other methods

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

Contoh Penggunaan:

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() {
        // ...
    }
};

Atas ialah kandungan terperinci Bagaimana untuk Membuat Permintaan POST Berbilang Bahagian dengan Tampar dalam Android Selepas Pembuangan HttpEntity?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn