鸿蒙NEXT开发实战
文章平均质量分 50
一起鸿蒙吧!
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
积跬步DEV
一枚开发工程师!
展开
-
鸿蒙 Next 开发问题备忘
1,鸿蒙DevEco Studio 机测试Failure[INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED]勾选自动签名,然后自动跳转登录华为网站,登录即可。原创 2024-04-28 14:31:37 · 481 阅读 · 0 评论 -
鸿蒙如何在父组件中调用子组件封装的方法
可以定义一个controller类,在controller类中定义和子组件中类型相同的方法,在子组件中将实际封装的方法给到controller。父组件在使用时,new一个controller对象然后转入子类中,在父组件中调用controller对应的方法即可。原创 2024-08-22 15:25:54 · 28 阅读 · 0 评论 -
鸿蒙 ArkUI 的 MVVM 模式
应用通过状态去渲染更新UI是程序设计中相对复杂,但又十分重要的,往往决定了应用程序的性能。目前很多关于UI构造和更新的问题,都是由于ViewModel的设计并没有很好的支持自定义组件的渲染,或者试图去让自定义组件强行适配Model层,而中间没有用ViewModel来进行分离。虽然与强制将UI拟合到SQL数据库模式(MV模式)相比,MVVM的设计比较复杂,但应用程序开发人员可以通过ViewModel层的隔离,来简化UI的设计和实现,以此来收获更好的UI性能。Model层:存储数据和相关逻辑的模型。原创 2024-07-31 21:10:50 · 56 阅读 · 0 评论 -
如何处理耗时任务并发执行场景
这些类型的任务使用TaskPool可以简化开发工作量,避免管理复杂的生命周期,避免线程泛滥,开发者只需要将上述独立的任务放入TaskPool队列,再等待结果即可。ArkTS提供了任务池(TaskPool)的并发能力,可以将独立的耗时任务分发到子线程中执行,满足上述业务场景并行化执行的诉求,开发者只需要如下三个步骤即可完成任务并发编程。由于执行时间较长的任务会占据任务池中的线程,导致其他任务没有空闲线程调度,因此对于一直占据任务线程执行超过3分钟的任务,系统会进行回收。将图片或视频进行编解码再展示。原创 2024-07-27 09:48:33 · 51 阅读 · 0 评论 -
鸿蒙 Navigation VS Router 对比
鸿蒙关于页面跳转提供了两套解决方案,一套是页面路由 router,一套是组件导航 Navigation。前期我们在基建开发期间,采用的页面路由 router 方案,@zz/router 组件代码已经开发完毕了,但是到了开发 WebView 的 Hybrid 接口时,才意识到一个严重的问题,就是 router 提供的能力,并不能满足我们复杂的页面栈管理,譬如在页面栈中多个 WebView,我们需要关闭指定的 WebView 页面,router 提供的 API 能力是无法做到的。支持,需要先import页面。原创 2024-07-24 10:26:14 · 1543 阅读 · 0 评论 -
Canvas详解(二)——圆和矩形的画法
1、arc(x, y, r, startAngle, endAngle, anticlockwise): 以(x, y) 为圆心,以r 为半径,从 startAngle 弧度开始到endAngle弧度结束。最好还是用上,因为不结束路径,有时候你再次画线会和上次的线连上了。2、arcTo(x1, y1, x2, y2, radius): 根据给定的控制点和半径画一段圆弧,最后再以直线连接两个控制点。使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。原创 2024-07-09 14:20:46 · 642 阅读 · 0 评论 -
Canvas详解(一)——线条的各种画法
新增的标签,所以它是有兼容性问题的。并限定画布的大小(不设宽高的话,默认宽300px,高150px),由于有一部分浏览器并不支持canvas标签,所以在标签里加入的替换的内容,当浏览器不显示canvas标签时,会有替换的内容做提示用。getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。解释一下上面的位置坐标,现在我们设置的画布宽和高都是300,(0,0)就相当于画布的左上角,(300,300)就相当于画布的右下角。二、canvas的使用。原创 2024-07-09 14:18:43 · 391 阅读 · 0 评论 -
鸿蒙 HAP/HAR/HSP,你分清楚了吗?
如果应用的功能比较复杂,需要使用 ExtensionAbility 组件,可以采用多 HAP(即一个 entry 包+多个 feature 包)来实现应用开发,每个 HAP 中包含一个 UIAbility 组件或者一个 ExtensionAbility 组件。鸿蒙 App 的项目结构一般为:HAP(主 App) 依赖 HSP(动态库) 或 HAR(静态库)。一般我们的业务模块为创建为 HSP 动态库模式,也是官网建议的模式,主要是可以缩减包体积大小。原创 2024-07-03 19:59:27 · 650 阅读 · 0 评论 -
重榜:鸿蒙 Charles 抓包设置
Charles是一款用于网络调试和分析的代理工具,可以拦截和查看设备与服务器之间的网络通信。通过Charles,可以监视应用程序的网络流量、修改请求和响应,甚至模拟不同的网络条件。使用时需要通过设置应用的请求经过Charles客户端代理转发到服务器,这样可以在Charles客户端进行抓包。原创 2024-07-02 17:31:40 · 967 阅读 · 1 评论 -
鸿蒙 DevEcho Studio 查看设备文件
打开文件会默认下载文件到临时目录(%USER%\AppData\Local\Huawei\DevecoStudio{版本号}\device-file-browser{设备名称}{设备上的文件路径}),关闭文件后,临时文件将被删除。如果需要查看数据库文件,可以通过该方式将数据库文件(路径举例:data > app > el2 > 100 > database >项目名称 > entry > rdb > 数据库文件)下载到PC上,再通过其他工具进行可视化查看。右键单击目录或文件,进行新建/删除操作。原创 2024-07-01 11:27:02 · 504 阅读 · 0 评论 -
鸿蒙 如何 url decode
在 TypeScript 和 JavaScript 中进行 URL 编码的最简单方式是使用内置的 global 函数 encodeURIComponent()。原创 2024-06-28 16:24:37 · 295 阅读 · 0 评论 -
扩展运算符 常用操作
在 TypeScript 中,与 JavaScript 一样,你可以使用扩展运算符(Spread Operator)来进行一些方便的操作,比如将数组展开成独立的元素、合并对象等。"是在ES6中引入的一种语法,它用于展开数组、对象或字符串。扩展运算符的主要作用是快速、简洁地实现对集合元素地操作。下文将介绍扩展运算符的几种基本用法。原创 2024-06-28 12:00:59 · 231 阅读 · 0 评论 -
鸿蒙 雷达图 绘制 人生四运图
【代码】鸿蒙 雷达图 绘制 人生四运图。原创 2024-06-27 17:45:16 · 227 阅读 · 0 评论 -
鸿蒙router.pushUrl是否无法使用Map类型参数
在使用router.pushUrl({url: url, params: params})进行页面间传递数据时发现,params如果是Map或者其中包含Map时,在目标页面通过router.getParams()取得对应Map数据后,Map 为空,数据丢失,即无法从该Map对象中通过get取得对应value。router是无法传递map类型的数据的,params中只能包含基础类型的数据,推荐使用Navigation进行复杂数据类型的传参(虽然可以传对象,但对象里目前也只能包含基础类型);原创 2024-06-25 14:12:55 · 386 阅读 · 0 评论 -
鸿蒙如何动态加载图片资源
在 TypeScript 和 JavaScript 中,反引号()表示模板字面量(Template Literals)。原创 2024-06-17 10:31:36 · 213 阅读 · 0 评论 -
鸿蒙 用tabs的 divider 属性 添加分割线,非常好用
用于设置区分TabBar和TabContent的分割线样式设置分割线样式,默认不显示分割线。DividerStyle: 分割线的样式;null: 不显示分割线。原创 2024-06-17 10:23:47 · 695 阅读 · 0 评论 -
鸿蒙中 json 对象嵌套解析问
这种方法用于遍历数组中的每一个元素。在循环中,item表示当前遍历到的元素,index表示当前元素的索引。这种方法返回一个数组,其中包含对象的属性名。可以使用forEach()方法对每个属性名进行循环操作。这种方法返回一个数组,其中包含对象的属性值。可以使用forEach()方法对每个属性值进行循环操作。这种方法返回一个数组,其中包含对象的键值对。可以使用forEach()方法对每个键值对进行循环操作。这种循环适用于遍历对象的属性名。在循环中,key表示当前遍历到的属性名。原创 2024-06-16 17:08:03 · 330 阅读 · 0 评论 -
鸿蒙解决JSON字段名和对象属性名之间的对应关系
是一个在 JavaScript 和 TypeScript 中用于对象和类之间进行转换的库。它特别有用在处理从 API 返回的 JSON 数据和将其转换为类的实例时,或者在序列化类的实例为 JSON 字符串时。instanceToPlain: 将类的实例转换回普通 JavaScript 对象。plainToClass: 将普通 JavaScript 对象转换为类的实例。HarmonyOS 中使用三方包。下载class-transform。原创 2024-06-16 11:55:27 · 474 阅读 · 0 评论 -
鸿蒙用 BuilderParam 实现同一个布局不同内容组件
的具体用法,例如,现需要实现一个通用的卡片组件,如下图所示。卡片中显示的内容不固定,例如。原创 2024-06-14 10:22:30 · 340 阅读 · 0 评论 -
鸿蒙 AES 加密
encoding编码格式,从编码格式转换为WordArray对象,反之亦然。引入三方库 crypto-js ,我已经在 API 11 测试通过,目前没有遇到性能问题。我们需要的结果是base64 之后的,所以我这里直接 toString();CryptoJS相关属性说明。原创 2024-06-12 14:05:19 · 368 阅读 · 0 评论 -
鸿蒙实现汉字转拼音
亲测可用,一共三个关于 转pinyin的库,一个无法使用,另一个时间太久。将输入字符串从源格式转换为目标格式。鸿蒙系统可以用多语言来实现。原创 2024-06-01 10:44:41 · 325 阅读 · 0 评论 -
鸿蒙 Next 快速开发备忘
1. 文本末尾显示....textOverflow({overflow:TextOverflow.Ellipsis}).ellipsisMode(EllipsisMode.END)原创 2024-05-10 14:13:44 · 163 阅读 · 0 评论 -
鸿蒙 Next 模拟器 体验
参加华为社区相关Next 的活动,只要申请通过就可以下载模拟器。整个过程稍微慢些,大家可以根据活动相关信息,加入微信群。争取早日体验 next。目前模拟器里边还是空空的,没有什么内置 APP ,但是足够大家开发调试使用了。有什么问题可以留言。原创 2024-05-08 10:21:00 · 499 阅读 · 0 评论