前言:
? ? ? ? 當(dāng)一個(gè)手機(jī)應(yīng)用需要連接外部世界的時(shí)候壶谒,網(wǎng)絡(luò)請(qǐng)求就必須要學(xué)習(xí)了。百度雖然是有點(diǎn)用膳沽,但對(duì)于新人來(lái)說(shuō)都特默什么亂七八糟的東西汗菜!所以我將最近學(xué)習(xí)的關(guān)于網(wǎng)絡(luò)請(qǐng)求的內(nèi)容分享給大家,以期大家避開(kāi)我走過(guò)的彎路挑社。
簡(jiǎn)單總結(jié)一下:
? ? ? ? 客戶端如何把需要發(fā)送的請(qǐng)求發(fā)給服務(wù)端呢陨界?首先,后臺(tái)服務(wù)端的開(kāi)發(fā)人員會(huì)根據(jù)業(yè)務(wù)需求將接口給出痛阻,接口中對(duì)應(yīng)了數(shù)據(jù)的鍵(key),客戶端開(kāi)發(fā)人員將數(shù)據(jù)的值(value)傳到接口對(duì)應(yīng)的鍵即可完成對(duì)后端數(shù)據(jù)的請(qǐng)求菌瘪。
? ? ? ? 本文的請(qǐng)求操作是,在客戶端把賬號(hào)密碼發(fā)送給服務(wù)端,從而達(dá)到登錄一個(gè)應(yīng)用的目的俏扩,當(dāng)?shù)卿洺晒竺庸ぃ瑫?huì)在手機(jī)上提示登錄成功字樣,以此檢驗(yàn)網(wǎng)絡(luò)請(qǐng)求的有效性录淡。對(duì)于客戶端開(kāi)發(fā)人員來(lái)說(shuō)捌木,起碼要知道如何將數(shù)據(jù)發(fā)送過(guò)去從而獲取服務(wù)端的響應(yīng)。下面嫉戚,我們就開(kāi)始來(lái)做這件事刨裆。
首先,我們先來(lái)看看如何使用這個(gè)東西彬檀,先看崔拥,不要寫(xiě),然后按照后面敘述的步驟來(lái)操作凤覆。
使用:在Activity中實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求的過(guò)程
使用網(wǎng)絡(luò)請(qǐng)求链瓦,就是這么簡(jiǎn)單!
結(jié)果是不是的確請(qǐng)求成功盯桦?看一看效果
點(diǎn)擊登錄之前:
點(diǎn)擊登錄之后:
現(xiàn)在開(kāi)始學(xué)習(xí)如何封裝這個(gè)請(qǐng)求框架拥峦,請(qǐng)按照以下步驟搭建此網(wǎng)絡(luò)請(qǐng)求框架贴膘。
步驟1:
添加OkHttp的依賴 :compile'com.squareup.okhttp3:okhttp:3.6.0'
添加OkHttpfinal的依賴:compile'cn.finalteam:okhttpfinal:2.0.7'
(一個(gè)叫彭建波的大神開(kāi)源的)
添加Gson的依賴
compile 'com.google.code.gson:gson:2.7'?
步驟2 :
設(shè)置常量
步驟3:
新建基礎(chǔ)實(shí)體類BaseBean
步驟4 :
新建一個(gè)網(wǎng)絡(luò)請(qǐng)求配置類NetKnifeConfig
步驟5 :
新建網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)回傳類NetKnifeResponse
這個(gè)類內(nèi)容有點(diǎn)多略号,分兩張圖
下半部分重點(diǎn)來(lái)了
步驟6 :網(wǎng)絡(luò)請(qǐng)求的回調(diào)類NetKnifeCallback
步驟7 :
就是最終我們要完成的網(wǎng)絡(luò)請(qǐng)求的管理類
該類內(nèi)容也比較多刑峡,截圖兩張
其中有更新公共Header/下載網(wǎng)絡(luò)文件等方法,本文不討論玄柠,開(kāi)發(fā)中都能用到突梦,我們就看post請(qǐng)求。
上半部分
下半部分
post就是我們要著重學(xué)習(xí)的請(qǐng)求方式
步驟8 :
新建全應(yīng)用傳值的BaseApplication
這個(gè)類注意要在清單文件中添加他的name屬性
步驟9 :
看看清單文件的內(nèi)容羽利,不要忘了添加網(wǎng)絡(luò)訪問(wèn)權(quán)限
最后提醒 :
本文是新建的一個(gè)項(xiàng)目宫患,然后就開(kāi)始搭建網(wǎng)絡(luò)框架,現(xiàn)在完成后这弧,看看我們的項(xiàng)目結(jié)構(gòu)是什么樣子了
結(jié)束娃闲。