Android快速開發(fā)架構(gòu)PlanA(四)赞季,網(wǎng)絡(luò)請(qǐng)求篇,劃重點(diǎn)(必考)

Android快速開發(fā)架構(gòu)PlanA奢驯,一周一個(gè)APP申钩,持續(xù)維護(hù)中!
Android快速開發(fā)架構(gòu)PlanA(一),船新版本的BaseActivity
Android快速開發(fā)架構(gòu)PlanA(二)瘪阁,簡(jiǎn)單粗暴的路由管理PRouter
Android快速開發(fā)架構(gòu)PlanA(三)撒遣,你一定會(huì)用上的工具類
Android快速開發(fā)架構(gòu)PlanA(四),網(wǎng)絡(luò)請(qǐng)求篇管跺,劃重點(diǎn)(必考)
Android快速開發(fā)架構(gòu)PlanA(五)义黎,文件上傳下載了解一下
Android快速開發(fā)架構(gòu)PlanA(六),抱歉豁跑,這些自定義控件真的可以讓你為所欲為
Android快速開發(fā)架構(gòu)PlanA(七)廉涕,隱藏技能:PhotoBrowse圖片瀏覽
Android快速開發(fā)架構(gòu)PlanA(八),手滑搞了個(gè)萬能適配器CommonAdapter

1.怎么說艇拍?

??PlanA架構(gòu)集成第四篇狐蜕,PlanA中網(wǎng)絡(luò)請(qǐng)求的使用,相信很多開發(fā)者在Android的開發(fā)中都有自己的網(wǎng)絡(luò)請(qǐng)求體系淑倾,更適合自己馏鹤,這里的網(wǎng)絡(luò)請(qǐng)求方面也做了高度封裝,針對(duì)多種情況娇哆,可以選擇使用湃累,使用簡(jiǎn)單,方便碍讨。
??PlanA中的網(wǎng)絡(luò)請(qǐng)求主要是Retrofit2+Okhttp3+Rxjava2的封裝治力,不需要了解底層的實(shí)現(xiàn)思路,你只需一行代碼即可實(shí)現(xiàn)高效勃黍,快速的網(wǎng)絡(luò)請(qǐng)求宵统。

2.初始化

  • 在Application的onCreate中初始化baseUrl

    //初始化方式一
    RetrofitClient.getInstance().init(new HttpConfig.Builder().setBaseUrl("http://192.168.1.123:8080/").build());
    
    //初始化方式二 commonHeaderMap為公共header 可以為null
    RetrofitClient.getInstance().init(new HttpConfig.Builder().setBaseUrl("http://192.168.1.123:8080/").build(),commonHeaderMap);
    
  • 如果你需要配置其他項(xiàng),則如下:

     //初始化
     HttpConfig.Builder builder = new HttpConfig.Builder();
     builder.setBaseUrl("http://192.168.1.123:8080/");
     builder.setDefaultConnectTimeout(12000);//設(shè)置連接超時(shí)時(shí)間:毫秒
     builder.setDefaultReadTimeout(12000);//設(shè)置讀取超時(shí)時(shí)間:毫秒
     builder.setDefaultWriteTimeout(12000);//設(shè)置寫入超時(shí)時(shí)間:毫秒
     RetrofitClient.getInstance().init(builder.build());
    

3.網(wǎng)絡(luò)請(qǐng)求(以get為例覆获,post亦是如此)

簡(jiǎn)單請(qǐng)求

// taskId為當(dāng)前請(qǐng)求任務(wù)Id马澈,后續(xù)取消網(wǎng)絡(luò)請(qǐng)求會(huì)用上,不取消則可以不接收
String taskId = RetrofitClient.getInstance()
            .get("api/getUserByName")
            .param("name", "kevin")
            .execute(new ResCallback<ResponseBody>() {
                @Override
                public void onResponse(ResponseBody responseBody) {
                    Log.d("debug","請(qǐng)求成功");
                }
                @Override
                public void onError(Throwable e) {
                    Log.e("error",e.getLocalizedMessage());
                }
            });

