一起学习HarmonyOS应用开发——基础篇(9)

48 阅读1分钟

1710381967224.jpg

前言,前面几篇一直在说基础组件和容器组件的使用,这些都是本地的数据处理,接下来说一下如何和服务器进行数据交互,那就是如何使用网络请求数据。

HTTP数据请求:通过HTTP发起一个网络请求,支持GET、POST、PUT等方法。今天先说一下GET方法的使用,因为这个在浏览器也可以立马得到验证。

1、先加入网络权限。从应用权限列表中看出该网络权限是system_grant授权方式,所以不需要用户手动同意。

image.png

image.png

module.json5文件中添加权限由于这个权限授权方式是system_grant,所以写法就很简单。如果是user_grant的话,这里就需要多一些标签字段配置项。"requestPermissions": [      {        "name": "ohos.permission.INTERNET"      }]

2、在文件第一行记得导入http命名空间(才能顺利调用),然后使用createHttp方法得到一个HttpRequest对象,然后调用request方法,在里面传入请求api地址和参数,最后请求使用完后记得使用destroy()方法主动销毁。

image.png

import http from '@ohos.net.http';@Entry@Componentstruct HttpTest {  build(){    Column() {      Button('网络请求').onClick(() => {        let httpRequest = http.createHttp();        httpRequest.request(          // 填写HTTP请求的URL地址:鸿洋大神搭建的免费api接口          "https://wanandroid.com/article/list/0/json",          {            method: http.RequestMethod.GET,            header: {              'Content-Type': 'application/json'            },            extraData: {              "author""鸿洋",//传递的参数            },            expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型            usingCache: true, // 可选,默认为true            priority: 1, // 可选,默认为1            connectTimeout: 60000, // 可选,默认为60000ms            readTimeout: 60000, // 可选,默认为60000ms            usingProtocol: http.HttpProtocol.HTTP1_1, // 可选,协议类型默认值由系统自动指定          }, (err, data) => {          if (!err) {            console.log('李乾乾'+data.result.toString())          } else {            console.info('error:' + JSON.stringify(err));            // 当该请求使用完毕时,调用destroy方法主动销毁            httpRequest.destroy();          }        }        );      })    }  }}