最近項目里要用到網絡 框架,這個3組合最近比較火,我也拿來試試水;得出以下幾點個人看法; 像android、iOS 客戶端 上的應用,離開網絡 立馬就缺少了靈氣,本來一個鮮活的應用,如花朵一樣盛放著,他需要網絡的支持,服務器的培育;
問題:如圖所示
請求地址: http://apis.juhe.cn/cook/query.php
分別單獨使用 OkHttp3、Retrofit2、Rxjava,然后在合起來使用,通過這樣的方式來 認識 這個組合;
首先要知道 OkHttp3、Retrofit2、 都是網絡請求庫
一、OkHttp3
簡單使用方式:這是我們從網絡請求到數據 、在放UI的一般操作,這是OkHttp3的單獨使用方式 a、 OkHttpClient client=new OkHttpClient();//通過他來發送請求,接受響應 b、 //請求 、采用get請求 、請求一個url 搞定: http://apis.juhe.cn/cook/query.php?key="" Request request=new Request.Builder().url(url).build(); c、 //執行 client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { d、//請求失敗 } @Override public void onResponse(Call call, Response response) throws IOException { //請求完成 成功 e、 //轉model response---》model f、 //放在UI上 } }); 上面我們看到了okhttp 請求 一般做這幾部1、請求 地址 參數2、響應 { 成功: a、son-》model 轉模型 b、到UI主線程更新UI }二、Retrofit2
Retrofit2的使用大大簡化了 我們okhttp 的使用,我的理解Retrofit2的誕生就是為了簡化okhttp而來,他的使用依賴okhttp,是依賴關系 1、Retrofit2使用
a、//Retrofit 創建 設置基本的 url 服務器地址 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://apis.juhe.cn/") .build(); b、//請求 請求單獨的寫在接口里面 public interface IHttpServiceRequest { //獲取菜單接口 @GET("/cook/query.php") Call getFood(@Query("key")String key); c、執行請求 IHttpServiceRequest service retrofit.create(IHttpServiceRequest.class);}三、RxJava
新聞熱點
疑難解答