Android網路請求框架 okHttp3

2021-07-28 14:36:14 字數 2165 閱讀 4166

最新的okhttp依賴可以到官方的github上去新增。

直接進入主題:

// 1、拿到okhttpclient物件

// 2、構造request

//request是構造者模式,所以使用的時候要.builder

request.builder builder=new request.builder();

request reqyest=builder.get().url("").build();

// 3、將request封裝為call

// 4、執行call

/* response response=call.execute(); //直接執行 需要丟擲異常*/

call.enqueue(new callback()

@override

public

void

onresponse(call call, response response) throws ioexception

});

最後在manifests中開啟網路許可權即可使用get請求請求網路資料了。

get請求頭的格式:

例: url+」login?username=chengdu&password=123456」

post請求大體步驟和get請求差不多,具體如**所示

//獲得乙個功能強大的formbody表單

requestbody formbody=new formbody.builder()

.build();

//2.構造request

request.builder builder=new request.builder();

request request=builder.url("").post(formbody).build();

// 3、將request封裝為call

executerequest(request);

requestbody的資料格式都要指定content-type,常見的有三種:

multipart/form-data 資料裡有檔案

之後還要加上 charset=utf-8

post json例子

public

void

postjson()

post 上傳乙個

public

void

postfile()

//獲得乙個formbody表單

requestbody requestbody=requestbody.

create(mediatype.parse(

//2.構造request

request.builder builder=new request.builder();

request request=builder.url("").post(requestbody).build();

// 3、將request封裝為call

executerequest(request);

}

public

void

downloadfile()

@override

public

void

onresponse(call call, response response) throws ioexception

fos.flush();

fos.close();

inputstream.close();

}});

public

void

downloadsetimage()

@override

public

void

onresponse(call call, response response) throws ioexception

});}

});}

Android網路請求框架剖析一 Okhttp

封裝後的使用方式請直接跳轉上述鏈結。首先引入 as兩種引入方法說了很多遍了其實效果一樣 在gradle裡dependencies新增 然後sync或者rebuild一下 然後使用 get 獲取乙個網頁的內容。建立okhttpclient物件 建立乙個request request.builder設定...

retrofit網路請求框架

android studio可引用gradle compile 整合retrofit compile com.squareup.retrofit2 retrofit 2.1.0 首先建立乙個inte ce請求介面 註解對應的包如下 import retrofit2.http.path 以下請求介面 ...

Android非同步網路請求

安卓4.0版本以上不允許在主線程中進行網路請求,如果在主線程進行網路請求,會造成頁面假死,甚至程式異常。因此需要開乙個新執行緒來進行網路請求 開乙個新執行緒 new thread new runnable catch exception e start handler mhandler new ha...