1. 程式人生 > >OkhttpUtils一個專注於讓網路請求更簡單的框架

OkhttpUtils一個專注於讓網路請求更簡單的框架

一句話概括,OkHttpUtils一個專注於讓網路請求更簡單的網路請求框架,對於任何形式的網路請求只需要一行程式碼。

使用方法:

  1. Json資料
    新建一個JsonCallBack類,用於處理返回的Json資料
public abstract class JsonCallback<T> extends Callback<T> {
    //需要Gson工具解析成某一個類
    private Class<T> mClass;
    //使用谷歌提供的Gson工具解析
    private Gson mGson;

    public JsonCallback(Class<T> clazz){
        mClass = clazz;
        mGson = new
Gson(); } @Override public T parseNetworkResponse(Response response) throws IOException { try { String jsonString = response.body().string(); return mGson.fromJson(jsonString, mClass); } catch (Exception e) { e.printStackTrace(); } return
null; } }

申請網路請求

private void getMusic(final int offset) {
        OkHttpUtils.get().url(Constants.BASE_URL)
                 //addParams("鍵","值")
                .addParams(Constants.PARAM_METHOD, Constants.METHOD_GET_MUSIC_LIST)
                .addParams(Constants.PARAM_TYPE, mListInfo.getType
()) .addParams(Constants.PARAM_SIZE, String.valueOf(Constants.MUSIC_LIST_SIZE)) .addParams(Constants.PARAM_OFFSET, String.valueOf(offset)) .build() .execute(new JsonCallback<JsonOnlineMusicList>(JsonOnlineMusicList.class) { @Override public void onResponse(JsonOnlineMusicList response) { //請求成功後回撥 //這時就獲得了JsonOnlineMusicList的物件response } @Override public void onError(Call call, Exception e) { //請求失敗後回撥 } }); }

2.下載檔案

if (!TextUtils.isEmpty(mJOnlineMusic.getLrclink()) && !lrcFile.exists()) {
            OkHttpUtils.get().url(mJOnlineMusic.getLrclink()).build()
                    .execute(new FileCallBack(FileUtils.getLrcDir(), lrcFileName) {
                        @Override
                        public void inProgress(float progress, long total) {
                        }

                        @Override
                        public void onResponse(File response) {
                        }

                        @Override
                        public void onError(Call call, Exception e) {
                        }

                        @Override
                        public void onAfter() {
                           //請求結束後回撥,無論網路請求成功還是失敗,都會呼叫,可以用於關閉顯示對話方塊

                       }
           });
     }

3.下載Bitmap

OkHttpUtils.get().url(picUrl).build()
                    .execute(new BitmapCallback() {
                        @Override
                        public void onResponse(Bitmap bitmap) {

                        }

                        @Override
                        public void onError(Call call, Exception e) {

                    });
        }

相關推薦

OkhttpUtils一個專注網路請求簡單框架

一句話概括,OkHttpUtils一個專注於讓網路請求更簡單的網路請求框架,對於任何形式的網路請求只需要一行程式碼。 使用方法: Json資料 新建一個JsonCallBack類,用於處理返

OkGO一個專注網路請求簡單框架

1.支援的常用功能 一般的 get,post,put,delete,head,options請求基於Post的大文字資料上傳,postString(),postJson()等多檔案和多引數統一的表單上傳(允許監聽上傳進度)支援一個key上傳一個檔案,也可以一個Key上傳多

Android Retrofit使用指南,網路請求簡單

Retrofit與okhttp都是Square公司的出品,Retrofit是對okhttp做了一層封裝,只要簡單的配置,就可以是用Retrofit。 github地址: Gradle依賴: c

使用Retrofit和Rxjava你的網路請求簡單

去年的時候好多公司就已經使用Rxjava和Retrofit了,最近自自己學習了一下,感覺真的是很好用,讓自己的網路請求變得更簡單了,而且封裝性極強。 首先做一下準備工作,匯入需要引用的檔案 compile 'com.android.support:appco

基於axios的vue插件,http請求簡單

是否 用戶 this The pack ces ins 地址 logs ajax-plus 基於axios 的 Vue 插件 如何使用 npm 模塊引入 首先通過 npm 安裝 ```npm install --save ajax-plus or yarn add ajax

VEFX維億:15年專注金融服務,投資可以簡單

  當前,股指期貨行業監管機制漸趨完善,風險防範持續加碼,平臺資金託管成為股指期貨行業關注的重中之重,作為中國比較早的一批股指期貨平臺,VEFX維億股指期貨平臺很早就開始提供中文服務開始,就致力於為客戶提供安全可信賴的股指期貨交易平臺。   VEFX維億股指期貨資金安全託管,交易更加放心   據瞭解,VE

Android---優化下載網路訪問高效(一)

使用無線傳輸資料是你的應用程式潛在的最大的電池電量消耗源。要減少網路活動的電池電量的消耗,關鍵是要理解連線模式是如何影響底層的無線硬體的。 本文介紹無線狀態機,並解釋應用程式的連線模式如何跟它互動。為了減少資料傳輸的電池消耗,使用預提取和繫結傳輸的方式,來降低資料連線。

自己動手寫一個輕量級的Android網路請求框架

最近有空在看《App研發錄》一書,良心之作。書中第一部分第二章節講了不少關於網路底層封裝的知識,看後覺得學到了不少乾貨。 索性自己也動手完成了一個非常輕量級的網路請求框架,從該書中獲得了不少幫助。特此記錄,回顧一下思路,整理收穫。OK,一起來看。 就如書中所

Retrofit + RxJava + OkHttp 網路請求變的簡單-封裝篇

前面一篇文章講了一下Retrofit+ RxJava 請求網路的一些基本用法,還沒有看過的可以去看一下Retrofit + RxJava + OkHttp 讓網路請求變的簡單-基礎篇,正如標題所說的,Retrofit+RxJava 是讓我們的網路請求變得簡單,程式碼精簡

android 設計一個簡易的Http網路請求框架

    一.開發初衷:最近專案中需要用到版本升級這一塊,需要用到一些基本的資料請求與檔案下載功能。之前做專案都是用別人的網路框架,類似retrofit 、 okhttp、 fresco等框架,用的多了,發現這幾個網路請求框架,無非都是 按解決以下幾個問題為導向的:   1

android -------- OkGo (網絡請求簡單框架)

功能 過期 pat ada 上傳下載 ast xutils 隊列 trac 項目地址:https://github.com/jeasonlzy 該庫是封裝了okhttp的網絡框架,可以與RxJava完美結合,比Retrofit更簡單易用。支持大文件上傳下載,上傳進度回

ImageSharp一個專注NetCore平臺影象處理的開源專案

今天大家分享的是一個專注於NetCore平臺影象處理的開源專案,老實說為這篇文章取名字想了5分鐘,可能是詞窮亦或是想更好的表達出這款開源專案的作用;這個專案在影象處理方面有很多功能,如:縮放,裁剪,繪畫,組合圖片等;今天主要講的是用她怎麼來繪圖和生成驗證碼的實際例子。 號外:近來淘寶服裝小店進了批新貨,

maxhub你設計簡單

maxhub 會議室平板 以前,我們對設計的印象就必須拿上筆在紙上畫。但隨著科技不斷進步,無紙化趨勢的流行,越來越多的設計人員開始向無紙化工具方向靠近,這一點在設計公司中表現得尤為突出。那麽為什麽會這樣?我們都知道設計一項靈感創造力的工作,而靈感又是一種稍縱即逝的東西。故而,快速地將好的創意靈感記下來

VEFX維億:更具競爭力的點差成本,貴金屬投資簡單

ado 圖片 金屬 blog 供應商 shadow 關系 mark 參與者 隨著中國金融市場對外開放的步伐加快,參與貴金屬市場的投資者連年上升;金融界的改革開放時代已經到來,cctv之前也有報道全民炒金時代才剛剛來臨,越來越多的投資者了解到貴金屬,參與到貴金屬投資。   貴

Android網路請求之OkHttp框架

首先宣告許可權 <uses-permission android:name="android.permission.INTERNET"/> 在build.gradle中加入 compile 'com.squareup.okhttp:okhttp:2.4.0' compile

Module Terraform 使用簡單

眾所周知,Terraform 是一個開源的自動化的資源編排工具,支援多家雲服務提供商。阿里雲作為第三大雲服務提供商,terraform-alicloud-provider 已經支援了超過 90 多個 Resource 和 Data Source,覆蓋20多個服務和產品,吸引了

Spring Boot中使用Spring-data-jpa資料訪問簡單優雅

在上一篇Spring中使用JdbcTemplate訪問資料庫 中介紹了一種基本的資料訪問方式,結合構建RESTful API、使用Thymeleaf模板引擎渲染Web檢視的內容就已經可以完成App服務端和Web站點的開發任務了。  然而,在實際開發過程中,對資料庫的操作

15條經驗總結,FPGA設計簡單

好訊息:新年大促!《微控制器與嵌入式系統應用》2017全年電子刊合集僅售29.9!歡迎大家進入嵌

Android網路請求操作Volley框架的使用

1.      Volley框架的優缺點 1)     通訊更快更簡單 2)     Get,Post網路請求及網路影象的高效率非同步處理     請求 3)     排序 4)     網路請求的快取 5)     多級別取消請求 6)     和Activity生命週期

Retrofit+Rxjava 網路請求簡單封裝(一)(觀察者模式)

我通過公司一個上線App介面來進行Retrofit+Rxjava 的簡單學習 http://x-phone.cn/api/v1.0/DeletePrivateContact 當然你直接訪問上面的url是無法獲取伺服器Json資料的,因為是需要封裝請求體,