android網路框架Retrofit使用記錄
Retrofit的GET請求:
情景:在新聞app中要獲取某個使用者收藏的文章資訊。
這個請求我們使用的是get請求,使用者的授權資訊放到請求的Headers中;其他引數比如offset-偏移起始位置,limit - 返回最多結果數等引數都放在 LinkedHashMap集合中。
第一步:初始化retrofit物件
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)// http://dev1.baidu.com:4000
.addConverterFactory(ScalarsConverterFactory.create ())
.addConverterFactory(GsonConverterFactory.create())
.build();
第二步:攜帶引數賦值
DataBean dataBean = AppUtils.getClassFromJson(...)
String headStr = dataBean.getToken_type() + " " + dataBean.getAccess_token();
LinkedHashMap<String, Integer> parms = new LinkedHashMap<>();
parms.put("offset" , offset);
parms.put("limit", limit);
parms.put("simplemode", simplemode == true ? 1 : 0);
第三步:建立請求介面RequestCollectList
public interface RequestCollectList {
@GET("/v1.0/user/favorite/list")
Call<RspCollectList> contributors(@Header("Authorization") String authorization, @QueryMap Map<String, Integer> parms);
}
第四步:建立返回json資料的Bean類RspCollectList
1、利用Postman傳送請求拿到返回json資料;
2、複製json資料,通過GsonFormat外掛自動生成Bean類;
這樣就輕鬆生成了返回的JavaBean類。
第五步:傳送請求
Call<RspCollectList> call = request.contributors(headStr, parms);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.body() == null) {
} else {
response.body();// body節點中是返回的資料
}
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
到此一個GET請求大致完畢了。
Retrofit的POST請求:
情景:在新聞app某個頁面中要點選收藏按鈕跟伺服器互動實現收藏功能。
該請求事件我們使用POST請求,這個請求中要攜帶使用者的授權資訊放到請求的Headers中,通過post攜帶一個json字串(欄位1:content_type;欄位2:content_id)到伺服器。
第一步:retrofit物件生成與上面get請求獲取方式一樣;
第二步:通過postman獲取返回資料並用GsonFormat生成JavaBean類RspSaveCollectArticle;
其中post請求攜帶字串如下:
[{"content_type":0, "content_id":32889}]
第三步:建立請求介面RequestSaveCollectArticle
public interface RequestSaveCollectArticle {
@Headers("content-type:application/json")
@POST("/v1.0/user/favorite/save")
Call<RspSaveCollectArticle> contributors(@Header("Authorization") String authorization, @Body RequestBody jsonBody);
}
第四步:引數生成
使用者授權資訊同上;
被攜帶json資料建立如下
RspSaveCollectArticle.DataBean favorite = new RspSaveCollectArticle.DataBean();
favorite.setContent_type(content_type);
favorite.setContent_id(content_id);
RequestBody jsonRequestBody = RequestBody.create(MediaType.parse("application/json"), "[" + AppUtils.getJsonFromClass(favorite) + "]");
第五步:請求
Call<RspSaveCollectArticle> call = request.contributors(headStr, jsonRequestBody);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.body() == null) {
} else {
response.body();// body節點中是返回的資料
}
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
關於postman和GsonFormatter如何使用可以先查詢網站,後續可能會寫相關文章介紹。
相關推薦
android網路框架Retrofit使用記錄
Retrofit的GET請求: 情景:在新聞app中要獲取某個使用者收藏的文章資訊。 這個請求我們使用的是get請求,使用者的授權資訊放到請求的Headers中;其他引數比如offset-偏移起始位置,limit - 返回最多結果數等引數都放在 Linke
Android網路框架Retrofit的使用
Retrofit2網路框架的使用 1.配置 api 'com.squareup.retrofit2:retrofit:2.1.0' api 'cohttp://blog.csdn.net/vipzjyno1/article/details/21039349/m.squareup.retrof
android網路框架Retrofit——簡介,使用的jar包
簡介 Retrofit是github上,由square發起的開源專案,使用起來非常的簡介,可以通過非常簡單的註解方式來晚上網路訪問,而且具有靈活的配置,基本可以滿足我們的專案需求,可以在andorid專案的網路方面進行快速開發。 jar包 必須:
Android開源網路框架Retrofit(入門篇)
Restful風格介面基本成了業界主流,Retrofit框架也大火特火,最近專案中也決定更新換代,採用Retrofit。本著學習之餘,也對接下來的學習者有一些幫助,於是寫了本文,主要的內容是對官網內容的一個翻譯和補充解釋。 plus:本文假設你對於基
Android網路框架初步嘗試
最近面試了很多公司,感慨良多,面試官都強調要多寫技術文章,多閱讀原始碼。仔細想想確實如此,想成為一名好的Android工程師,如果沒有原始碼閱讀,怎麼能寫出好的程式碼那。 因為是第一篇文章,肯定想拿出一點好東西帶大家分享。想想看自己也就寫過一個網路框架可以拿出來談談。 首先介紹我這個
教你寫Android網路框架之基本架構
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Android網路框架Retrofit2使用封裝:Get/Post/檔案上傳/下載
背景 Android開發中的網路框架經過多年的發展,目前比較主流的就是Retrofit了,Retrofit2版本出現也有幾年了,為了方便使用,特封裝了一些關於Retrofit2的程式碼,分享給大家。 框架主要包括: Get請求 Post請求 檔案上傳 檔案下載
Android網路框架Volley
Volley是Google I/O 2013推出的網路通訊庫,在volley推出之前我們一般會選擇比較成熟的第三方網路通訊庫,如:他們各有優劣,之前個人則比較喜歡用android-async-http, 如今Google推出了官方的針對Android平臺上的網路通訊庫,能使網路
教你寫Android網路框架之Request Response類與請求佇列
我正在參加部落格之星,點選這裡投我一票吧,謝謝~ 前言在教你寫Android網路框架之基本架構一文中我們已經介紹了SimpleNet網路框架的基本結構,今天我們就開始從程式碼的角度來開始切入該網路框架的實現,在剖析的同時我們會分析設計思路,以及為什麼要這樣做,這樣做的好處是
Android網路框架的選擇
今年已經收是2018年了,Android P 預覽版已經推出來了。這裡只是想說明一下技術的更新太快了。 下面說正題,目前我們在Android中可選擇的網路框架主要有以下幾種: Volley OKhttp Retrofit 這三種,但是要說明一下: 首
必須知道的Android網路框架大全!值得一看良心文章!
導語 大通常在 Android 中進行網路連線一般使用 Scoket 和 HTTP兩種方式。而 HTTP 請求方式比 Scoket 多得多,HTTP 請求一般採用原生的 HttpClient 和 HttpUrlConnection 的兩種網路訪問方式。可是在 Andro
Android網路框架Volley(實戰篇)
之前講了ym—— Android網路框架Volley(體驗篇),大家應該瞭解了volley的使用,接下來我們要看看如何把volley使用到實戰專案裡面,我們先考慮下一些問題: 從上一篇來看 mQueue 只需要一個物件即可,new RequestQueue物件對資源一種浪費
Android網路框架:OKHttp原始碼簡單解析(一)
這是第一次解析原始碼並把它寫出來,在之前,我一直以為只要會用別人的輪子就好,做出實際的效果就行,對看原始碼對自己的能力提升不以為然。後來偶然聽到一句話:看別人的DEMO,你就可以會用輪子,但是要想用好輪子,還是得看原始碼。我覺得看原始碼有兩個方面的好處: 1
Android 網路框架_常用的網路框架
看了張哥(stormzhang)的部落格之後,深有感觸,又讓我感慨了一番,而且發現張哥的部落格英文跟漢字之間是有空格的,數字跟漢字之間也有空格,看起來很舒服很美觀,張哥真的是把每一個細節都做的很好,所以身為草根開發者的我,也要學習。附上張哥部落格的一部分截圖:
Android 網路框架之Retrofit2使用詳解及從原始碼中解析原理
就目前來說Retrofit2使用的已相當的廣泛,那麼我們先來了解下兩個問題: 1 . 什麼是Retrofit? Retrofit是針對於Android/Java的、基於okHttp的、一種輕量級且安全的、並使用註解方式的網路請求框架。 2 . 我們為什麼要
Android網路框架設計
一、構建思路 1、構建一個Request用來封裝 HTTP請求的型別、請求頭引數、請求體、優先順序、返回型別、等一些必要的屬性。 這個Request定義為抽象的,使得使用者可以擴充套件。 2、構建一個佇列(BlockingQueue) 用來存貯這些請求,使用
Android網路框架volley學習(三)底層網路請求分析
相關文章 前面我們分析了一下volley的基本用法及總體工作流程,由於volley是一個網路請求框架,所以本篇我們分析一下它的底層網路請求。 volley原始碼說長不長,說短不短,也有幾十個類,該從哪裡開始分析呢?我們從最基本的開始分析,還記得一開始進行
轉載-ym—— Android網路框架Volley(體驗篇)
Volley是Google I/O 2013推出的網路通訊庫,在volley推出之前我們一般會選擇比較成熟的第三方網路通訊庫,如: 他們各有優劣,之前個人則比較喜歡用android-async-http, 如今Google推出了官方的針對Android平臺上的網路通訊庫,能使網路通訊更快
(轉)ym—— Android網路框架Volley(實戰篇)
從上一篇來看 mQueue 只需要一個物件即可,new RequestQueue物件對資源一種浪費,我們應該在application,以及可以把取消請求的方法也在application進行統一管理,看以下程式碼: [java] view plaincopyprint?
android網路框架的封裝——volley
本文主要用程式碼給出如何對volley進行封裝制定出自己的request,實現專案工程中自己的網路請求框架,主要參考的是郭大神的部落格http://blog.csdn.net/guolin_blog/article/details/17612763 首先給出自定義的Requ