1.原始的網(wǎng)絡訪問,再加上多線程,會使程序臃腫
網(wǎng)絡請求在現(xiàn)代的應用開發(fā)中必不可少,我們熟知的網(wǎng)絡請求框架還真不少,像HttpClient、OkHttp還有volley等,它們確實方便但鴻蒙還不能使用它們,還好我們有HttpURLConnection。使用其進行網(wǎng)絡請求的示例代碼,如下圖所示(不用仔細研究):

相信你想說:HttpURLConnection雖略有繁瑣,但能用。然而,這并不是我們要處理網(wǎng)絡訪問的全部。因為網(wǎng)絡操作耗時及不穩(wěn)定性,使得我們必須在子線程中進行上述代碼的工作,等到網(wǎng)絡請求有響應結(jié)果了,我們又需要回到主線程更新UI,這又使得我們的程序又胖了一圈。如果請求,再多一點呢?我們的程序就胖了好幾圈...
2.將多線程與網(wǎng)絡訪問封裝,為程序瘦身
我們希望的網(wǎng)絡請求是這樣的:1.隱藏網(wǎng)絡訪問細節(jié);2.優(yōu)雅處理UI更新。
基于以上兩點,我封裝了一套Http請求的工具類,最終的網(wǎng)絡訪問會變成——這樣:
ZZRHttp.get(url, new ZZRCallBack.CallBackString() {
@Override
public void onFailure(int code, String errorMessage) {
//http訪問出錯,此部分在主線程中工作,可以更新UI等操做。
}
@Override
public void onResponse(String response) {
//http訪問成功,此部分在主線程中工作,可以更新UI等操作。
}
});
代碼解析:此get方法能夠在子線程中完成基于http網(wǎng)絡訪問, 當訪問成功或者失敗,就會分別回調(diào)onResponse或onFailure方法,這兩個方法是在主線程中完成回調(diào)的,所以可以更新UI。 我已將這套Http工具類的源代碼,開源上傳至github,地址如下:https://github.com/zzrv5/ZZRHttp
3.鴻蒙Http請求操作步驟:
3.1 添加網(wǎng)絡訪問權(quán)限:
在config.json文件中的module中添加,網(wǎng)絡訪問權(quán)限,代碼如下所示:
"module": {
"reqPermissions": [{"name":"ohos.permission.INTERNET"}],
...
3.2 設(shè)置訪問模式
鴻蒙的默認是https訪問模式,如果您的請求網(wǎng)址是http開頭的,請在config.json文件中的deviceConfig下,添加如下設(shè)置:
"deviceConfig": {
"default": {
"network": {
"cleartextTraffic": true
}
}
},
3.3 添加ZZRHttp依賴
在build.gradle文件的dependencies中,添加如下配置,引入ZZRhttp:
dependencies {
implementation 'com.zzrv5.zzrhttp:ZZRHttp:1.0.1'
...
}
3.4 進行網(wǎng)絡訪問
就是這么簡單,代碼如下:
ZZRHttp.get(url, new ZZRCallBack.CallBackString() {
@Override
public void onFailure(int code, String errorMessage) {
//http訪問出錯,此部分在主線程中工作,可以更新UI等操做。
}
@Override
public void onResponse(String response) {
//http訪問成功,此部分在主線程中工作,可以更新UI等操作。
}
});
編輯:hfy
-
HTTP
+關(guān)注
關(guān)注
0文章
531瀏覽量
34820 -
鴻蒙系統(tǒng)
+關(guān)注
關(guān)注
183文章
2642瀏覽量
69314
發(fā)布評論請先 登錄
基于Java開發(fā)的鴻蒙網(wǎng)絡訪問方面的代碼
Linux下搭建簡易的HTTP服務器完成圖片顯示
鴻蒙網(wǎng)絡開發(fā)學習:【ylong_http】
【HarmonyOS】鴻蒙系統(tǒng)介紹 和 編譯環(huán)境搭建
鴻蒙系統(tǒng)———環(huán)境搭建之實現(xiàn)網(wǎng)絡共享
HarmonyOS應用開發(fā)-網(wǎng)絡訪問工具的使用體驗
分布式環(huán)境下的Web資源訪問控制研究
如何在C語言環(huán)境下對其訪問歸納
OpenHarmony上使用的Http網(wǎng)絡框架教程
Linux下搭建簡易的HTTP服務器完成圖片顯示
鴻蒙OpenHarmony【 配置遠程訪問環(huán)境】

鴻蒙環(huán)境下的Http網(wǎng)絡訪問完成設(shè)計
評論