Volley と HttpEntity の不在によるマルチパート POST リクエスト
Android API22 では、HttpEntity は非推奨となり、API23 で完全に削除されました。この記事では、HttpEntity を使用せずに Volley を使用して POST マルチパート リクエストを実装するための実用的なサンプルを提供します。提案されたソリューションは、Asp.Net Web API でテストされます。
実装の詳細
コードは、
MultipartActivity の 2 つのクラスで構成されます。 java:
MultipartRequest.java:
追加機能
テキストの追加パーツ:
提供されたコードで示唆されているように、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 中国語 Web サイトの他の関連記事を参照してください。