鸿蒙开发:切换至基于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(远场通信服务)。

相关文章
|
23天前
|
JavaScript 安全 前端开发
【HarmonyOS开发】ArkTS基础语法及使用(鸿蒙开发基础教程)
【HarmonyOS开发】ArkTS基础语法及使用(鸿蒙开发基础教程)
277 4
|
23天前
|
存储 数据安全/隐私保护
鸿蒙开发:自定义一个动态输入框
在鸿蒙开发中,如何实现这一效果呢,最重要的解决两个问题,第一个问题是,如何在上一个输入框输入完之后,焦点切换至下一个输入框中,第二个问题是,如何禁止已经输入的输入框的焦点,两个问题解决完之后,其他的就很是简单了。
48 13
鸿蒙开发:自定义一个动态输入框
|
26天前
|
小程序 测试技术 API
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
本文详细介绍元服务的开发及上架全流程,涵盖元服务的特点、创建项目、服务卡片、签名打包、开发测试及上架审核等环节,帮助开发者轻松掌握从零开始开发并发布元服务的全过程。元服务以其轻量、免安装、易于使用等特点,成为未来服务提供的重要形式。
66 13
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
|
1月前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
25天前
|
存储 网络协议 物联网
C 语言物联网开发之网络通信与数据传输难题
本文探讨了C语言在物联网开发中遇到的网络通信与数据传输挑战,分析了常见问题并提出了优化策略,旨在提高数据传输效率和系统稳定性。
|
28天前
|
传感器 数据处理 数据库
鸿蒙开发Hvigor插件动态生成代码
【11月更文挑战第13天】Hvigor 是鸿蒙开发中的构建系统插件,主要负责项目的构建、打包及依赖管理,并能根据预定义规则动态生成代码,如数据库访问、网络请求等,提高开发效率和代码一致性。适用于大型项目初始化和组件化开发。
|
26天前
|
Android开发 索引
鸿蒙开发:自定义一个车牌省份简称键盘
鸿蒙搞起来就比较的简单,直接一个Grid组件便可以搞定,最后的删除按钮,使用布局选项GridLayoutOptions便可轻松实现。
鸿蒙开发:自定义一个车牌省份简称键盘
|
28天前
|
安全 UED 开发者
鸿蒙开发:沉浸式效果实现
沉浸式效果实现后,一定要注意安全区域的内容避让,防止内容延伸后被导航条或者状态栏遮挡,具体是选择安全区域或者窗口管理方式,按照需求进行处理,如果仅仅是某个页面,直接安全区域即可。
鸿蒙开发:沉浸式效果实现
|
1月前
|
UED
鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了强大的相机开发能力,特别是针对折叠屏设备的摄像头适配。本文详细介绍了如何在ArkTS中检测和适配不同折叠状态下的摄像头变更,确保相机应用在不同设备状态下的稳定性和用户体验。通过代码示例展示了具体的实现步骤。
68 8
|
1月前
|
API 内存技术
鸿蒙next版开发:相机开发-拍照(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机功能,特别是拍照功能。本文详细介绍如何在ArkTS中实现拍照功能,包括导入接口、创建会话、配置会话、触发拍照及监听拍照输出流状态,并提供代码示例进行详细解读。通过本文,你将掌握如何在HarmonyOS 5.0中使用ArkTS实现高效的拍照功能。
83 7