HarmonyOS ArkUI之开发基础(网络请求)

域名2025-11-05 04:58:349

想了解更多内容,发基请访问:

和华为官方合作共建的础网鸿蒙技术社区

https://harmonyos.51cto.com

简介

前段时间一直研究ArkUI中的声明式开发,开发了一些demo,络请但都是发基界面相关的,相对来说比较基础,础网也比较简单。络请所以研究一下其他的发基,现在成熟的础网APP都会有网络交互,所以记录一篇网络请求相关的络请。b2b供应网

本项目界面搭建基于ArkUI中TS扩展的发基声明式开发范式,关于语法和概念直接看官网官方文档地址:

基于TS扩展的础网声明式开发范式1、基于TS扩展的络请声明式开发范式2

本文介绍开发基础知识(网络请求):

数据接口:聚合免费API(天气预报)

网络请求:ArkUI自带的网络请求

效果演示

开发步骤

1、声明网络请求权限

在 entry 下的发基 config.json 中 module 字段下配置权限

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

2、支持http明文请求

默认支持https,础网如果要支持http,络请在 entry 下的 config.json 中 deviceConfig 字段下配置

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

3、创建HttpRequest

// 导入模块 import http from @ohos.net.http; // 创建HttpRequest对象 let httpRequest = http.createHttp(); 

4、发起请求

GET请求(默认为GET请求)

// 请求方式:GET getRequest() {   // 每一个httpRequest对应一个http请求任务,香港云服务器不可复用   let httpRequest = http.createHttp()   let url = http://apis.juhe.cn/simpleWeather/query?key=397c9db4cb0621ad0313123dab416668&city=北京   httpRequest.request(url, (err, data) => {     // 处理数据   }) } 

POST请求

目前发现API的BUG:看官方文档method可以设置为字符串,从源码得知method的类型为:RequestMethod,但是设置 method: http.RequestMethod.POST 请求数据报错,设置成 method: http.POST 可以

// 请求方式:POST postRequest() {   // 每一个httpRequest对应一个http请求任务,不可复用   let httpRequest = http.createHttp()   let url = http://apis.juhe.cn/simpleWeather/query   httpRequest.request(url,     {       // 看源码得知method的类型为:RequestMethod       // 但是设置 method: http.RequestMethod.POST 报错       // 设置成 method: http.POST 可以       method: http.POST,       extraData: {         key: 397c9db4cb0621ad0313123dab416668,         city: 北京       }     },     (err, data) => {       // 处理数据     }) } 

5、解析数据(简单示例)

(1)网络请求到的json字符串

{     "name":"梁迪迪",     "age":"26",     "sex":"男" } 

 (2)创建相应的对象

class User {   name: string // 姓名   age: string // 年龄   sex: string // 性别 } 

(3)解析数据

// 请求方式:GET getRequest() {   // 每一个httpRequest对应一个http请求任务,不可复用   let httpRequest = http.createHttp()   let url =    httpRequest.request(url, (err, data) => {     // 处理数据     if (!err) {       if (data.responseCode == 200) {         // 解析数据         var user: User = JSON.parse(JSON.stringify(data.result))       }     }   }) } 

想了解更多内容,请访问:

和华为官方合作共建的IT技术网鸿蒙技术社区

https://harmonyos.51cto.com

本文地址:http://www.bzve.cn/news/427c63198941.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

以建荣SD卡量产工具教程(关键步骤详解,让你快速掌握SD卡量产技巧)

电脑重装系统win7教程(从备份数据到系统安装的一步步操作流程)

解决联想台式机无法找到硬盘的教程(解决联想台式机硬盘丢失问题的简单步骤)

教你轻松设置戴尔台式机的启动项(戴尔台式机启动项设置教程,让你的电脑开机更顺畅)

纽麦平板电脑拆机教程(一步步教你拆解纽麦平板电脑,让你轻松掌握拆机技巧)

拯救者R720装机教程(详细教你如何自己组装一台拯救者R720游戏电脑)

无U盘装机,轻松使用PE系统教程(教你如何使用PE系统进行无U盘装机)

华硕FX笔记本电脑的性能和特点(探索华硕FX笔记本电脑的强大功能与用户体验)

友情链接

滇ICP备2023006006号-39