精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

鴻蒙開源三方組件--HttpClient組件 Kalle

開源
Kalle是一個HttpClient,它遵循Http標準協(xié)議,支持同步請求和異步請求。支持GET、HEAD、OPTIONS、TRACE、POST、PUT、PATCH、DELETE請求方法。

[[414837]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

背景

Kalle是一個HttpClient,它遵循Http標準協(xié)議,支持同步請求和異步請求。

特性

  • 支持GET、HEAD、OPTIONS、TRACE、POST、PUT、PATCH、DELETE請求方法
  • 表單的提交,如普通字符串表單、帶文件的表單(含多文件、大文件)
  • 自定義RequestBody,如文件、字符串(JSON、XML、普通字符串)
  • 支持SSL,默認不校驗證書,開發(fā)者可以自定義證書
  • 9種緩存模式,默認使用AES算法為緩存數(shù)據(jù)加密
  • 自動管理Cookie,遵循Http協(xié)議,與瀏覽器實現(xiàn)相同原理
  • 在任何時候取消請求,如未開始、正在執(zhí)行時
  • 全局反序列化轉(zhuǎn)換器,直接請求JavaBean
  • 基于攔截器的智能重定向與智能重試
  • 支持開發(fā)者添加攔截器,例如Log打印、登錄重試、參數(shù)簽名
  • 網(wǎng)絡(luò)可用性緩存檢查法,連接層可動態(tài)替換,如URLConnection、OkHttp或者ApacheHttpClient

組件示例效果

請求列表信息

  1. Kalle.get(UrlConfig.GET_LIST) 
  2.                 .param("pageNum", PAGE_NUMBER) 
  3.                 .param("pageSize", PAGE_SIZE) 
  4.                 .tag(this) 
  5.                 .perform(new SimpleCallback<NewsWrapper>(this) { 
  6.                     @Override 
  7.                     public void onResponse(SimpleResponse<NewsWrapper, String> response) { 
  8.                         if (response.isSucceed()) { 
  9.                             NewsWrapper wrapper = response.succeed(); 
  10.                             mDataList = wrapper.getDataList(); 
  11.                             mPage = wrapper.getPage(); 
  12.                             ListContainer listContainer = (ListContainer) findComponentById(ResourceTable.Id_normal_list_container); 
  13.                             MainItemProvider sampleItemProvider = new MainItemProvider(mDataList, NormalAbilitySlice.this); 
  14.                             listContainer.setItemProvider(sampleItemProvider); 
  15.                         } else { 
  16.                             new ToastDialog(NormalAbilitySlice.this) 
  17.                                     .setText(UrlConfig.GET_LIST + " response failed: " + response.failed()) 
  18.                                     .setAlignment(LayoutAlignment.CENTER) 
  19.                                     .show(); 
  20.                         } 
  21.                     } 
  22.                 }); 

上傳文件

  1. Kalle.post(UrlConfig.UPLOAD_BODY_FILE) 
  2.                 .urlParam("filename", file.getName()) 
  3.                 .body(new FileBody(file)) 
  4.                 .tag(this) 
  5.                 .perform(new DialogCallback<BodyInfo>(this) { 
  6.                     @Override 
  7.                     public void onResponse(SimpleResponse<BodyInfo, String> response) { 
  8.                         if (response.isSucceed()) { 
  9.                             bodyItems = null
  10.                             statusBtn.setText(uploadResultStr); 
  11.                         } else { 
  12.                             new ToastDialog(BodyAbilitySlice.this) 
  13.                                     .setText("you clicked:" + response.failed()) 
  14.                                     .setAlignment(LayoutAlignment.CENTER) 
  15.                                     .show(); 
  16.                         } 
  17.                     } 
  18.                 }); 

下載文件

  1. Kalle.Download.get(UrlConfig.DOWNLOAD) 
  2.                     .directory(AppConfig.get().PATH_APP_DOWNLOAD) 
  3.                     .fileName("sou.apk"
  4.                     .onProgress(new Download.ProgressBar() { 
  5.                         @Override 
  6.                         public void onProgress(int progress, long byteCount, long speed) throws NotExistException, WrongTypeException, IOException { 
  7.                             BigDecimal bg = new BigDecimal(speed / BYTE_NUMBER / BYTE_NUMBER); 
  8.                             String speedText = bg.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString(); 
  9.                             String downloadSpeed = resourceManager.getElement(ResourceTable.String_download_speed).getString(); 
  10.                             speedText = String.format(downloadSpeed, speedText); 
  11.                             viewSetProgress(progress, speedText); 
  12.                         } 
  13.                     }) 
  14.                     .perform(new DownloadCallback1(this)); 

如何使用

配置

如果需要,我們可以做一些個性化的配置,但是所有的配置項都不是必須的。

配置的Api如下:

  1. private void kalle() { 
  2.         Kalle.setConfig(KalleConfig.newBuilder() 
  3.                 .connectFactory(OkHttpConnectFactory.newBuilder().build()) 
  4.                 .cookieStore(DBCookieStore.newBuilder(this).build()) 
  5.                 .cacheStore(DiskCacheStore.newBuilder(AppConfig.get().PATH_APP_CACHE).build()) 
  6.                 .network(new BroadcastNetwork(this)) 
  7.                 .addInterceptor(new LoginInterceptor()) 
  8.                 .addInterceptor(new LoggerInterceptor("KalleSample", BuildConfig.DEBUG)) 
  9.                 .converter(new JsonConverter(this)) 
  10.                 .build()); 

連接

Kalle是一個完全獨立的網(wǎng)絡(luò)庫,它不限制任何實現(xiàn)Http協(xié)議底層連接庫,因此它允許開發(fā)者自行決定使用何種底層連接庫,比如URLConnection、OkHttp、HttpClient。為了減小編譯后Kalle的大小,Kalle默認提供了基于URLConnection的底層連接庫(因為URLConnction是Java默認自帶的),同時實現(xiàn)了基于OkHttp`的備用的底層連接庫,有興趣的開發(fā)者可以自行實現(xiàn)基于其它項目的底層連接庫。

Http請求

Http請求從請求方法上可以分為兩大類,我們把它們稱為Url類請求(UrlRequest)和Body類請求(BodyRequest),因為一類只可以是簡單的url,而另一類不僅僅可以是簡單的url,也可以使用流來發(fā)送自定義RequestBody。

Url類的請求方法:

  1. GET, HEAD, OPTIONS, TRACE 

Body類的請求方法:

  1. POST, PUT, DELETE, PATCH 

對于Url類請求,需要構(gòu)建UrlRequest,例如下面這段代碼構(gòu)建的UrlRequest,最終的url是http://www.example.com?name=kalle&password=123:

  1. Url.Builder url = Url.newBuilder("http://www.example.com"); 
  2. UrlRequest urlRequest = UrlRequest.newBuilder(url, RequestMethod.GET) 
  3.     .param("name", kalle) 
  4.     .param("password", 123) 
  5.     .build(); 

BodyRequest的用法和UrlRequest基本是完全一致的:

  1. Url.Builder url = Url.newBuilder("http://www.example.com"); 
  2. BodyRequest bodyRequest = BodyRequest.newBuilder(url, RequestMethod.GET) 
  3.     .param("name", kalle) 
  4.     .param("password", 123) 
  5.     .build(); 

進度

進度監(jiān)聽一般用于Body類型的請求,一般用于表單文件上傳、PUSH自定義RequestBody等。

基于表單時我們可以監(jiān)聽某個文件的上傳進度,也可以監(jiān)聽整個表單的發(fā)送進度:

  1. FileBinary header = new FileBinary(new File("/sdcard/header.jpg")) 
  2.     .onProgress(new OnProgress<FileBinary>() { 
  3.         @Override 
  4.         public void progress(FileBinary origin, int progress) { 
  5.             // 文件1的進度:progress. 
  6.         } 
  7.     }); 
  8. FileBinary banner = new FileBinary(new File("/sdcard/banner.jpg")) 
  9.     .onProgress(new OnProgress<FileBinary>() { 
  10.         @Override 
  11.         public void progress(FileBinary origin, int progress) { 
  12.             // 文件2的進度:progress. 
  13.         } 
  14.     }); 
  15.  
  16. FormBody formBody = FormBody.newBuilder() 
  17.     .param("name""kalle"
  18.     .param("age", 18) 
  19.     .binary("header", header) 
  20.     .binary("banner", banner) 
  21.     .build(); 
  22. formBody.onProgress(new OnProgress<FormBody>() { 
  23.     @Override 
  24.     public void progress(FormBody origin, int progress) { 
  25.         // 整體進度:progress. 
  26.     } 
  27. }); 
  28.  
  29. Kalle.post(UrlConfig.UPLOAD_BODY_FILE) 
  30.     .urlParam("filename""qq.apk"
  31.     .body(formBody) 
  32.     .perform(...); 

集成方式

自行編譯工程entity、yoga、yoga_layout、fb生成libyoga.so、libfb.so、libyogacore.so

將其添加到要集成的libs文件夾內(nèi),在entity的gradle內(nèi)添加如下代碼。

方式一:

通過library生成har包,添加har包到libs文件夾內(nèi)。

在entry的gradle內(nèi)添加如下代碼:

  1. implementation fileTree(dir:'libs', include:['*.jar','*.har']) 

方式二:

  1. allprojects{ 
  2.     repositories{ 
  3.         mavenCentral() 
  4.     } 
  5. implementation 'io.github.dzsf:kalle:1.0.0' 
  6. implementation 'io.github.dzsf:okalle:1.0.0' 

復制附錄1:相關(guān)資料

IDE官方下載地址:https://developer.harmonyos.com/cn/develop/deveco-studio

原組件GitBook地址:https://yanzhenjie.com/Kalle

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-08-09 10:24:49

鴻蒙HarmonyOS應用

2021-03-10 15:03:40

鴻蒙HarmonyOS應用

2021-04-29 14:32:24

鴻蒙HarmonyOS應用

2021-08-03 12:47:58

鴻蒙HarmonyOS應用

2021-04-28 15:07:06

鴻蒙HarmonyOS應用

2021-03-24 09:30:49

鴻蒙HarmonyOS應用

2021-04-28 09:56:44

鴻蒙HarmonyOS應用

2021-08-04 14:16:41

鴻蒙HarmonyOS應用

2021-08-26 16:07:46

鴻蒙HarmonyOS應用

2021-08-03 10:07:41

鴻蒙HarmonyOS應用

2021-04-20 15:06:42

鴻蒙HarmonyOS應用

2021-08-30 17:55:58

鴻蒙HarmonyOS應用

2021-04-08 14:57:52

鴻蒙HarmonyOS應用

2021-07-06 18:21:31

鴻蒙HarmonyOS應用

2021-08-05 15:06:30

鴻蒙HarmonyOS應用

2021-03-03 09:42:26

鴻蒙HarmonyOS圖片裁剪

2021-03-01 14:00:11

鴻蒙HarmonyOS應用

2021-11-17 15:37:43

鴻蒙HarmonyOS應用

2021-07-20 15:20:40

鴻蒙HarmonyOS應用

2021-04-15 17:47:38

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術(shù)棧公眾號

精品国产成人系列| 亚洲美女视频在线| 国产精品视频久久久久| 中文字幕影音先锋| 秋霞蜜臀av久久电影网免费| 欧美三级日韩三级国产三级| 国产一级大片免费看| 亚洲 精品 综合 精品 自拍| 日产欧产美韩系列久久99| 欧美成年人视频网站欧美| 少妇饥渴放荡91麻豆| 欧美一级网址| 欧美日韩中文字幕在线视频| 色撸撸在线观看| 精品欧美不卡一区二区在线观看 | 久久精品国产99国产精品澳门| 男人添女人荫蒂国产| 中文另类视频| 婷婷久久综合九色综合绿巨人| 亚洲国产日韩美| 午夜视频免费看| 国产乱淫av一区二区三区| 国产97在线观看| 国产中文字幕免费| 久久久久国产| 深夜福利一区二区| 最近中文字幕免费视频| 国产图片一区| 欧美一卡二卡在线观看| 鲁一鲁一鲁一鲁一av| 欧美裸体视频| 亚洲成人在线免费| 欧美做受777cos| 黄视频网站在线| 欧美国产精品一区二区| 欧美三级华人主播| 午夜视频免费看| 99久久精品情趣| 国产精品久久7| 亚洲精品一区二区三区蜜桃| 国产精品伊人色| 91九色国产在线| 国产精品玖玖玖| 久久久久91| 国产91色在线| 波多野结衣电影在线播放| 国产精品一区毛片| 欧美诱惑福利视频| 国产91精品一区| 久久这里有精品15一区二区三区| 欧美亚洲另类在线| 中文字幕一区在线播放| 亚洲激情在线| 欧美一区二粉嫩精品国产一线天| 在线观看亚洲欧美| 国产偷自视频区视频一区二区| 午夜精品福利电影| 国产精品100| 欧美亚洲三级| 国产成人97精品免费看片| 国产精品suv一区| 日韩精品亚洲专区| 国产裸体写真av一区二区| 中文字幕人妻一区二区三区视频 | 国产一区亚洲| 欧美精品久久久久a| 久久综合色综合| 在线视频精品| 国产精品极品美女在线观看免费 | 国产午夜精品麻豆| 国产成人无码精品久久二区三| 精品99久久| 日韩中文av在线| 欧美精品成人久久| 一本不卡影院| 国产精品h在线观看| 亚洲专区在线播放| 国v精品久久久网| 久久riav二区三区| 日本在线观看www| 亚洲精品伦理在线| 欧美亚洲一二三区| 欧美啪啪网站| 精品99999| 中字幕一区二区三区乱码 | www.av蜜桃| 户外露出一区二区三区| 91精品久久久久久蜜臀| 波多野结衣加勒比| 欧美色女视频| 欧美风情在线观看| 草莓视频18免费观看| 黄色小说综合网站| 久久久综合亚洲91久久98| 思思99re6国产在线播放| 亚洲小说欧美激情另类| 久久综合伊人77777麻豆最新章节| 欧美在线一级| 亚洲免费一在线| 少妇aaaaa| 久久天堂精品| 国产精品对白刺激久久久| 免费黄色片在线观看| 日韩一区日韩二区| 午夜肉伦伦影院| 日本在线一区二区三区| 一本色道久久综合狠狠躁篇怎么玩 | 天天综合精品| 97超碰色婷婷| h狠狠躁死你h高h| 国产午夜一区二区三区| 日韩精品在线视频免费观看| 精品女同一区二区三区在线观看| 亚洲国产精品久久久久秋霞不卡 | 国产国产精品| 国产91色在线|免| 亚洲女人18毛片水真多| 中文字幕五月欧美| 久久综合久久色| 国产精品视屏| 欧美大荫蒂xxx| 91极品身材尤物theporn| 2024国产精品视频| 69sex久久精品国产麻豆| 综合久草视频| 中文字幕久久精品| 久久久精品毛片| 93久久精品日日躁夜夜躁欧美| 欧美一级爱爱视频| 精品久久国产一区| 久久精品国产亚洲7777| 亚洲特级黄色片| 国产色91在线| 欧美精品无码一区二区三区| 亚洲精品456| 777国产偷窥盗摄精品视频| 亚洲精品一区二区三区新线路| 国产精品久久久久久福利一牛影视| 999在线免费视频| 伊人久久大香线蕉综合网站| 4438全国成人免费| 五月婷婷在线播放| 狠狠色噜噜狠狠狠狠97| 超碰97在线资源站| 亚洲免费一区二区| 欧美成人在线免费观看| 中文字幕21页在线看| 精品亚洲夜色av98在线观看| 久久久久久久久久久久久av| 久久一区二区三区四区| 黄色一级二级三级| 波多野结衣在线观看一区二区| 国产精品久久999| a黄色在线观看| 欧美精品自拍偷拍| 污污的视频在线免费观看| 国产一区在线观看视频| 黄色影视在线观看| 999在线精品| 91国内在线视频| 国产毛片av在线| 91麻豆精品国产91久久久久久| 免费在线黄色网| caoporm超碰国产精品| www.爱色av.com| 欧美天天综合| 999视频在线免费观看| 98色花堂精品视频在线观看| 日韩精品中文字幕在线观看| 伊人成年综合网| 1区2区3区欧美| 911亚洲精选| 久久高清免费观看| 亚洲图片都市激情| 亚洲精选av| 日韩免费视频在线观看| 色的视频在线免费看| 精品久久人人做人人爽| 久草手机在线视频| 中文字幕va一区二区三区| 一个人看的视频www| 国产亚洲一级| 亚洲一区3d动漫同人无遮挡 | 欧美sm美女调教| youjizz在线视频| 最新久久zyz资源站| 日本一区二区免费视频| 日本中文一区二区三区| 成品人视频ww入口| 波多野结衣在线播放一区| 99久久国产免费免费| 欧美va在线观看| 久久人人爽人人爽人人片av高清| 北条麻妃在线| 精品区一区二区| 中文字幕男人天堂| 婷婷综合五月天| 国产精品丝袜一区二区| 久久久综合激的五月天| www.日本久久| 青青国产91久久久久久| 久久久久久久久久网| 亚洲91中文字幕无线码三区| 另类小说综合网| 9l视频自拍九色9l视频成人| 国产精品影片在线观看| 国产高清视频色在线www| 久久精品中文字幕电影| 国产福利在线| 亚洲精品成人免费| 国产精品一区二区黑人巨大| 日韩欧美中文在线| 日本熟妇色xxxxx日本免费看| 国产精品国产馆在线真实露脸| 在线 丝袜 欧美 日韩 制服| 处破女av一区二区| 手机在线观看日韩av| 男女男精品视频网| 国产精品第12页| 一本色道久久综合亚洲精品不| 永久免费看av| 999国产精品999久久久久久| 欧美一区二区在线| 欧美性生活一级片| 成人免费在线一区二区三区| 日韩欧美激情| 国产欧美日韩综合精品| 欧美一级大片| 欧洲精品久久久| 狠狠操一区二区三区| 久久久影视精品| 日本在线视频网址| 久久国产精品亚洲| mm1313亚洲国产精品美女| 日韩性生活视频| 午夜免费播放观看在线视频| 一区二区在线免费视频| 成人亚洲综合天堂| 亚洲小视频在线观看| 国产精品久久一区二区三区不卡 | 国产传媒免费在线观看| 国产精品久久久久久久久动漫| 免费一级特黄3大片视频| 欧美激情在线免费观看| 大胸美女被爆操| 国产精品嫩草影院av蜜臀| 性爱在线免费视频| 国产精品免费视频网站| 欧美xxxooo| 亚洲色图一区二区三区| 希岛爱理中文字幕| 亚洲精品国产成人久久av盗摄 | 国产日韩综合| 欧美性大战久久久久xxx| 久久亚洲色图| 一区二区三区 欧美| 精品无码三级在线观看视频| 国产高清999| 国产成人综合网| 污片免费在线观看| 2021中文字幕一区亚洲| 调教驯服丰满美艳麻麻在线视频| 国产精品视频yy9299一区| 99自拍视频在线| 亚洲自拍偷拍麻豆| 久久久久久少妇| 在线观看av不卡| 国产女人高潮毛片| 亚洲成人1234| 麻豆国产在线播放| 色偷偷噜噜噜亚洲男人| 手机在线免费看av| 欧洲成人在线观看| 日韩欧美专区| 精品人伦一区二区三区| 欧美理论在线播放| 日本黄网站色大片免费观看| 国产一区二区你懂的| 国产3p在线播放| 成人综合激情网| 一区二区三区久久久久| 亚洲精品免费一二三区| 国产91精品一区| 欧美乱熟臀69xxxxxx| 韩国av免费在线观看| 夜夜嗨av一区二区三区免费区| 亚洲综合伊人久久大杳蕉| 欧美在线观看日本一区| 麻豆精品久久| 欧美一区亚洲二区| 国语对白精品一区二区| 亚洲黄色a v| 成人动漫在线一区| 欧美一区二区三区粗大| 亚洲成人自拍偷拍| 91亚洲国产成人精品一区| 亚洲精品720p| 黄色网页网址在线免费| 奇门遁甲1982国语版免费观看高清| 国产精品白丝久久av网站| 鲁鲁狠狠狠7777一区二区| 一区二区三区午夜视频| 国产二区视频在线播放| 国产传媒久久文化传媒| 美国黑人一级大黄| 天天做天天摸天天爽国产一区| 国产欧美第一页| 一道本无吗dⅴd在线播放一区 | 91成人在线看| 成人在线免费视频观看| 中文字幕欧美精品日韩中文字幕| 午夜精品久久久久久久99热影院| 激情综合网最新| 熟女高潮一区二区三区| 亚洲一区二区在线免费看| 97av免费视频| 在线观看国产精品91| 欧美freesex黑人又粗又大| 99久久伊人精品影院| 天天天综合网| 日本人69视频| 国产日韩欧美一区二区三区乱码| 国产成人自拍视频在线| 日韩欧美一区中文| 成人国产免费电影| 国产精品入口尤物| 成人在线免费观看网站| 免费裸体美女网站| 91蜜桃婷婷狠狠久久综合9色| 国产无码精品一区二区| 日韩亚洲欧美一区| h网站久久久| 亚洲aa在线观看| 91精品国产91久久久久久黑人| 三级视频中文字幕| 中文字幕av在线一区二区三区| www.久久视频| 夜夜嗨av色综合久久久综合网| 欧美大胆成人| 欧美一区二区三区在线播放| 老司机亚洲精品| 亚洲а∨天堂久久精品2021| 欧美怡红院视频| 2021av在线| 91精品视频一区| 欧美永久精品| 成年人小视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 99视频在线| 精品99视频| 在线免费观看污视频| 欧美日韩在线视频一区| 天堂av电影在线观看| 国产成人+综合亚洲+天堂| 日韩欧美中文| 国内精品国产三级国产aⅴ久| 伊人一区二区三区| 天堂在线观看免费视频| 国产成人精品一区| 日韩精品欧美| av在线免费观看不卡| 亚洲6080在线| 国产中文在线观看| 国产精品视频一区国模私拍| 国产精品91一区二区三区| 韩国三级与黑人| 亚洲.国产.中文慕字在线| 色网站在线免费观看| 国产精品伦子伦免费视频| 亚洲人metart人体| 亚洲一级av无码毛片精品| 色婷婷综合在线| 国产在线激情| 久久久精品动漫| 麻豆精品一区二区| www.youjizz.com亚洲| 亚洲欧洲在线视频| 日韩免费大片| 欧美三级一级片| 中文字幕中文字幕一区| 蜜臀av中文字幕| 国产精品普通话| 欧美性色综合| 五月天精品在线| 亚洲国产精品va在线看黑人| gogo亚洲高清大胆美女人体| 四虎永久免费网站| 91视频你懂的| 99国产精品久久久久久久成人| 2021久久精品国产99国产精品| 香港欧美日韩三级黄色一级电影网站| 成年女人免费视频| 欧美日韩在线播放| 牛牛精品一区二区| 看一级黄色录像| 国产清纯美女被跳蛋高潮一区二区久久w| av网站在线观看免费| 国产a∨精品一区二区三区不卡| 欧美精品国产一区| 午夜国产福利视频|