// 取消網(wǎng)絡(luò)請(qǐng)求
RetrofitClient.getInstance().cancelRequest(taskId);

完整請(qǐng)求

1)普通參數(shù)

String taskId = RetrofitClient.getInstance()
           .get("api/getUserByName") // post也是一樣的
           .header("cus-xxx","xxx")
           .headers(headerMap)
           .param("key1","value1")
           .params(paramMap)
           .execute(new ResCallback<ResponseBody>() {
               @Override
               public void onResponse(ResponseBody responseBody) {
                   Log.d("debug","請(qǐng)求成功");
               }
               @Override
               public void onError(Throwable e) {
                   Log.e("error",e.getLocalizedMessage());
               }
           });

2)Json參數(shù)

String taskId = RetrofitClient.getInstance()
           .get("api/getUserByName") // post也是一樣的
           .header("cus-xxx","xxx")
           .headers(headerMap)
           .upJson(paramMap) // 如果調(diào)用upJson的話弄息,會(huì)自動(dòng)添加Content-Type:application/json;charset=utf-8
           .execute(new ResCallback<ResponseBody>() {
               @Override
               public void onResponse(ResponseBody responseBody) {
                   Log.d("debug","請(qǐng)求成功");
               }
               @Override
               public void onError(Throwable e) {
                   Log.e("error",e.getLocalizedMessage());
               }
           });

PlanA網(wǎng)絡(luò)請(qǐng)求框架持續(xù)優(yōu)化中痊班,有疑問或者改進(jìn)意見請(qǐng)留言↓↓↓

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市摹量,隨后出現(xiàn)的幾起案子涤伐,更是在濱河造成了極大的恐慌馒胆,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凝果,死亡現(xiàn)場(chǎng)離奇詭異祝迂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)器净,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門型雳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掌动,你說我怎么就攤上這事四啰。” “怎么了粗恢?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵柑晒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我眷射,道長(zhǎng)匙赞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任妖碉,我火速辦了婚禮涌庭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欧宜。我一直安慰自己坐榆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布冗茸。 她就那樣靜靜地躺著席镀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夏漱。 梳的紋絲不亂的頭發(fā)上豪诲,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音挂绰,去河邊找鬼屎篱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛葵蒂,可吹牛的內(nèi)容都是我干的交播。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼践付,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼秦士!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起荔仁,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤伍宦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后乏梁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體次洼,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年遇骑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卖毁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡落萎,死狀恐怖亥啦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情练链,我是刑警寧澤翔脱,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站媒鼓,受9級(jí)特大地震影響届吁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绿鸣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一疚沐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧潮模,春花似錦亮蛔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锉矢,卻和暖如春梯嗽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沽损。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工灯节, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绵估。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓炎疆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親国裳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子形入,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)缝左,斷路器亿遂,智...
    卡卡羅2017閱讀 134,704評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法浓若,類相關(guān)的語法,內(nèi)部類的語法蛇数,繼承相關(guān)的語法挪钓,異常的語法,線程的語...
    子非魚_t_閱讀 31,664評(píng)論 18 399
  • 自己備忘,隨便寫 android網(wǎng)絡(luò)框架源碼解析及對(duì)比 android常用網(wǎng)絡(luò)框架對(duì)比 Volley: 特點(diǎn) 基于...
    幻海流心閱讀 1,475評(píng)論 0 4
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程耳舅,因...
    小菜c閱讀 6,444評(píng)論 0 17
  • 當(dāng)你工作累了碌上,你會(huì)用什么樣的方式休息呢? 如果你的答案是浦徊,我都是通過看看網(wǎng)頁啊馏予,追追劇啊,打打游戲來休息的盔性。那你可...
    劉在強(qiáng)閱讀 513評(píng)論 2 2