精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙環境下的Http網絡訪問完成設計

鴻蒙系統HarmonyOS ? 來源:51cto ? 作者:ZZR老師 ? 2021-04-16 13:52 ? 次閱讀

1.原始的網絡訪問,再加上多線程,會使程序臃腫

網絡請求在現代的應用開發中必不可少,我們熟知的網絡請求框架還真不少,像HttpClient、OkHttp還有volley等,它們確實方便但鴻蒙還不能使用它們,還好我們有HttpURLConnection。使用其進行網絡請求的示例代碼,如下圖所示(不用仔細研究):

o4YBAGB5JTqAB4GKAACRNw9dgwM381.png

相信你想說:HttpURLConnection雖略有繁瑣,但能用。然而,這并不是我們要處理網絡訪問的全部。因為網絡操作耗時及不穩定性,使得我們必須在子線程中進行上述代碼的工作,等到網絡請求有響應結果了,我們又需要回到主線程更新UI,這又使得我們的程序又胖了一圈。如果請求,再多一點呢?我們的程序就胖了好幾圈...

2.將多線程與網絡訪問封裝,為程序瘦身

我們希望的網絡請求是這樣的:1.隱藏網絡訪問細節;2.優雅處理UI更新。

基于以上兩點,我封裝了一套Http請求的工具類,最終的網絡訪問會變成——這樣:

    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網絡訪問, 當訪問成功或者失敗,就會分別回調onResponse或onFailure方法,這兩個方法是在主線程中完成回調的,所以可以更新UI。 我已將這套Http工具類的源代碼,開源上傳至github,地址如下:https://github.com/zzrv5/ZZRHttp

3.鴻蒙Http請求操作步驟:

