鸿蒙开发:切换至基于rcp的网络请求

简介: 本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。

前言

之前开源了一个基于http封装的网络请求,具体的可以查看之前的文章,奈何随着Api的升级,目前又推荐了另一个Api形式进行网络通信,也就是基于Remote Communication Kit(远场通信服务)只能感叹一声,Api变化的真实迅速啊,有点跟不上官方的节奏了。

为了便于以后得Api的维护,怎么办?只能再根据Remote Communication Kit(远场通信服务)再重新搞一个,毕竟以后的演进都是基于此了。

本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。

本文的内容如下:

1、Remote Communication Kit(远场通信服务)简单介绍

2、http库快速使用

3、http库和net库的差异点

4、http库相关总结

一、Remote Communication Kit(远场通信服务)简单介绍

Remote Communication Kit(远场通信服务)是华为提供的HTTP发起数据请求的NAPI封装,应用通过Remote Communication Kit可便捷快速地向服务器发起数据请求。

使用Remote Communication Kit的主要业务流程如下:

1、应用客户端创建会话。

2、应用客户端发起请求。

3、应用客户端接收请求结果,处理相应业务。

二、http库快速使用

中心仓库地址:https://ohpm.openharmony.cn/#/cn/detail/@abner%2Fhttp

目前封装好的http库已经提交至了中心仓库,大家可以在中心仓库进行查看使用,除了个别地方有差异之外,各个功能完全和net库一样,方便原来使用net的的同学进行无缝衔接。

远程依赖方式使用【推荐】

方式一:在Terminal窗口中,执行如下命令安装三方包,DevEco Studio会自动在工程的oh-package.json5中自动添加三方包依赖。

议:在使用的模块路径下进行执行命令。

ohpm install @abner/http

方式二:在工程的oh-package.json5中设置三方包依赖,配置示例如下:

"dependencies": { "@abner/http": "^1.0.0"}

三、http库和net库的差异点

差异点一,拦截器

拦截器不同,net库是基于http进行封装的,http是没有拦截器一说的,为了实现net库的请求拦截,做了一层同步回调处理,而http库是基于Remote Communication Kit(远场通信服务)进行封装的,自带的就有拦截器,可以在全局或者单独请求时进行配置。

全局配置

全局配置可以应对每一个网络请求。

Net.getInstance().init({
      interceptors: [new GlobalInterceptor()]
    })

也可以通过

Net.getInstance().setInterceptors([new GlobalInterceptor()])

单个配置

单个配置仅仅适用于当前的网络请求。

Net.post("/cert/xx")
          .setInterceptor(new TestInterceptor())//单独增加拦截器
            // .setRequestInterceptors() //可以通过这个方法,设置只加载自身拦截器,过滤掉全局
          .setParams({
            "index_type": -1,
            "size": 1,
          })
          .requestString((result) => {
            console.log("===success:" + result)
          }, (err) => {
            console.log("===error:" + err.getMessage())
          })

差异点二,个别属性参数不一样

毕竟Api发生了变化,相关的方法也会有着不一样,比如设置连接超时,读取超时等等,需要采用新的方法进行适配。

四、http库相关总结

和net库有着异曲同工之处,所以,之前如果你使用的是net库,可以无缝衔接,当然了,官方也没有说删除Api http,所以针对Api http也是可以使用的,既然官方已经标注了,大家还是尽量使用Remote Communication Kit(远场通信服务)。

相关文章
|
6天前
|
UED
鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了强大的相机开发能力,特别是针对折叠屏设备的摄像头适配。本文详细介绍了如何在ArkTS中检测和适配不同折叠状态下的摄像头变更,确保相机应用在不同设备状态下的稳定性和用户体验。通过代码示例展示了具体的实现步骤。
29 8
|
6天前
|
API 内存技术
鸿蒙next版开发:相机开发-拍照(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机功能,特别是拍照功能。本文详细介绍如何在ArkTS中实现拍照功能,包括导入接口、创建会话、配置会话、触发拍照及监听拍照输出流状态,并提供代码示例进行详细解读。通过本文,你将掌握如何在HarmonyOS 5.0中使用ArkTS实现高效的拍照功能。
25 7
|
6天前
|
监控 开发者
鸿蒙next版开发:使用HiDebug获取调试信息(ArkTS)
在HarmonyOS 5.0中,HiDebug是一个强大的应用调试工具,可帮助开发者获取系统的CPU使用率、内存信息等关键性能数据。本文详细介绍了如何在ArkTS中使用HiDebug,并提供了示例代码,帮助开发者进行性能分析和问题诊断。
24 7
|
1天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
6天前
|
前端开发 API
鸿蒙next版开发:相机开发-预览(ArkTS)
在HarmonyOS 5.0中,使用ArkTS进行相机预览是核心功能之一。本文详细介绍了如何使用ArkTS实现相机预览,包括导入相机接口、创建Surface、获取相机输出能力、创建会话并开始预览,以及监听预览输出状态等步骤,并提供了代码示例。通过本文,读者可以掌握在HarmonyOS 5.0中使用ArkTS进行相机预览的基本方法。
23 6
|
6天前
|
编解码 开发工具 计算机视觉
鸿蒙5.0版开发:命令行工具(mediatool工具)
在HarmonyOS 5.0的开发中,命令行工具mediatool基于FFmpeg库,提供了丰富的媒体处理功能,如视频和音频的转码、封装格式转换、提取媒体信息等。本文详细介绍mediatool的功能和使用方法,并提供代码示例。
24 6
|
6天前
|
监控 Shell API
鸿蒙next版开发:使用HiChecker检测问题(ArkTS)
在HarmonyOS 5.0中,HiChecker是一个强大的工具,帮助开发者检测应用中的潜在问题,如耗时调用和资源泄露。本文详细介绍了如何在ArkTS中使用HiChecker,包括添加检测规则、触发检测和日志输出等步骤,并提供了示例代码。通过合理使用HiChecker,开发者可以提高应用的稳定性和性能。
21 6
|
6天前
|
前端开发 开发者
鸿蒙next版开发:相机开发-元数据(ArkTS)
在HarmonyOS 5.0中,ArkTS新增了对相机元数据的访问能力,帮助开发者获取图像的详细信息。本文介绍了如何在ArkTS中获取和使用相机元数据,包括导入接口、创建元数据输出流、开启和停止元数据输出、监听元数据对象可用事件等步骤,并提供了详细的代码示例。
23 5
|
6天前
|
前端开发 API 开发者
鸿蒙next版开发:相机开发-录像(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机录像功能。本文详细介绍了如何在ArkTS中实现录像功能,包括导入接口、创建Surface、获取相机输出能力、创建会话并开始录像以及监听录像输出流状态,并提供了代码示例进行解读。希望本文能帮助开发者更好地利用ArkTS的相机录像功能。
21 5
|
6天前
|
监控 开发者 UED
鸿蒙5.0版开发:订阅卡死事件(ArkTS)
在HarmonyOS 5.0中,开发者可以通过ArkTS订阅应用的卡死事件,以便在应用卡死时进行处理。本文详细介绍如何在ArkTS中订阅卡死事件,并提供示例代码。通过导入hiAppEvent和hilog模块,设置自定义参数,添加事件观察者,开发者可以监控应用稳定性并在问题发生时快速定位原因。示例代码展示了如何创建按钮订阅卡死事件,并在事件发生时通过回调函数处理和记录日志。
22 5