網路請求與json資料解析 學習筆記

2021-08-09 15:44:03 字數 2581 閱讀 9912

坑啊,無法儲存到草稿箱,還得重新寫一遍還好沒有一次性寫完。

——————正文———————

compile 'com.mcxiaoke.volley:library:1.0

.19'

然後是網路請求許可權:

android:name="android.permission.internet" />

android:name="android.permission.write_external_storage" />

許可權千萬別忘了寫!!!

volley請求網路大概步驟就是,先建立乙個請求佇列,然後開始獲取乙個請求,接著把這個請求新增到請求佇列即可。

以下是volley的乙個簡單例項,寫在乙個方法中

//使用volley請求資料

public

void

getdatafromenet()

}, new response.errorlistener()

}) catch (unsupportedencodingexception e)

return

super.parsenetworkresponse(response);}};

queue.add(request); //新增請求

}

上面的**還在stringrequest(){}中重寫了parsenetworkresponse方法,目的是為了防止之後解析的資料出現亂碼的情況,方法使用成功後會列印如下日誌:

表示聯網請求成功了。

不過同時不要檔案在請求失敗的方法onerrorresponse中也寫上列印日誌,這樣方便找出錯誤。

上面的方法用xutils3也能夠實現,xutils3是乙個聚合類框架,能做很多事情,具體介紹可以看

然後在使用xutils3之前,首先要新增依賴:

compile 'org.xutils:xutils:3.5.0'
@override

public void oncreate()

//使用xutils3聯網情i去資料

public

void

getdatafromnet()

@override

public

void

onerror(throwable ex, boolean isoncallback)

@override

public

void

oncancelled(cancelledexception cex)

@override

public

void

onfinished()

});}

效果基本上一致,就不貼圖了,接下來就是解析json資料了!

為了方便一點,就先使用gson來解析json資料吧,使用gson之前,首先新增依賴:

compile 'com.google.code.gson:gson:2.7'
然後寫乙個解析json資料的方法

//使用gson解析資料

private newstopbeanauto parsedjsonwithgson(string json)

//解析資料並且顯示資料

private

void

processdata(string json)

public

class

newspager

extends

basepager

@override

public

void

initdata()

//使用volley請求資料

public

void

getdatafromenet()

}, new response.errorlistener()

}) catch (unsupportedencodingexception e)

return

super.parsenetworkresponse(response);}};

queue.add(request);

}//解析資料並且顯示資料

private

void

processdata(string json)

//使用gson解析資料

private newstopbeanauto parsedjsonwithgson(string json)

}

然後看一下列印的日誌:

請求成功了!

IOS學習筆記,網路請求,json解析

建立乙個同步的請求,需做如下步驟 1 建立乙個nsstring 型別的url字元 並把該url轉化為nsurl型別 設定請求的url 2 把url物件賦值到nsurlrequest物件中,如為多個請求,需放入nsmutableurlrequest中。3 建立乙個nsurlconnection的例項,...

post請求(json解析)

返回 damagedate hasallloss 0 comcode 015100 claimedamt 760 noclaimedamt 0 registno fc19001329 policyno pb0619324857 comcname 廣東分公司 reportdate damageaddr...

http請求返回並解析json資料

注意get和post請求的傳送區別 1 建立httpget 或httppost 物件,將要請求的url通過構造方法傳入httpget 或httppost 物件中 2 使用defaulthttpclient類的execute方法傳送http get或http post 請求,並返回httprespon...