3.1 添加網絡訪問權限:
在config.json文件中的module中添加,網絡訪問權限,代碼如下所示:

    "module": {
        "reqPermissions": [{"name":"ohos.permission.INTERNET"}],
        ...

3.2 設置訪問模式
鴻蒙的默認是https訪問模式,如果您的請求網址是http開頭的,請在config.json文件中的deviceConfig下,添加如下設置:

    "deviceConfig": {
        "default": {
            "network": {
                "cleartextTraffic": true
            }
        }
    },

3.3 添加ZZRHttp依賴

在build.gradle文件的dependencies中,添加如下配置,引入ZZRhttp:

    dependencies {
        implementation 'com.zzrv5.zzrhttp:ZZRHttp:1.0.1'
        ...
    }

3.4 進行網絡訪問

就是這么簡單,代碼如下:

    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
    +關注

    關注

    0

    文章

    478

    瀏覽量

    30756
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2627

    瀏覽量

    65779
收藏 人收藏

    評論

    相關推薦

    基于Java開發的鴻蒙網絡訪問方面的代碼

    網絡請求吧。 本文會從Java原生訪問入手,進而再使用Retrofit訪問網絡,可以滿足絕大部分開發者對于鴻蒙
    的頭像 發表于 10-16 10:40 ?2575次閱讀

    Linux搭建簡易的HTTP服務器完成圖片顯示

    這篇文章作為Linuxsocket(TCP)網絡編程的練習,使用C語言代碼搭建一個簡單的HTTP服務器,完成與瀏覽器之間的交互,最終在瀏覽器上顯示一張圖片;通過這個例子可以鞏固soc
    的頭像 發表于 08-13 14:17 ?2066次閱讀
    Linux<b class='flag-5'>下</b>搭建簡易的<b class='flag-5'>HTTP</b>服務器<b class='flag-5'>完成</b>圖片顯示

    鴻蒙網絡開發學習:【ylong_http

    ylong_http 構建了完整的 HTTP 能力,支持用戶使用 HTTP 能力完成通信場景的需求。 ylong_http 使用 Ru
    的頭像 發表于 03-25 16:36 ?631次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>網絡</b>開發學習:【ylong_<b class='flag-5'>http</b>】

    【HarmonyOS】鴻蒙系統介紹 和 編譯環境搭建

    還沒有完成移植工作。1.3 相關資料鴻蒙官方文檔:https://www.harmonyos.com/cn/develop 鴻蒙gitee:https://openharmony.gitee.com
    發表于 10-20 11:19

    鴻蒙系統———環境搭建之實現網絡共享

    些不習慣,時間確實太趕,但是現在鴻蒙的HiSpark AI Camera只能在linux編譯,所以要深入學習,只能先搭建linux系統,一切抱著以學習的心態在慢慢摸索前行,在W7系統用VM搭建
    發表于 01-08 09:42

    【全網最簡】Hi3861鴻蒙開發環境搭建指南(Linux開發環境

    和串口工具是2個?為了幫助新人解決這些問題,更好的利用社區贈送的Hi3861板子學習鴻蒙,我用業余時間完成了這套野生的Hi3861鴻蒙開發環境,代號:兩把槍。之所以是野生的,那是因為比
    發表于 03-04 15:01

    HarmonyOS應用開發-網絡訪問工具的使用體驗

    ;ohos.permission.INTERNET"}],...鴻蒙的默認是https訪問模式,如果您的請求網址是http開頭的,請在config.json文件中的deviceConfig
    發表于 09-24 10:07

    HarmonyOS開發環境的安裝與配置過程分享

    可直接訪問網絡環境的一樣。開發環境配置完成后,可以通過運行HelloWorld工程來驗證
    發表于 03-14 11:42

    分布式環境的Web資源訪問控制研究

    針對分布式環境Web 資源安全訪問控制,給出了一種系統的設計方案。該系統滿足了統一授權和訪問控制的需求,具有安全性好、靈活性高、便于管理等特點。同時,還提出了一
    發表于 08-26 11:18 ?20次下載

    用Cisco路由器HTTP訪問

    CCIE學習指南實驗室操作:用Cisco路由器HTTP訪問
    發表于 05-10 17:22 ?0次下載

    如何在C語言環境對其訪問歸納

    單片機的特殊功能寄存器SFR,是SRAM地址已經確定的SRAM單元,在C語言環境對其訪問歸納起來有兩種方法。
    的頭像 發表于 02-17 15:34 ?659次閱讀

    OpenHarmony上使用的Http網絡框架教程

    簡介 鴻蒙上使用的Http網絡框架,里面包含純Java實現的HttpNet,類似okhttp使用,支持同步和異步兩種請求方式;還有鴻蒙版retrofit,和Android版Retrof
    發表于 04-12 11:13 ?4次下載

    Linux搭建簡易的HTTP服務器完成圖片顯示

    這篇文章作為Linuxsocket(TCP)網絡編程的練習,使用C語言代碼搭建一個簡單的HTTP服務器,完成與瀏覽器之間的交互,最終在瀏覽器上顯示一張圖片;通過這個例子可以鞏固soc
    的頭像 發表于 08-14 09:21 ?1079次閱讀

    鴻蒙開發實戰:【ylong_http】解析

    ylong_http 構建了完整的 HTTP 能力,支持用戶使用 HTTP 能力完成通信場景的需求。
    的頭像 發表于 03-12 16:57 ?490次閱讀
    <b class='flag-5'>鴻蒙</b>開發實戰:【ylong_<b class='flag-5'>http</b>】解析

    鴻蒙OpenHarmony【 配置遠程訪問環境

    在搭建了Windows和Ubuntu開發環境后,需要通過下述設置,使得Windows可以遠程訪問Ubuntu,為后續燒錄文件的傳輸做好準備。
    的頭像 發表于 04-19 20:08 ?307次閱讀
    <b class='flag-5'>鴻蒙</b>OpenHarmony【 配置遠程<b class='flag-5'>訪問</b><b class='flag-5'>環境</b>】