前言当我们开发鸿蒙应用时,ArkTs是当前界面和业务相关的主流代码。然而,在有些特定场景中,我们还是得请出C\+\+——当涉及到计算密集型任务时,或者有些功能有成熟的C\+\+库。那么,ArkTs是如何调用到C++的代码的呢?新建工程让我们结合实践,来分析一下ArkTs和C\+\+的互通。首先使用DevEcoStudio创建一个新工程,记得选模板时选择NativeC\+\+。创建完成之后,我们可以看到,工程目录里多了一个和ets平级的cpp文件夹。初步分...
前言人,不但要有科学技术,而且还要,文化,艺术,跟音乐。————钱学森遗留的subKeys()方法我们继续来看下之前遗留的subKeys()方法。这个方法在前文中,用于给黑键和白键分别布局。typescriptprivatesubKeys(isWhite:boolean):Key[]{根据入参的布尔值,返回黑键或者白键的对象数组subKeys。Key类声明见下文。constsubKeys:ArraynewArray()letid0这个id很关键,用于UI布局里面,所有的按键按照半音间隔依次排列,这个id就是...
2025-08-09 22:11:06 2547浏览 0点赞 0回复 0收藏
前言人,不但要有科学技术,而且还要,文化,艺术,跟音乐。————钱学森绘制键盘根据之前设计的布局思路,根布局为stack,白键的row布局在下,黑键的row布局在上。两个row布局里面各有一个循环,把subKeys遍历一遍。之后解释subKeys的实现,现在可以简单的理解为每个按键的遍历。更多的细节请看代码中的注释。typescriptbuild(){Stack(){Row(){ForEach(this.subKeys(true),(item:Key,i){白键的遍历Button().width(this.WHITE...
2025-08-09 22:08:44 2156浏览 0点赞 0回复 0收藏
前言人,不但要有科学技术,而且还要,文化,艺术,跟音乐。————钱学森布局思路我们选择用两个循环,分别布局白键的row和黑键的row键盘组件类我把键盘布局作为一个component,声明了这些成员。typescriptPropcurrentChord:number[]当前的和弦类型StateprivatecurrentKey:number1当前的按键(根音)白键黑键的尺寸privateWHITEKEYWIDTH7privateWHITEKEYHEIGHT100;privateBLACKKEYWIDTH3.5;privateBLACKKEYHEIGHT63;privateSE...
2025-08-09 22:08:30 2608浏览 0点赞 0回复 0收藏
前言人,不但要有科学技术,而且还要,文化,艺术,跟音乐。————钱学森我特别认同钱老说的这句话。我们作为理工科为主的开发者,不能忘记陶冶自己的情操。所以业余时间,我也会弹一点钢琴。有一天,我的需求就来了。那天的乐谱和平常不一样,左手的音符不是画在五线谱上的,是以和弦形式标注的。这一下把我这个野路子难住了。我可没法记住那些和弦的规律。那么我能不能自己开发一个小工具,帮我来查询钢琴和弦按键的方法呢...
2025-08-09 22:08:06 2563浏览 0点赞 0回复 0收藏
前言半年前我写过两篇帖子,[HarmonyOSUI可预览架构探索](https:ost.51cto.composts28541)和[HarmonyOSUI可预览架构探索(续)](https:ost.51cto.composts28552)。当时的背景是基于api9。最近一个偶然的机会,发现DevEcoStudio支持previewer的数据模拟了,我惺忪的睡眼蹭的就亮了,突然就不困了啊。这不就是我之前一直想要的preview和真实运行数据分离嘛。这回IDE原生支持了。我又看了一眼支持的历史,是从api11之后开始的,那...
2024-07-28 15:50:09 7641浏览 1点赞 0回复 0收藏
前言作者:大李子团队:坚果派十年iOS,Allin转鸿蒙前言“仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。”——摘自[仓颉首页](https:developer.huawei.comconsumercncangjie)本文以一个非常简单的例子,介绍一下坚果派三方库leapyear的实现,包括测试框架的简单使用。前置条件关于如何创建静态库,之前的[这篇文章](https:ost.5...
2024-07-05 11:36:16 5123浏览 2点赞 0回复 0收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙前言“仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。”——摘自[仓颉首页](https:developer.huawei.comconsumercncangjie)本文将逐步实现仓颉静态库的创建和使用,使用的当前版本为0.51.4。前置条件关于Win11+VSCode的开发环境,请参考[这篇文章](https:ost.51cto.composts29298)...
2024-07-02 15:11:13 4567浏览 3点赞 1回复 0收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙前言“仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。”——摘自[仓颉首页](https:developer.huawei.comconsumercncangjie)本文将逐步实现windows11下仓颉开发环境的搭建,使用的当前版本为0.51.4。前置条件1.当前仓颉尚处于beta阶段,需要在官网申请试用。[点此链接](https:develo...
2024-07-02 12:59:22 2.8w浏览 2点赞 6回复 2收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙前言本文基于HarmonyOSNextDeveloperBeta1。现已开放公测。这是[指南文档](https:developer.huawei.comconsumercndocharmonyosguidesV5applicationdevguideV5)的链接。普通调试调试是我们在开发过程中一个重要的工作。我们平时做的最多的操作就是,在代码左侧点一个红色断点,然后按下三角边上的小虫子按钮,以debug模式运行APP。APP运行起来后,打断点的地方就会停下来。这种方式...
2024-06-29 14:39:13 3881浏览 0点赞 0回复 0收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙前言首先感谢大家的热情,几天之内我的上一篇文章[《HarmonyOSUI可预览架构探索》](https:ost.51cto.composts28541)就上了社区头条,并从此多了个头衔。并且有许多小伙伴积极地在留言区讨论这个架构的设计。其中一位小伙伴的建议非常合理,他说的设计,和我最初的设想是一样的。但是由于还不太熟悉Arkts的语法,遇到了一点麻烦,阻碍了我设想的实现。不过之后我又尝试了一下,发现...
2024-02-04 00:32:29 9835浏览 5点赞 1回复 2收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙2024年2月4日更新:架构更新了,请参考最新的帖子[《HarmonyOSUI可预览架构探索(续)》](https:ost.51cto.composts28552)2024年2月2日更新:感谢wx65b0afa1cee7b的留言。他提出的做法,我曾经实践过,但之前失败了。然而今天我又尝试了一下,好像有新的发现,应该可以成功。这也是我最初的设计,当时遇到了一些奇怪的问题,只能作罢,想了另一套方案,就是本文介绍的架构。我需要...
2024-01-31 22:44:46 1.2w浏览 9点赞 9回复 2收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙[调频声波App(一)概述](https:ost.51cto.composts28416)[调频声波App(二)UI](https:ost.51cto.composts28421)[调频声波App(三)播放声音](https:ost.51cto.composts28428)生成声波思路(可以跳过)形成声波并播放是这个App的核心功能,如何实现这个功能,属实走了很多弯路。起初认为这是一个计算密集任务,在网上查到了一个生成正弦波并输出wav文件的C语言实现,并开了一个C...
2024-01-19 02:30:19 5237浏览 0点赞 0回复 0收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙[调频声波App(一)概述](https:ost.51cto.composts28416)[调频声波App(二)UI](https:ost.51cto.composts28421)[调频声波App(三)播放声音](https:ost.51cto.composts28428)UI布局1.首先我们实现频率调整的模块javascriptRow(){Button("").onClick(asyncevent{constnewValuethis.frequencythis.step1.把当前的频率减掉预设的步进this.frequencyMath.max(newValue,0)2.控制频率...
2024-01-18 19:16:41 4825浏览 0点赞 0回复 0收藏
作者:大李子团队:坚果派十年iOS,Allin转鸿蒙[调频声波App(一)概述](https:ost.51cto.composts28416)[调频声波App(二)UI](https:ost.51cto.composts28421)[调频声波App(三)播放声音](https:ost.51cto.composts28428)概述HarmonyOS项目实战将通过一个实战项目来学习一些HarmonyOS的开发知识。本App通过手机扬声器发出有规律的声波,包含正弦波、方波、三角波、锯齿波,并可以调节声波频率。可以用于清理手机扬声器,或者...
2024-01-18 15:28:27 8968浏览 1点赞 1回复 0收藏