当前位置: 首页 > 科技观察

HarmonyOSArkUI的开发基础(网络求助)

时间:2023-03-12 03:21:54 科技观察

更多内容请访问:https://harmonyos.51cto.com,与华为官方共同打造的鸿蒙技术社区开发,已经开发了一些demo,但是都是和界面相关的,比较基础和简单。所以看看其他的,现在成熟的app都会有网络交互,所以记录一篇网络请求相关的文章。本项目的界面基于ArkUI中TS扩展的声明式开发范式。语法和概念请参考官网官方文档地址:TSextension-baseddeclarativedevelopmentparadigm1,TSextension-baseddeclarativedevelopmentparadigm2本文介绍开发基础(网络请求):数据接口:聚合免费API(天气预报)网络请求:ArkUI内置网络请求效果演示开发步骤1.声明网络请求权限,在config.json中模块字段下配置权限"reqPermissions":[{"name":"ohos.permission.INTERNET"}]2.支持http明文请求,默认支持https。如果要支持http,在config.json的deviceConfig字段下配置"default"entry:{"network":{"cleartextTraffic":true}}3.创建HttpRequest//导入模块importhttpfrom'@ohos.net。http';//创建HttpRequest对象lethttpRequest=http.createHttp();4.发起请求GET请求(默认为GET请求)//请求方法:GETgetRequest(){//每个httpRequest对应一个http请求任务,不能重复使用lethttpRequest=http.createHttp()leturl='http://apis.juhe.cn/simpleWeather/query?key=397c9db4cb0621ad0313123dab416668&city=Beijing'httpRequest.request(url,(err,data)=>{//processingdata})}POSTrequest目前发现的APIbug:看官方文档方法可以设置为字符串,从中知道方法源码中类型为:RequestMethod,但是设置方法:http.RequestMethod.POST请求数据错误,设置为方法:http.POST即可//请求方法:POSTpostRequest(){//对应每个httpRequest一个http请求任务不能重复使用lethttpRequest=http.createHttp()leturl='http://apis.juhe.cn/simpleWeather/query'httpRequest.request(url,{//看源码知道方法typeis:RequestMethod//butsetmethod:http.RequestMethod.POSTerror//settomethod:http.POSTcanmethod:http.POST,extraData:{'key':'397c9db4cb0621ad0313123dab416668','city':'北京'}},(err,data)=>{//处理数据})}5.分析数据(简单例子)(1)网络请求收到的json字符串{"name":"梁滴滴","age":"26","sex":"male"}(2)创建对应对象classUser{name:string//nameage:string//agesex:string//gender}(3)解析数据//requestmethod:GETgetRequest(){//每个httpRequest对应一个http请求任务,不能重复使用lethttpRequest=http.createHttp()leturl=''httpRequest.request(url,(err,data)=>{//processingdataif(!err){if(data.responseCode==200){//解析数据varuser:User=JSON.parse(JSON.stringify(data.result))}}})}Form矿石信息请访问:与华为鸿蒙技术社区共建https://harmonyos.51cto.com