
HarmonyOS鸿蒙系统应用开发高级课程(100集)
文章平均质量分 81
HarmonyOS鸿蒙系统应用开发高级课程(100集),本课程对HarmonyOS鸿蒙系统涉及的应用开发和技术应用课程,涉及课程广泛,内容丰富和设备多样,技术深厚。
青少年编程作品集
肖老师,IT高级软件工程师,从事软件设计与研发20年之久,具备丰富的设计和研发等编程经验。
精通逻辑算法,工程数控,数据分析与挖掘。有4年的金融保险银行数据逻辑算法分析处理工作经验,
有5年的电信移动无线通讯技术3G,4G网优网规相关编程经验,有4年的企业应用软件,工程控制应用软件,互联网应用软件编程经验
还有4年的移动APP,小程序,Web前后端软件编程经验。精通Scratch,Python,C,C++,Java,Javascript,html5,Css3等编程语言,
熟悉各种编程工具,以及编程的流程和编程环境。涉及积木编程,AI人工智能编程,大数据挖掘编程,手机APP和小程序编程。
展开
-
【鸿蒙系统关键技术方案】--第5课时:应用切面编程设计
切面编程(AOP)是一种通过预编译方式和运行期间动态代理实现程序功能的统一维护的技术。AOP的核心思想是将程序的关注点(concern)分离,通过在程序中插入代码来实现横切关注点(cross-cutting concerns),从而实现对业务逻辑的各个部分进行隔离,降低它们之间的耦合度,提高程序的可维护性和可重用性,同时提高了开发的效率。在AOP中,开发者可以通过定义切面(aspect)来封装横切关注点,而不需要直接修改业务逻辑代码。原创 2024-11-28 08:52:00 · 71 阅读 · 0 评论 -
【鸿蒙系统关键技术方案】--第4课时:应用并发设计
ArkTS是HarmonyOS APP的开发语言,它在保持TypeScript(简称TS)基本语法风格的基础上,一方面规范强化静态检查提升开发者代码的规范性;另一方面基于TypeScript增强了一些特性提升开发体验和执行效率,尤其是在并发能力上的提升。本文档主要面向HarmonyOS APP的设计人员或开发人员,介绍应用在并行任务方案设计过程中,可能会遇到的典型场景以及对应的推荐设计方案,同时给出了方案的关键点及参考案例。原创 2024-11-28 08:50:55 · 57 阅读 · 0 评论 -
【鸿蒙系统关键技术方案】--第3课时:模块化设计
应用开发者需要根据自身技术架构选择适合的工程模块化模型,工程模块化模型也不是一成不变的,需要根据业务和技术架构的演进而演进。根据诉求在HAP、HAR和HSP三种类型中进行选择使用。对于具备独立运行和安装的模块只能选择HAP包,并将其作为Feature类型的HAP存在于App中;对于不具备独立特性部分,用户使用频率较少的模块,将其做成HSP按需加载模块存在于App中。对于需要共享的模块,只能采用HAR包,将其通过OHPM仓共享给其他工程使用。原创 2024-11-28 08:49:43 · 61 阅读 · 0 评论 -
【鸿蒙系统关键技术方案】--第2课时:导航设计实践
大型应用开发中,应用可能包含不同的业务模块,每个模块由不同的业务团队负责开发。该场景采用一个Navigation下多个har/hsp的架构,其中一个模块对应一个har/hsp。当多个har/hsp的UI组件存在相互跳转的业务需求时,将出现模块间相互依赖的问题。图1多har包间路由跳转耦合针对该场景,本文提供了一套基于Navigation的路由设计方案实现多模块路由管理和模块间解耦。并在该基础上,通过动态注册路由的方式,解决页面加载多个UI组件时启动速度变慢问题。原创 2024-11-28 08:46:41 · 37 阅读 · 0 评论 -
【鸿蒙系统关键技术方案】--第1课时:分层模块化实践
HarmonyOS应用的分层架构设计以一套代码工程为基础,旨在为华为的手机、2in1等1+8全场景设备提供支持,实现了“”的开发理念。HarmonyOS应用的分层架构主要包括三个层次:产品定制层、基础特性层和公共能力层,为开发者构建了一个清晰、高效、可扩展的设计架构。本文将从和分别介绍应用分层架构设计规则。原创 2024-11-28 08:45:10 · 162 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第10课时:孕育健康类行业实践
本设计为孕育健康类HarmonyOS NEXT应用的架构设计实践,应用设备形态为手机端,示例孕育健康类应用常见的孕育健康咨询问答,健康日历记录、消息中心、社交互动圈、发帖编辑、详情页、启动闪屏页以及应用设置等功能。ArkTs声明式UI开发范式。按照应用设备形态,规划手机设备Entry类型HAP包。本实践性能优先,应用程序包大小可控,且无单独加载模块场景,业务模块包类型采用HAR包。原创 2024-11-25 09:19:53 · 85 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第9课时:教育类行业实践
本设计为教育类HarmonyOS应用架构设计实践,提供教育类应用常见的图文学习、音视频学习、考试等功能。Stage开发模型+声明式UI开发方式。应用设备形态只有手机端,规划一个Entry类型HAP包。APP大小可控,性能优先,无单独加载模块,模块全部采用HAR包。原创 2024-11-25 09:18:36 · 83 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第8课时:运动健康类行业实践类
本设计为运动健康类HarmonyOS应用架构设计实践,应用提供运动健康类应用常见的首页、运动、发现、商城、我的等应用功能。Stage开发模型+声明式UI开发方式。应用设备形态两种:手机和智慧屏端,规划两个Entry类型HAP包。APP大小可控,性能优先,无单独加载模块,模块全部采用HAR包。原创 2024-11-25 09:17:24 · 54 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第7课时:便捷生活类行业实践
本实践设计为便捷生活类(一卡通、政务云)HarmonyOS应用架构设计实践,应用主要提供首页、办事、服务大厅、证件、社保、公积金、12345专区、身份码、账户设置等功能。Stage开发模型+声明式UI开发方式。应用只部署在手机端,规划一个Entry类型HAP包。整体采用 单Hap 包 + 多HAR + 多HSP包模式。其中,涉及按需加载、元服务复用的模块建议采用HSP(增加下说明),其它模块使用HAR包模式。原创 2024-11-25 09:16:12 · 80 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第6课时:汽车类行业实践
本设计为汽车类HarmonyOS应用的架构设计实践,应用设备形态只有手机端,提供汽车类应用常见的汽车类资讯,购车,商城以及充电服务等应用功能。Stage开发模型+声明式UI开发方式。按照应用设备形态,规划一个手机设备Entry类型HAP包。本实践性能优先,应用程序包大小可控,且无单独加载模块场景,业务模块包类型采用HAR包。原创 2024-11-25 09:14:48 · 50 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第5课时:理财保险类行业实践
本设计为保险类HarmonyOS应用的架构设计实践,应用设备形态只有手机端,提供保险类应用常见的保险商城、保单管理、理赔、车险服务等应用功能。Stage开发模型+声明式UI开发方式。按照应用设备形态,规划一个手机设备Entry类型HAP包。本实践性能优先,应用程序包大小可控,且无单独加载模块场景,业务模块包类型采用HAR包。原创 2024-11-25 09:13:17 · 189 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第4课时:综合办公类行业实践
本设计为办公类应用APP的鸿蒙化架构设计实践,应用提供办公类应用常见的工作,邮件,通讯录,审批公告等办公功能。Stage开发模型+声明式UI开发方式。应用只部署在手机端,规划一个Entry类型HAP包。性能优先原则,模块全部采用HAR类型。原创 2024-11-25 09:11:37 · 49 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第3课时:旅游园区类行业实践
本设计为旅游园区类应用APP的鸿蒙化架构设计实践,应用提供专题园区的在线预订门票、酒店、停车、餐饮,园区路线导航,商城以及最新官方资讯的功能。Stage开发模型+声明式UI开发方式。应用设备形态只有手机端,规划一个Entry类型HAP包。APP大小可控,性能优先,无单独加载模块,模块全部采用HAR包。原创 2024-11-25 09:09:10 · 262 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第2课时:公交地铁类行业实践
本设计为出行导航类应用APP的鸿蒙化架构设计实践,应用提供出行导航类应用常见的乘车码、路线查询、支付管理等应用功能。Stage开发模型+声明式UI开发方式。应用只部署在手机端,规划一个Entry类型HAP包。原创 2024-11-25 09:07:54 · 372 阅读 · 0 评论 -
【鸿蒙系统APP开发实践案例】--第1课时:新闻阅读类行业实践
本设计为新闻日报类应用APP的鸿蒙化架构设计实践,应用设备形态只有手机端,提供新闻日报类应用常见的新闻资讯展示,新闻视频播放,用户评论互动等应用功能。Stage开发模型+声明式UI开发方式。按照应用设备形态,规划一个手机设备Entry类型HAP包。本实践性能优先,应用程序包大小可控,且无单独加载模块场景,业务模块包类型采用HAR包。原创 2024-11-25 09:05:26 · 79 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】--第8课时:一多导航栏
本示例展示了导航组件在不同设备形态下的样式。在sm设备上,以tabs形式展示,内容、导航为上下样式布局,通过点击底部tabs切换内容;在md/lg设备上,以SideBarContainer形式展示,内容、导航为左右布局,通过点击侧边一二级菜单进行内容切换。本示例使用一次开发多端部署中介绍的自适应布局能力和响应式布局能力进行多设备(或多窗口尺寸)适配,主要通过组件提供窗口断点事件,保证应用在不同设备或不同窗口尺寸下可以正常显示。原创 2024-10-06 16:10:22 · 147 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】--第7课时:一多移动支付
本篇Sample基于Scan Kit中的默认界面扫码能力与码图生成能力实现移动支付应用中常见的扫一扫和收付款功能。原创 2024-10-05 13:46:50 · 165 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】-第6课时:HMOS世界
基于分层架构和模块化设计的最佳实践,结合HarmonyOS"一次开发,多端部署"的能力,实现一款承载HarmonyOS最新技术特性,赋能HarmonyOS开发者的应用。原创 2024-10-05 13:44:17 · 233 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】-第5课时:一多开发实例
本篇Sample基于自适应布局和响应式布局,实现一次开发,多端部署的便捷生活页面,并根据手机、折叠屏、平板以及2in1不同的设备尺寸实现对应页面。原创 2024-10-05 13:36:09 · 147 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】-第4课时:一多新闻阅读
本示例基于自适应布局和响应式布局,实现一次开发,多端部署的新闻阅读页面。根据手机、折叠屏以及平板不同的设备尺寸实现对应页面。原创 2024-10-05 13:32:38 · 132 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】-第3课时:一多导航栏
本示例展示了导航组件在不同设备形态下的样式。在sm设备上,以tabs形式展示,内容、导航为上下样式布局,通过点击底部tabs切换内容;在md/lg设备上,以SideBarContainer形式展示,内容、导航为左右布局,通过点击侧边一二级菜单进行内容切换。本示例使用一次开发多端部署中介绍的自适应布局能力和响应式布局能力进行多设备(或多窗口尺寸)适配,主要通过组件提供窗口断点事件,保证应用在不同设备或不同窗口尺寸下可以正常显示。原创 2024-10-05 13:29:29 · 177 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】--第2课时:一多商务办公
本示例主要使用断点监听和sidebarContainer组件、navigation组件相结合的方式,实现了商务办公类差异化的多场景响应式变化效果。原创 2024-10-05 13:18:22 · 160 阅读 · 0 评论 -
【鸿蒙系统开发技术案例】--第1课时:一多旅行住宿
本示例主要使用栅格布局和List组件相结合的方式,实现了旅行住宿差异化的多场景响应式变化效果。原创 2024-10-05 10:20:09 · 260 阅读 · 0 评论 -
【OpenHarmony嵌入式硬件开发】OpenHarmony原子化服务开发快速入门体验
'value':'Particle Ability,元服务,代表无界面的Ability,主要为Feature Ability提供支持,例如作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。'value':'超级虚拟终端亦称超级终端,通过分布式技术将多个终端的能力进行整合,存放在一个虚拟的硬件资源池里,根据业务需要统一管理和调度终端能力,来对外提供服务。本体验中的效果展示是基于预览器的效果图片。'value':'Feature Ability,元程序,代表有界面的Ability,用于与用户进行交互。原创 2024-09-13 17:59:24 · 268 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例140:基于RN框架实现高性能瀑布流页面
本案例针对瀑布流页面场景,基于@react-native-oh-tpl/flash-list、axios等框架,实现了一个高性能的瀑布流页面,该案例提供了关键的开发步骤,旨在帮助开发者高效开发出高性能的瀑布流页面。详情请查看。名称版本号0.72.270.0.26rnoh5.0.0.302及以上5.0.0.302及以上页面:页面渲染最大数≤300页面组件嵌套层数≤30。原创 2024-09-08 09:34:25 · 744 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例139:基于网络的抓包能力
1、点击顶部菜单栏【Help】-->选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书即可;2)设置caPath(默认使用系统默认路径下CA证书,如默认证书认证失败返回60需要替换为请求域名的服务器证书,项目中设置可参考常见问题Q4)A3:使用为charles证书或系统根证书无法通过https校验 ,需替换为请求的域名证书。A2:需要检查下capath设置证书路径是否可访问、证书文件是否存在。原创 2024-09-08 09:32:18 · 306 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例138:应用打包安装定位定界指导
如果只有打包后的hap文件,通过ide打开hap一般为下图的结构,可以在module.json文件和pack.info找到包管理的配置,用文本编辑器打开resources.index可以找出原工程下resource声明的string.json文件的内容。需要通过签名校验,所以需要在打包阶段对其签名。需要在生成证书请求文件后申请发布证书和Profile文件,在工程签名的地方配置上刚才申请的签名证书,编译构建.app文件后进行上架。如果是测试场景,除了在ide运行安装hap之外,也可以用。原创 2024-09-08 09:30:48 · 209 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例137:如何定位解决焦点问题
API 11之前,未配置defaultFocus属性的情况下,当页面首次打开时,原先默认第一个可获焦的非容器组件会立即获取焦点。比如:页面初次构建完成时,使TextInput默认获取焦点,但不希望弹出键盘,则可以设置enableKeyboardOnfocus为false。defaultFocus:设置当前组件是否为当前页面上的默认焦点,仅在初次创建的页面第一次进入时生效。是获焦的能力,不一定当前焦点就在设置的组件上。一个节点获焦了,说的是它所在的焦点链获焦,也就是它和它的祖先节点都会触发onFocus。原创 2024-09-08 09:26:58 · 92 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例136:基于网络的VPN连接实现
使用过程中外网的用户可以使用 vpn client 连接组织搭建的 vpn server 以建立通信隧道,随后便建立了虚拟的私人网络,处于外网的 worker 和内网中的 server 可以相互通信。如首次添加"type": "vpn"时报红,“ctrl+左键”点击"type",在"enum"中添加“vpn”参数,1、建立vpn_client.cpp文件,写入vpn隧道通信启动、停止有关能力。1、建立vpn_client.cpp文件,写入vpn隧道通信有关能力。2、NDK添加可导出配置的使用接口能力。原创 2024-09-08 09:24:46 · 1036 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例135:基于class-transformer的对象与JSON相互转换
我们在前端处理后端传送过来的数据时,经过反序列化转换的对象全是plain(literal) object(普通(字面量)对象),如下,这里我们手动写一个待转换成特定对象的 JavaScript对象(JSON形式)。如果是传入的字符串我们需要搭配JSON.parse来使用,将字符串转化成JSON格式的UserJson对象,使用plainToInstance来进行转换,由于使用了@Exclude()注解。此外,建议审视设计的类和json是否合理,尽量避免使用复杂的转换。原创 2024-09-08 09:22:34 · 201 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例134:基于imageKnife对gif图的管理
实例化ImageKnifeOption后,先实例化网络请求new RequestOption(),load加载gif链接,添加监听属性addListener,回调返回拿到对象的width,height,delay。因为gif动图本质是一个播放,所以将每次拿到的帧数相加可以得到总帧数(max),经过for循环找到循环的次数maxtimes,再用总帧数除以次数得到每秒帧率avg。实例化ImageKnifeOption后,添加gif属性,将字段playTime设置传入播放的次数,即可完成播放次数的控制。原创 2024-09-08 09:18:27 · 155 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例133:基于分布式数据对象的跨设备数据同步
若A设备将数据save到B设备,B设备创建分布式对象时会自动恢复数据,此时A设备revokesave无法撤销B设备已回复的数据。A、B两条设备组网后,A设备开启监听后(on("change")),B设备修改数据,随后A设备读取数据,此时读取到的是B设备修改后的数据。通过save("local")将对象数据保存成功后,当应用存在时不会释放对象数据,当应用退出后,重新进入应用时,恢复保存在设备上的数据。A、B两台设备分别点击创建分布式数据对象,并开启数据变更监听,此时在A设备输入数据,B设备即可自动同步。原创 2024-09-08 09:15:43 · 289 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例132:基于手势的图片预览与缩放
1、使用组合手势GestureGroup,同时绑定捏合手势PinchGesture和滑动手势PanGesture,设置组合手势识别模式为并行识别模式:Parallel,并行识别组合手势中注册的手势将同时进行识别,直到所有手势识别结束,并行识别手势组合中的手势进行识别时互不影响。2、在onTouch事件中识别手指滑动方向,并判断边界是翻页还是拖动,方向为左右且到达边界,执行scaleUnEnable方法,将panGesture手势方向置为none,执行翻页;反之执行滑动手势,不翻页。原创 2024-09-08 09:12:59 · 128 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例131:基于Slider的滑动条
底层Progress进度条的填充色充当视频进度条的缓冲色,Progress的背景色充当视频进度条的背景色;下图主要表达的是拓展了Slider滑动手势的响应范围,红色区域就是原始的Slider响应去,上下橙色和粉色区域都是拓展的手势响应区。效果中的红色区域是Slider原始的可触摸区域,增大的橙色和粉色区主要思路是通过responseRegion这个全局属性来增大触摸热区,然后通过给热区设置平移手势来控制Slider的value来进而控制Slider的滑动,是一个类似视频软件拖动进度条的场景。原创 2024-09-08 09:10:23 · 265 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例130:基于TextInput的常见自定义效果解决方案
通过状态变量动态改变图标样式,然后给输入框设置不显示默认的密码图标 .showPasswordIcon(false),图标动态切换接合密码的显隐状态.showPassword(this.changeState)来达到自定义密码图标的效果。当输入框输入文字时,右侧显示删除清空内容按钮,主要利用textInput属性cancelButton,该属性设置右侧清除按钮样式,不支持内联模式。输入框未获焦时热搜词自动滚动,输入框获焦时输入框热搜词暂停滚动,热搜词文字到输入框右侧时文字内容会渐变显示。原创 2024-09-07 12:34:52 · 202 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例129:基于状态变量实现复杂对象的状态监听
在上面数据模型中,Class User的字段bag是Class Bag类型,Class Book的字段bookName是Class BookName类型,这种情况都是一个对象的字段中还含有一个对象,这一类数据我们叫复杂对象,这类数据在使用状态变量监听的时候会比较麻烦,@State/@Prop等修饰器只能监听一层,也就是对象下的基本数据类型字段,对于多次嵌套的对象,在深度监听的时候需要用@Observed/@ObjectLink装饰器来进行深度观测,请看下面实现;但当对对象整体赋值时,UI却无法刷新。原创 2024-09-07 12:33:21 · 297 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例128:基于@ohos.util.stream的web离线缓存文件加载
通过fs.createStreamSync创建一个文件流this.stream,在doRead方法中使用this.stream.read (注:文件流的read方法,不是可读流readStream的read 方法) 从文件流中读取文件的内容,最后使用ReadStream的push方法将this.stream.read读取的数据推送到可读流缓冲区中。是一种用于处理数据的抽象接口,适合处理大量数据或连续的数据流,提供了丰富的事件和方法,用于对数据进行流式处理和操作。是既可读又可写的流。通过流读取文件里的资源。原创 2024-09-07 12:31:19 · 207 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例127:弱引用在HarmonyOS上的使用
用WeakRef创建对象的弱引用,支持在需要时获取原始对象,必须在对象仍然存在时才能获取,如果被回收需要重新创建,一般采用WeakRef的deref()方法获取原始对象。由于WeakRef不能检测对象何时被垃圾回收,没有提供与垃圾回收事件关联的回调机制,所以只能通过主动轮询的方式定期检查对象是否已经被回收。由于使用了WeakRef弱引用,只要没有其他强引用指向这个两个对象,它们就可以被垃圾回收,只要有一方使用弱引用,即可解除两者的循环引用。开发者需要依靠弱引用解决垃圾回收相关的内存管理问题。原创 2024-09-07 12:29:49 · 121 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例126:HarmonyOS原生应用占用空间管理
A:fs.rmdir是递归删除,会删除该文件夹以及子文件夹中的所有文件,但是当其子目录中有高权限的文件时,调用的接口无法删除此文件,导致无法删除此文件夹,报错:Directory not empty。例如:app级别,加密类型为el1的缓存会保存到/data/storage/el1/base/cache目录下。使用Grid将图片排列展示,并通过bindContextMenu给image组件绑定菜单,长按拉起删除选择框,并实时展示删除后剩余图片。定义长按手势,可以通过长按图片拉起菜单,选择删除指定图片。原创 2024-09-07 12:28:28 · 183 阅读 · 0 评论 -
【HarmonyOS NEXT应用开发】案例125:基于AVPlayer音频后台播放
在多个音频流同时播放场景下,如果系统不加管控,会造成多个音频流混音播放,容易让用户感到嘈杂,造成不好的用户体验。)策略,对多音频播放的并发进行管控。为满足应用对多音频并发策略的不同需求,音频打断策略预设了两种焦点模式,针对同一应用创建的多个音频流,应用可通过设置。音乐播放是媒体最重要的组成之一,以下是AVPlayer将Audio媒体资源(比如mp3等)转码为可听见的音频模拟信号,并通过输出设备进行播放。定义,不同的类型代表了不同场景的控制能力,对于播控中心来说,会展示不同的控制模版。原创 2024-09-07 12:26:36 · 273 阅读 · 0 评论