【每日学点鸿蒙知识】调试、网络、缓存、富文本编辑等

ops/2025/1/11 19:16:58/

1、如何使用发布证书进行调试?

由于部分功能需要校验证书信息,所以需要使用调试证书和发布证书分别进行调试,但是使用发布证书后出现安装错误05/14 19:04:39: Install Failed: error: failed to install bundle.code:9568322error: signature verification failed due to not trusted app source.View detailed instructions.$ hdc shell rm -rf data/local/tmp/c07053e4cafe4f06bbbfecc3c2a697bbError while Deploy Hap。

规格问题;应用市场发布的发布证书,无法通过非应用市场渠道安装

如需要测试发布证书应用,可以考虑使用AGC->开放式测试

2、获取网络能力netBearType文档中定义为数组类型,是否是当前规格?

netBearType参数当wifi、蜂窝网络同时连接即双开场景下只会返回wifi的状态信息,使用时可能涉及多次调用情况定义为当前规格。

3、RichEditor上面有个Component,现在希望RichEditor和Component成为一个整体,能够自适应光标位置进行滚动,该如何实现?

RichEditor上面有个Component,现在希望RichEditor和Component成为一个整体,能够自适应光标位置进行滚动,应该如何实现,目前用Scroller无法获取RichEditor中光标的具体坐标(光标基于RichEditor的x和y位置),无法实现滚动。

用Scroll将RichEditor和Component包裹,通过onAreaChange的回调,调用scroller.scrollBy的能力,以此来改变滚动组件的高度。

参考代码:

@Entry
@Component
struct Index {editorController = new RichEditorController()scroller: Scroller = new Scroller()build() {Column() {Scroll(this.scroller) {Column() {Image($r('app.media.startIcon')).width('100%').height(200).margin({ bottom: 20 })RichEditor({ controller: this.editorController }).id('RichEditor').width('100%').backgroundColor(Color.Yellow).onReady(() => {this.editorController.addImageSpan($r("app.media.startIcon"),{imageStyle:{size: ["100px", "100px"]}})this.editorController.addTextSpan('男生女生向前冲',{style:{fontColor: Color.Blue,fontSize: 30}})}).onAreaChange((_, value) => {if (_.height !== value.height) {this.scroller.scrollBy(0, Number(value.height) - 200)console.log('---_.height', _.height)console.log('---value.height', value.height)}})Button('getSpans-文字').onClick((event: ClickEvent) => {let getSpans = this.editorController.getSpans({ start: 0 })console.log('getSpans0' + JSON.stringify(getSpans[0]))// 必须进行强转才能获取文字信息或者图片信息let span0 = getSpans[0] as RichEditorTextSpanResultconsole.log('文字相关的信息: ' + JSON.stringify(span0))})Button('getSpans-图片').onClick((event: ClickEvent) => {let getSpans = this.editorController.getSpans({ start: 0 })console.log('getSpans1' + JSON.stringify(getSpans[1]))let span1 = getSpans[1] as RichEditorImageSpanResultconsole.log('图片相关的信息: ' + JSON.stringify(span1))})Button('RichEditor获焦').onClick(() => {focusControl.requestFocus('RichEditor')})}}.scrollable(ScrollDirection.Vertical) // 滚动方向纵向.scrollBar(BarState.On) // 滚动条常驻显示.scrollBarColor(Color.Gray) // 滚动条颜色}}
}

4、LocalStorage和APPStorage保存复杂对象会产生性能问题的原因?

关于LocalStorage和APPStorage保存复杂对象性能问题的两点疑问:

  1. 频繁读写:频繁读写复杂对象时,为什么会导致页面的性能变差,是LocalStorage会影响页面的渲染吗?
  2. 数据结构:LocalStorage和APPStorage会把数据保存到本地吗?应该在内存里边吧,为什么会有序列化和反序列化的过程?

LocalStorage的读写操作是同步的,即当读取或写入LocalStorage时,程序会阻塞等待操作完成才会继续执行后续代码,所以不推荐整改修改复杂对象,这个new创建的时长是会影响刷新效率的;

LocalStorage和APPStorage在本地读取复杂对象时,不会进行序列化。

5、无网络环境下使用同步方法获取网络状态报错?

无网环境调用同步方法请求无法解析拿到nethandle对应内容,方法内部执行到getCap时产生报错,可采用try-catch方式获取报错信息:

try {let netHandle = connection.getDefaultNetSync();let connectionproperties = connection.getConnectionPropertiesSync(netHandle);
} catch(err) {console.info('error: ' + JSON.stringify(err));
}

http://www.ppmy.cn/ops/149222.html

相关文章

飞凌嵌入式i.MX8M Mini核心板已支持Linux6.1

飞凌嵌入式FETMX8MM-C核心板现已支持Linux6.1系统,此次升级不仅使系统功能更加丰富,还通过全新BSP实现了内存性能的显著提升。 基于NXP i.MX8M Mini处理器设计开发的飞凌嵌入式FETMX8MM-C核心板,拥有4个Cortex-A53高性能核和1个Cortex-M4实时…

在 Ubuntu 上安装和配置 Redis

在 Ubuntu 上安装和配置 Redis,并使用发布-订阅(Pub/Sub)功能,可以按照以下步骤进行: 一、安装 Redis 1. 更新包列表 首先,更新本地的包列表以确保获取到最新的软件包信息: sudo apt update…

工业5G路由器 赋能车联网,让大巴车 “智” 行无忧

随着通信技术及物联网的飞速发展,5G 技术逐渐渗透到各个领域,工业 5G 路由器在智慧大巴车场景中展现出了卓越的应用价值。 实时车辆监控与管理 工业 5G 路由器凭借其高速率、低延迟的特性,让大巴车运营中心能够实时获取车辆的位置信息、行驶…

Windows上使用VSCode开发linux C++程序

在Windows上使用VSCode开发C程序,同时需要在Linux机器上的Docker容器中编译和运行程序,可以通过一些工具和插件来简化开发和调试流程。以 1. Remote - SSH 插件(VSCode) VSCode的 Remote - SSH 插件可以让你直接在VSCode中通过S…

ISO20000是什么管理体系

一、ISO20000是什么管理体系 ISO20000是信息技术管理体系, 是第1部针对信息技术服务管理领域的国ji标准,也是一套有关如何采用流程方法有效地提供服务以满足客户业务需求的方法。 作为认证组织的IT运营和服务管理水平的国ji标准,ISO20000具体…

计算机网络之---HTTP协议

HTTP 协议详解 HTTP (Hypertext Transfer Protocol),即超文本传输协议,是用于Web浏览器和Web服务器之间进行通信的基础协议。它是应用层协议,定义了客户端(如浏览器)与服务器之间如何交换数据,特别是Web页…

在ubuntu下对NFS做性能测试

安装NFS 首先,安装服务 sudo apt update sudo apt install nfs-kernel-server然后创建共享文件夹 # 请自定义你自己的共享目录 sudo mkdir -p /exports/nfs4/homes sudo chmod -R 777 /exports/nfs4/homes# 这个可以根据no_root_squash标致选择设置。 # 如果不设…

学习第六十四行

vim 是一个功能强大的文本编辑器,提供了丰富的命令和功能。以下是一些常用的 vim 命令,按类别分类: 基本命令 打开文件: vim filename保存文件: :w:保存文件。:w filename:另存为新文件。 退出…