安卓OKhttp請求封裝


  目前安卓開發中使用的網絡工具為OKhttp,但是okhttp的使用還不是很方便,在okhttp的基礎上再對請求進行封裝會極大的方便網絡調用。

  下面直接上代碼。

請求封裝

public class HttpUtil {
    public static void sendOKHttpRequest(String address, Map<String,String> head,Map<String,String> body,okhttp3.Callback callback){
        OkHttpClient client=new OkHttpClient();
        Request.Builder builder=new Request.Builder().url(address);
        if(head!=null&&head.size()>0){
            for (Map.Entry<String, String> entry : head.entrySet()) {
                builder.addHeader(entry.getKey(),entry.getValue());
            }
        }
        FormBody.Builder formBody = new FormBody.Builder();
        if(body!=null&&body.size()>0){
            for (Map.Entry<String, String> entry : head.entrySet()) {
                formBody.add(entry.getKey(),entry.getValue());
            }
        }
        RequestBody requestBody = formBody.build();
        Request request=builder.post(requestBody).build();
        client.newCall(request).enqueue(callback);
    }
}

上面對okhttp的put請求進行了簡單封裝,四個參數分別是

  1.請求地址

  2.請求頭,以map的形式傳入,如不需要可傳入null

  3.攜帶參數,同樣以map的形式傳入,如無參數傳入null

  4.回調函數

代碼中調用

  

     Map<String,String> body=new HashMap<String, String>();
     body.put("userName",loginName);
     body.put("password",password);

    HttpUtil.sendOKHttpRequest(getString(R.string.ip)+"/xxx/Login",null,body,new Callback(){ @Override public void onFailure(Call call, IOException e) { //請求失敗 } @Override public void onResponse(Call call, Response response) throws IOException { final String responseText=response.body().string(); //請求成功 } });

注意Callback為OKhttp下的,引入時需注意。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM