在開發(fā)的過程中,關(guān)于對(duì)請(qǐng)求回調(diào)數(shù)據(jù)的處理以及消息提示,我發(fā)現(xiàn)了兩個(gè)問題:
1.別人都怎么做的我不知道,但是我看到的,很多人在寫網(wǎng)絡(luò)請(qǐng)求的時(shí)候,不管是自己直接寫的,或者還是直接使用第三方網(wǎng)絡(luò)框架,在拿到數(shù)據(jù)的時(shí)候,一般都是自己根據(jù)返回的數(shù)據(jù)中,使用約定好的key去解析自己需要的數(shù)據(jù),直接使用或者轉(zhuǎn)換成javaBean、數(shù)組。話說,這樣很麻煩不是嗎,每一次請(qǐng)求數(shù)據(jù)就要去解析一次,不同的頁(yè)面,那得重復(fù)寫多少代碼,而且看起來也比較亂。
2.很多時(shí)候 ,數(shù)據(jù)請(qǐng)求成功或者失敗,總要給用戶一個(gè)簡(jiǎn)短的提示。提示什么樣的文案和什么情況下需要提示,這也是個(gè)比較麻煩的問題。
為此,我對(duì)請(qǐng)求回調(diào)進(jìn)行了封裝,代碼結(jié)構(gòu)清晰了很多,而且也比較好用,主要做到了以下功能:
1.如果返回的數(shù)據(jù)是javaBean或者數(shù)組Array,只需要在請(qǐng)求時(shí),在請(qǐng)求時(shí)的CallBack傳遞對(duì)應(yīng)的數(shù)據(jù)類型和JavaBean.class,這樣數(shù)據(jù)成功回調(diào)后,就可以把返回的Object 對(duì)象直接轉(zhuǎn)換成對(duì)應(yīng)的 JavaBean.class 實(shí)體對(duì)象或者 Array 對(duì)象。當(dāng)然,如果返回的只是簡(jiǎn)單的數(shù)據(jù)類型的話,什么都不需要設(shè)置就可以了,直接使用返回的 String data 即可。
2.不管回調(diào)成功還是失敗,統(tǒng)一彈出提示的話,直接在請(qǐng)求時(shí)的CallBack中傳遞個(gè)Context 對(duì)象;不需要提示則不傳;想自己定制提示內(nèi)容,則不傳,并在CallBack 中對(duì)應(yīng)的 onSuccess、onFailure方法中,彈出自己想要的內(nèi)容。
廢話不多說了,直接上代碼~
一、消息提不提示的問題,我以獲取驗(yàn)證碼接口為例。
1.不主動(dòng)彈出提示消息提示。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26