OkHttps 使用 HttpUtils 類

2020-04-29 09:35 更新

  類HttpUtils本是 前身 HttpUtils 的 1.x 版本里的最重要的核心類,由于在后來的版本里抽象出了HTTP接口,使得它的重要性已不如往昔。但合理的使用它,仍然可以帶來不少便利,特別是在沒有IOC容器的環(huán)境里,比如在Android開發(fā)和一些工具項(xiàng)目的開發(fā)中。

  類HttpUtils共定義了四個(gè)靜態(tài)方法:

  • of(HTTP http) 配置HttpUtils持有的HTTP實(shí)例(不調(diào)用此方法前默認(rèn)使用一個(gè)沒有沒有經(jīng)過任何配置的HTTP懶實(shí)例)
  • async(String url) 開始一個(gè)異步請求 (內(nèi)部通過一個(gè)HTTP單例實(shí)現(xiàn))
  • async() 開始一個(gè)異步HTTP任務(wù),使用該方法必須在構(gòu)建時(shí)設(shè)置 BaseUrl
  • sync(String url) 開始一個(gè)同步請求 (內(nèi)部通過一個(gè)HTTP單例實(shí)現(xiàn))
  • sync() 開始一個(gè)同步HTTP任務(wù),使用該方法必須在構(gòu)建時(shí)設(shè)置 BaseUrl
  • cancel(String tag) 按標(biāo)簽取消請求(內(nèi)部通過一個(gè)HTTP單例實(shí)現(xiàn))
  • cancelAll() 取消所有HTTP任務(wù),包括同步和異步(內(nèi)部通過一個(gè)HTTP單例實(shí)現(xiàn))
  • request(Request request) OkHttp 原生請求 (該請求不經(jīng)過 預(yù)處理器)
  • webSocket(Request request, WebSocketListener listener) WebSocket通訊   也就是說,能使用http實(shí)例的地方,都可以使用HttpUtils類,例如:

// 在配置HTTP實(shí)例之前,只能使用全路徑方式
List<Role> roles = HttpUtils.sync("http://api.demo.com/roles")
        .get().getBody().toList(Role.class);


// 配置HTTP實(shí)例,全局生效
HttpUtils.of(HTTP.builder()
        .baseUrl("http://api.demo.com")
        .build());


// 內(nèi)部使用新的HTTP實(shí)例
List<User> users = HttpUtils.sync("/users")
        .get().getBody().toList(User.class);

如果覺得 OkHttps 好用,就去點(diǎn)個(gè) Star 吧,項(xiàng)目地址:


官方網(wǎng)站:http://okhttps.ejlchina.com/

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號