
鸿蒙os移动应用开发
文章平均质量分 74
以实战为线索,介绍鸿蒙os移动应用开发的各个技术特点,最后达到能够开发应用的技术水平。
高心星
华为开发者专家(HDE)。
10年教学经验,兼任多家科技公司技术顾问。先后从事JavaEE项目开发、Python爬虫、HarmonyOS移动应用开发等课程的教学工作。参与开发《鸿蒙应用开发基础》和《鸿蒙项目实战》等课程。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
鸿蒙5.0项目开发——横竖屏切换开发
横竖屏切换功能即实现应用内既支持竖屏显示也支持横屏显示的效果。对于应用内不同页面显示方向不同的情况,需要在应用逻辑中,动态修改窗口方向,来实现该效果,例如包含视频播放功能的应用,首页内容是采用竖屏方式,而视频详情页则采用横屏方式展示。原创 2025-06-03 15:55:14 · 1168 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——MVVM模式的应用
MVVM 将应用分为Model、View和ViewModel三个核心部分,实现数据、视图与逻辑的分离。通过这种模式,UI可以随着状态的变化自动更新,无需手动处理,从而更加高效地管理数据和视图的绑定与更新。MVVM(Model-View-ViewModel)模式是一种广泛用于应用开发的架构模式,它有助于分离应用程序的业务逻辑、数据和用户界面。原创 2025-04-23 11:36:34 · 1180 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——五子棋游戏(鸿蒙版)开发
五子棋是一款传统的两人策略型棋类游戏,游戏的目的是在棋盘上首先形成连续的五个同色棋子的玩家获胜。游戏规则简单,易于上手,但要达到高手水平则需要相当的策略和技巧。五子棋因其规则简单而深受各个年龄层的玩家喜爱,同时也因为其策略性而吸引了一批忠实的棋艺爱好者。原创 2025-04-16 10:40:00 · 1198 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——浮层OverlayManager
浮层(OverlayManager) 用于将自定义的UI内容展示在页面(Page)之上,在Dialog、Popup、Menu、BindSheet、BindContentCover和Toast等组件之下,展示的范围为当前窗口安全区内。可适用于常驻悬浮等场景。原创 2025-03-31 15:27:19 · 465 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——Emitter实现线程间即时通信
Emitter是一种用于进程内线程间通信的事件处理机制,它允许应用程序在不同线程之间异步发送和处理事件。原创 2025-02-28 15:09:14 · 385 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——多线程Worker和@Sendable的使用方法
Worker在HarmonyOS中提供了一种多线程的实现方式,它允许开发者在后台线程中执行长耗时任务,从而避免阻塞主线程并提高应用的响应性。@Sendable 注解主要用于标记那些需要在多线程环境中共享的数据对象或函数。被 @Sendable 标记的对象或函数可以在不同的线程之间高效地传输数据,这主要得益于 ArkTS 的序列化和反序列化机制。原创 2025-02-28 09:19:26 · 735 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——多线程TaskPool与@Sendable的使用
在鸿蒙(HarmonyOS)开发中,`taskpool` 是一个用于管理异步任务的工具,它允许开发者创建和执行异步任务,这些任务可以在不同的线程中并发执行。@Sendable装饰器在HarmonyOS开发中主要用于处理并发任务和数据共享。它允许开发者在多线程环境中安全地处理和共享数据,特别适用于需要在子线程中处理大量数据并在UI线程中更新视图的场景。原创 2025-02-27 11:15:08 · 491 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——鸿蒙接入高德地图实现POI搜索
鸿蒙系统作为华为自主研发的分布式操作系统,具有高性能、低功耗等诸多优势,为智能设备提供了强大的支持。而高德地图凭借其丰富的数据资源、精准的定位功能以及多样化的地图服务,在国内地图应用领域占据重要地位。将鸿蒙与高德地图相结合,能够充分发挥双方的优势,为用户提供更加便捷、高效的地图导航和POI检索服务。原创 2025-02-24 11:38:13 · 2117 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——Canvas制作个人签名
使用鸿蒙Canvas制作个人签名是一种在HarmonyOS系统环境下,利用Canvas组件实现手写签名功能的技术。原创 2025-02-14 10:02:40 · 1324 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——Canvas绘制饼图
Canvas提供画布组件,用于自定义绘制图形,开发者使用CanvasRenderingContext2D对象和OffscreenCanvasRenderingContext2D对象在Canvas组件上进行绘制,绘制对象可以是基础形状、文本、图片等。原创 2025-02-13 09:50:40 · 415 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——全局自定义弹出框openCustomDialog
CustomDialog是自定义弹出框,可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹出框。但是使用起来有很多问题,不支持动态创建也不支持动态刷新,在相对较复杂的应用场景中推荐使用UIContext中获取到的PromptAction对象提供的openCustomDialog接口来实现自定义弹出框。原创 2025-02-08 15:04:24 · 1299 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——NodeContainer自定义占位节点
NodeContainer是用来占位的系统组件,主要用于自定义节点以及自定义节点树的显示,支持组件的通用属性,对通用属性的处理请参考默认左上角对齐的Stack组件。NodeController提供了一系列生命周期回调,通过makeNode回调返回一个 FrameNode 节点树的根节点。原创 2025-02-08 10:58:45 · 799 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——ContentSlot的使用
ContentSlot只是一个语法节点,无通用属性,不参与布局和渲染。支持混合模式开发,当容器是ArkTS组件,子组件在Native侧创建时,推荐使用ContentSlot占位组件。原创 2025-02-07 18:40:07 · 688 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——@Reusable组件复用
@Reusable适用自定义组件,与@Component结合使用,标记为@Reusable的自定义组件从组件树上被移除时,组件和其对应的JSView对象都会被放入复用缓存中,后续创建新自定义组件节点时,会复用缓存区中的节点,节约组件重新创建的时间。原创 2025-02-07 11:23:19 · 531 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——@LocalBuilder 装饰器的使用
@localbuilder装饰器使用上和@builder一样,只不过两者在this指向上有所不同,@builder构建函数传递过程中,this指向传递到的子组件,而@localbuilder构建函数传递过程中,this永远指向其定义的组件。原创 2025-02-06 15:07:14 · 332 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——属性动画
属性接口(以下简称属性)包含尺寸属性、布局属性、位置属性等多种类型,用于控制组件的行为。针对当前界面上的组件,其部分属性(如位置属性)的变化会引起UI的变化。添加动画可以让属性值从起点逐渐变化到终点,从而产生连续的动画效果。原创 2024-12-12 15:40:52 · 799 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——ArkTS容器类
线性容器实现能按顺序访问的数据结构,其底层主要通过数组实现,包括ArrayList、Vector(已废弃)、List、LinkedList、Deque、Queue、Stack七种。原创 2024-12-10 14:29:15 · 768 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——仿微信聊天界面
闲暇之余开发了一个基于HarmonyOS5.0的仿微信聊天界面,里面主要用到了ArkUI的技术。原创 2024-12-09 14:48:00 · 941 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——全局广播的使用
全局广播可以用来做应用间通信,进程间通信,包含订阅、发布等功能。原创 2024-12-06 15:52:47 · 675 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——Ability与Page数据传递
基于当前的应用模型,可以通过以下几种方式来实现UIAbility组件与UI之间的数据同步。原创 2024-12-06 11:29:47 · 935 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——UIAbility跳转
UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时,会涉及到启动特定的UIAbility,包括应用内的其他UIAbility、或者其他应用的UIAbility(例如启动三方支付UIAbility)。原创 2024-12-06 09:12:00 · 1187 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——UIAbility生命周期
UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility。原创 2024-12-05 11:19:05 · 1541 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——鸿蒙混合开发
混合开发(Hybrid Development)是一种结合原生应用和Web应用的开发模式,旨在同时利用两者的优势。随着移动应用需求的多样化和复杂化,单一的开发方式往往难以满足所有需求。原创 2024-12-04 14:56:09 · 979 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——Web组件的使用
ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容。原创 2024-12-03 15:17:52 · 1027 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——网格(Grid)
网格布局是由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。ArkUI提供了Grid容器组件和子组件GridItem,用于构建网格布局。原创 2024-11-29 16:04:57 · 585 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——列表(List)
列表作为一种容器,会自动按其滚动方向排列子组件,向列表中添加组件或从列表中移除组件会重新排列子组件。List的子组件必须是ListItemGroup或ListItem,ListItem和ListItemGroup必须配合List来使用。原创 2024-11-29 15:42:33 · 1396 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——轮播图(Swiper)
Swiper提供了默认的导航点样式,导航点默认显示在Swiper下方居中位置,开发者也可以通过indicatorStyle属性自定义导航点的位置和样式。原创 2024-11-29 15:23:55 · 963 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——装饰器的使用
Harmony应用开发中装饰器是一个神器,常用于特定的功能,接下来介绍几种常用装饰器的使用。原创 2024-11-28 18:25:53 · 1663 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——使用手势事件
手势事件是一种在用户界面交互中,通过检测和解释用户手指在屏幕上的触摸动作来触发特定响应的技术。原创 2024-11-18 11:39:00 · 1009 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——音频播放组件的封装
鸿蒙中提供了AVPlayer来实现音频播放的功能,播放的全流程包含:创建AVPlayer,设置播放资源,设置播放参数(音量/倍速/焦点模式),播放控制(播放/暂停/跳转/停止),重置,销毁资源。原创 2024-11-01 16:14:31 · 712 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——用户文件操作
用户文件:文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。用户文件存放在用户目录下,归属于该设备上登录的用户。用户文件存储位置主要分为内置存储、外置存储。应用对用户文件的创建、访问、删除等行为,需要提前获取用户授权,或由用户操作完成。原创 2024-11-01 09:19:41 · 1078 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——文件读写
Core File Kit(文件基础服务)为开发者提供一套访问和管理应用文件和用户文件的能力。帮助用户更高效地管理、查找和备份各类文件,使用户能够轻松应对各种文件管理的需求。我们这里主要针对应用文件进行处理,可以包含查看、创建、读写、删除、移动、复制、获取属性等访问操作。原创 2024-10-30 16:52:13 · 1284 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——应用打包HAP、HAR、HSP
在开发过程中,我们可以将每个功能模块作为一个独立的Module进行开发,Module中可以包含源代码、资源文件、第三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。entry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。在entry的oh-package.json5中添加对于HAR的library的依赖,后面就可以使用对应的资源、类、方法和组件。entry:应用的主模块,作为应用的入口,提供了应用的基础功能。原创 2024-10-25 11:42:40 · 2274 阅读 · 0 评论 -
HarmonyOS 5.0应用开发——Navigation实现页面路由
Navigation:路由导航的根视图容器,一般作为页面(@Entry)的根容器去使用,包括单页面(stack)、分栏(split)和自适应(auto)三种显示模式。Navigation组件适用于模块内和跨模块的路由切换,通过组件级路由能力实现更加自然流畅的转场体验,并提供多种标题栏样式来呈现更好的标题和内容联动效果。一次开发,多端部署场景下,Navigation组件能够自动适配窗口显示大小,在窗口较大的场景下自动切换分栏展示效果。原创 2024-10-24 14:38:15 · 1139 阅读 · 0 评论 -
HarmonyOS Next应用开发——图像PixelMap压缩保存
图片编码指将PixelMap编码成不同格式的存档图片,当前支持打包为JPEG、WebP、png和 HEIF(不同硬件设备支持情况不同) 格式,用于后续处理,如保存、传输等。图片编码是图片解码-图片处理-图片保存的最后环节,保存到当前应用沙箱中比较简单,但保存到用户文件中就比较麻烦。但鸿蒙又提供了一种临时获取用户权限的组件SaveButton,使用该组件不用申请权限可以临时获取用户文件系统的访问权限。原创 2024-10-22 15:27:11 · 1005 阅读 · 0 评论 -
HarmonyOS Next应用开发——图像PixelMap变换
图片处理指对PixelMap进行相关的操作,如获取图片信息、裁剪、缩放、偏移、旋转、翻转、设置透明度、读写像素数据等。图片处理主要包括图像变换、位图操作,本文介绍图像变换。原创 2024-10-22 15:20:05 · 650 阅读 · 0 评论 -
HarmonyOS Next应用开发——多种方式实现图片解码
图片处理就是将设备中保存的图片进行编辑处理然后再存储下来,整个过程需要先图片解码,图片处理,最后在图片编码保存。图片解码指将所支持格式的存档图片解码成统一的PixelMap,以便在应用或系统中进行图片显示或图片处理。当前支持的存档图片格式包括JPEG、PNG、GIF、WebP、BMP、SVG、ICO、DNG、HEIF(不同硬件设备支持情况不同)。原创 2024-10-21 16:33:44 · 1032 阅读 · 0 评论 -
HarmonyOS Next应用开发——RCP框架实现断点续传
RCP框架有提供downloadToStream方法来实现下载文件,并将文件字节转化成流。结合设置请求头的range属性就可以实现断点续传的功能。原创 2024-10-21 08:59:44 · 559 阅读 · 0 评论 -
HarmonyOS Next应用开发——RCP框架的使用
RCP指的是远程通信平台(remote communication platform),RCP提供了网络数据请求功能,相较于Network Kit中HTTP请求能力,RCP更具易用性,且拥有更多的功能。在开发过程中,如果有些场景使用Network Kit中HTTP请求能力达不到预期或无法实现,那么就可以尝试使用RCP中的数据请求功能来实现。原创 2024-10-10 18:27:43 · 1748 阅读 · 0 评论 -
HarmonyOS Next应用开发——抽屉布局SideBarContainer
提供侧边栏可以显示和隐藏的侧边栏容器,通过子组件定义侧边栏和内容区,第一个子组件表示侧边栏,第二个子组件表示内容区。并且侧边栏可以出现在左侧也可以出现在右侧,侧边栏可以并列跟内容区一起展示,也可以浮动在内容区展示。原创 2024-10-09 10:04:47 · 1939 阅读 · 0 评论