Ant網(wǎng)絡(luò)請(qǐng)求框架
由來(lái):
Ant網(wǎng)絡(luò)訪問(wèn)框架的由來(lái)是因?yàn)槊看螌?xiě)項(xiàng)目的時(shí)候都要引入第三方網(wǎng)絡(luò)請(qǐng)求庫(kù)和第三方圖片請(qǐng)求庫(kù),每一個(gè)請(qǐng)求庫(kù)都有自己的線程池。導(dǎo)致的問(wèn)題就是線程不容易管理。而且還有就是使用不方便(不是說(shuō)這些庫(kù)不好,而是每次都要倒入好幾個(gè)庫(kù)麻煩)所以Ant網(wǎng)絡(luò)請(qǐng)求框架就誕生了。
先來(lái)效果圖
框架大概流程圖
草圖大概意思懂就行

框架技術(shù)
· 框架由kotlin所寫(xiě)
請(qǐng)求數(shù)據(jù)接口
· 框架的網(wǎng)絡(luò)請(qǐng)求支持更換,用戶可以根據(jù)自己的喜好使用HttpClient進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)獲取或者使用HttpUrlConnection都可以,只要實(shí)現(xiàn)對(duì)外暴露的Convert接口并將數(shù)據(jù)返回給回調(diào)接口即可。
Https支持
· 用戶可以使用默認(rèn)的忽略證書(shū)式的默認(rèn)DefaultSSLSocketFactory也可以自己去實(shí)現(xiàn)插入自己的證書(shū),只需要請(qǐng)求的時(shí)候添加SSLSocketFactory即可。
網(wǎng)絡(luò)獲取數(shù)據(jù)支持緩存
· 網(wǎng)絡(luò)緩存使用的SP進(jìn)行本地?cái)?shù)據(jù)緩存
圖片獲取
· 使用了將數(shù)據(jù)先獲取到進(jìn)行緩存(緩存到本地還是內(nèi)存,取決于您,)然后將圖片顯示,如果使用過(guò)本地緩存使用的是libjpeg技術(shù)將圖片進(jìn)行壓縮(圖片在保真的情況下,占用內(nèi)存大大減少,誰(shuí)用誰(shuí)知道
數(shù)據(jù)進(jìn)度回調(diào)
· 支持實(shí)時(shí)獲取當(dāng)前數(shù)據(jù)的進(jìn)度百分比(請(qǐng)求數(shù)據(jù)時(shí)需要后端配合),下載圖片的時(shí)候只要添加回調(diào)接口就可以獲取到下載進(jìn)度(不支持緩存加載進(jìn)度)
其他
· 支持Kotlin的DSL寫(xiě)法調(diào)用
用法
獲取網(wǎng)絡(luò)數(shù)據(jù)
·antString {
url = "https://www.baidu.com"
/*methdo header body? ...*/
complateString {
s -> log(s)
}
}
獲取網(wǎng)絡(luò)圖片
·antImg {
url = "https:////www.baidu.com/img/bd_logo1.png"
//imageview
target = iv1
progress {
p -> pb1.text = if (p == -1) "100%" else "$p%"
}
complate {
toast("iv1 下載完成")
pb1.visibility= View.GONE
}
}
``
歡迎大家多提意見(jiàn)
老司機(jī)你的源碼:https://github.com/waws80/Ant/歡迎大家多star謝謝??