記一次Android網(wǎng)絡(luò)請(qǐng)求過程中靜態(tài)成員變量導(dǎo)致的問題

?? 最近在項(xiàng)目過程中使用到了okhttp網(wǎng)絡(luò)框架嫉父,在給服務(wù)器以post鍵值對(duì)方式提交數(shù)據(jù)時(shí)服務(wù)器一直給空指針的異常吞瞪,心想這次終于也發(fā)現(xiàn)后臺(tái)人員的鍋了,哈哈桃焕,但出于負(fù)責(zé)任自己用接口測(cè)試工具請(qǐng)求數(shù)據(jù)竟然沒錯(cuò)誤亏钩,細(xì)心一想著者很可能是是自己前端的問題莲绰,于是開始排查問題。

?? 在debug模式下發(fā)現(xiàn)三個(gè)參數(shù)的鍵值都是一樣的姑丑,what?怎么可能蛤签,細(xì)心看了自己的代碼鍵值也沒有錯(cuò)誤,于是開始看傳的參數(shù)的構(gòu)造方法栅哀,果不其然網(wǎng)絡(luò)請(qǐng)求框架中的Prams類被定義為了靜態(tài)內(nèi)部類震肮,其成員變量也被定義為靜態(tài)的,估計(jì)是之前同事沒有 很好的理解java中靜態(tài)成員變量的加載過程留拾,導(dǎo)致我在構(gòu)造很多了參數(shù)是出現(xiàn)了問題戳晌。

我在構(gòu)造參數(shù)時(shí)直接這樣使用:

OKHttpUtils.Paramparam=newOKHttpUtils.Param("startId", startId);

OKHttpUtils.ParamparamPage=newOKHttpUtils.Param("rows", pageSize +"");

OKHttpUtils.ParamparamSearchId=newOKHttpUtils.Param("searchId", searchId);

OKHttpUtils.Param[]pa=newOKHttpUtils.Param[]{param,paramPage,paramSearchId};

下邊是構(gòu)造參數(shù)的過程

Builderbuilder=newBuilder();

for(Paramparam: params) {

builder.add(param.key,param.value);

Log.i("okhttp",param.key);

}

熟悉java類加載的過程的同學(xué)看到這里,肯定知道了問題的所在痴柔,靜態(tài)成員變量是存儲(chǔ)方法 區(qū)內(nèi)存中沦偎,而且只會(huì)存在一份數(shù)據(jù)。所以說我打印出來的param.key值三個(gè)都是 searchId,所以服務(wù)器也會(huì)報(bào)空指針的錯(cuò)誤,最后把static 關(guān)鍵字給去掉豪嚎,加上gette或者setter就解決了搔驼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市疙渣,隨后出現(xiàn)的幾起案子匙奴,更是在濱河造成了極大的恐慌,老刑警劉巖妄荔,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泼菌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡啦租,警方通過查閱死者的電腦和手機(jī)哗伯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篷角,“玉大人焊刹,你說我怎么就攤上這事】叶祝” “怎么了虐块?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)嘉蕾。 經(jīng)常有香客問我贺奠,道長(zhǎng),這世上最難降的妖魔是什么错忱? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任儡率,我火速辦了婚禮,結(jié)果婚禮上以清,老公的妹妹穿的比我還像新娘儿普。我一直安慰自己,他們只是感情好掷倔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布眉孩。 她就那樣靜靜地躺著,像睡著了一般今魔。 火紅的嫁衣襯著肌膚如雪勺像。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天错森,我揣著相機(jī)與錄音吟宦,去河邊找鬼。 笑死涩维,一個(gè)胖子當(dāng)著我的面吹牛殃姓,可吹牛的內(nèi)容都是我干的袁波。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蜗侈,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼篷牌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起踏幻,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤枷颊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后该面,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夭苗,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年隔缀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了题造。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猾瘸,死狀恐怖界赔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牵触,我是刑警寧澤淮悼,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站揽思,受9級(jí)特大地震影響敛惊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绰更,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锡宋。 院中可真熱鬧儡湾,春花似錦、人聲如沸执俩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽役首。三九已至尝丐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衡奥,已是汗流浹背爹袁。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矮固,地道東北人失息。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親盹兢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子邻梆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法绎秒,內(nèi)部類的語法浦妄,繼承相關(guān)的語法,異常的語法见芹,線程的語...
    子非魚_t_閱讀 31,602評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,858評(píng)論 25 707
  • (一)Java部分 1剂娄、列舉出JAVA中6個(gè)比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,088評(píng)論 0 62
  • 我有多喜歡你了呢? 大概就是這么喜歡吧,公交車上看到你的側(cè)臉辆童,第一反應(yīng)是想摸摸你的耳朵宜咒。 因?yàn)橐娔悖灾形绮晃?..
    少女俱樂部閱讀 590評(píng)論 0 0
  • 前言:上一篇文章講了iOS藍(lán)牙開發(fā)的基礎(chǔ)與Demo的應(yīng)用http://www.reibang.com/p/6e07...
    iOS_ZK03閱讀 3,789評(píng)論 4 49