
HarmonyOS NEXT场景化示例代码(第一期)#鸿蒙示例代码# 原创
在HarmonyOS NEXT应用开发的征程中,我们精心打造了一系列强大且实用的鸿蒙场景化代码。这些代码凝聚着经验与汗水,如同精密的积木,为开发者提供了坚实的基础架构。
它们具备高度的灵活性和可扩展性,能够轻松应对鸿蒙场景的复杂需求,无论是构建一个功能丰富的应用,还是打造一个高效互动的元服务,这些鸿蒙场景化代码都能让开发过程变得更加高效、便捷、稳定。
它们经过了严格的测试与优化,确保在鸿蒙系统上能够稳定运行,帮助开发者跨越技术难题,快速实现创意构想,在鸿蒙生态的广阔天地中抢占先机,开启一段充满无限可能的开发之旅。
本贴持续系列更新中,开发者也可在鸿蒙场景化示例gitee仓中根据需求寻找示例代码。
更多精彩示例分享:
HarmonyOS NEXT场景化示例代码(第二期)#鸿蒙示例代码#
HarmonyOS NEXT场景化示例代码(第三期)#鸿蒙示例代码#
本文原创发布在华为开发者社区。
@toc
50.实现Tabs左对齐
本示例使用BarPosition(Tabs页签位置)实现了Tabs左对齐的功能。
49.构建会议发布页
本示例是使用ArkTS编写的会议发布UI页面,该页面提供了会议内容和人员的填写功能,方便开发者后续进行进一步开发。
48.实现图片局部拉伸
本示例基于属性resizable实现图片局部拉伸的功能。
47.应用获取不同权限
本示例基于abilityAccessCtrl实现了应用获取相机权限,位置信息以及步数信息三种常见权限的功能,每个权限都需要向用户申请,用户确认后才可开启。
46.实现图片视频预览功能
本示例基于组合手势实现图片视频的预览功能,支持双击缩放图片,双指缩放图片,拖动图片以及点击视频进行预览。
45.实现卡片刷新功能
本示例基于用户首选项实现刷新服务卡片数据的功能。
44.实现图片九宫格
本示例基于Grid网格容器实现图片九宫格展示功能,使用swipr实现图片滑动预览功能。
43.实现餐饮美食应用
本示例基于ArkUI中各类基础组件与各样布局,实现简单的餐饮美食应用UI界面。
42.实现应用内跳转短信
本示例基于Want实现应用内点击按钮,即可拉起系统短信界面,并预设短信接收人以及短信内容。
41.实现图片添加滤镜功能
本示例基于effectKit能力实现给图片添加不同滤镜,一键还原图片以及保存图片的功能。
40.实现录制视频功能
本示例基于Camera Kit(相机服务)实现了使用手机摄像头进行视频的拍摄录制,并在首页进行视频的预览。
39.实现智能图片推荐功能
本示例基于PhotoViewPicker能力实现智能推荐符合设定条件的图片的功能,缩短用户筛选图片的时间。
38.实现中间凸起导航
本示例实现点击底部TabBar切换展示页面,同时会有选中的图标变化动效,中间凸起的底部导航。
37.实现视频添加水印功能
本示例构建自定义水印组件,利用Video组件的属性为视频添加水印并附有视频播放、暂停、倍速等功能。
36.基于OpenGL渲染相机流
本示例基于OpenGL对相机流进行处理操作,然后通过Xcomponen渲染显示相机,实现相机的录制、播放视频功能。
35. 实现短信发送功能
本示例实现跳转到短信发送页面的功能。
34. 多种弹窗实现方法
本示例介绍以下五种常见的弹窗场景化案例。
- 应用启动时的隐私政策和用户协议弹窗
- 网络请求完成的结果提示弹窗
- 应用返回上一级页面的退出确认弹窗
- 个人信息填写的信息弹窗
- 应用使用过程中出现的付费类广告弹窗
33. 多种图片操作实现方法
本实例主要展示了图片应用场景相关demo。主要包括了图片预览、图片编辑美化、场景变化前后对比、图片切割九宫格、两张图片拼接、AI抠图、图片加水印等场景示例。
场景1:图片预览
场景2:图片编辑美化
场景3:场景变化前后对比
场景4:图片切割九宫格
场景5:两张图片拼接
场景6:AI抠图
场景7:图片加水印
32. Web功能介绍
本示例介绍了Web请求拦截、Web与应用侧交互、Web侧PDF文件操作以及Web长按菜单功能使用。
场景1:Web用户权限校验以及应用广告
场景2:PDF文件浏览以及下载
场景3:Web页面手机充值
场景4:Web页面实名认证
场景5:Web页面长按菜单
31. 实现多个文件操作功能
本demo按照文件上传、文件下载、文件预览、文件读取保存、文件压缩解压、文件拷贝6个分类进行场景化子demo构造展示。
场景1:文件预览
场景2:文件下载
场景3:文件读取与保存
场景4:文件上传
场景5:文件解压、压缩
场景6:文件拷贝
30. 实现图片压缩功能
本示例基于imagePackerss Api实现了图片压缩功能,并将压缩后的图片转成base64格式。开发者可将压缩后的图片用于arkui或者H5中进行图片展示。
29. 实现简易的直播功能
本示例使用声网SDK构建了一个简易的直播场景,模拟主播开、关直播以及观众进入、离开直播间时的弹幕互动。
28. 实现免密登录功能
本示例基于关键资产存储服务API实现了免密登录功能。
27. 实现应用跳转功能
本示例介绍了应用跳转的多个场景案例。
-
跳转短信、浏览器、设置、相机、拨号、应用市场等系统应用和已知bundlename、abilityname的三方应用。
-
跳转相机拍照后返回照片展示。
-
跳转三方应用,模拟简易支付。
-
跳转web页,拉起相机和三方应用。
26. 实现图片处理功能
本项目基于OpenHarmony三方库ImageKnife 进行图片处理场景开发使用:
- 支持不同类型的本地与网络图片展示。
- 支持拉起相机拍照展示与图库照片选择展示。
- 支持图片单一种变换效果。
- 支持本地/在线图片格式:JPG、PNG、SVG、GIF、DPG、WEBP、BMP
25. 实现系统分享功能
本示例基于Share Kit能力实现了宿主应用分享图片的功能。
24. 实现音视频录制功能
本示例基于AVRecorder实现音视频录制,包括开始录制、暂停、结束、上一个等几乎所有录制音视频的基本操作。
23. 实现音视频播放功能
本示例基于Avplayer构建了一个音视频播放器,包括音视频的播放、暂停、全屏播放、倍速播放、快进等基本操作。
22. 实现短视频播放功能
本示例使用Swiper+AVPlayer构建了一个短视频上下滑动并播放的场景。
21. 添加视频播放进度条
本示例构建了一个视频播放进度条案例,主要实现的功能是为正在播放的视频添加一个刻度条组件用以表示进度。
20. 实现文件预览功能
本示例通过Web组件实现文件预览,支持PDF, word, excel格式。其中,word和excel仅实现了基本预览功能,例如excel的公式和单元格样式未实现,需自行拓展。
19. 实现图片计数功能
本项目基于Canvas组件进行图片计数、图片局部涂鸦遮盖、图片局部自动绘制圆圈路径功能实现:
- 支持图片内部圆圈计数,可通过按钮增加或减少已有数值。
- 支持画笔对图片进行局部涂鸦遮盖,可切换画笔颜色以及线条粗细程度,可用橡皮擦功能撤销当前涂鸦路径
- 支持图片局部自动绘制圆圈路径并填充颜色以及数字标识,可调整切换圆圈路径底部颜色
18. 实现图片放大功能
本示例构建了一个图片放大案例,主要实现两个功能。
- 点击放大镜,实现图片放大功能
- 点击重置图片,将放大后的图片回归原位
17. 实现录屏功能
本示例基于C侧AVScreenCapture模块API实现视频录制功能,并将生成的录屏文件保存到到沙箱目录。
16. 实现拍照、录音功能
本示例演示如何使用Web组件拍照和录音。
- web拉起系统相机拍照,并返回base64数据给web页面。
- web调用麦克风录音,并保持录音文件到指定沙箱目录。
15. 实现自定义相机拍照
本示例实现了自定义相机拍照功能以及保存图片功能,用到的API如下。
- 使用@kit.CameraKit实现自定义相机拍照、双路预览功能
- 使用@kit.MediaLibraryKit、@kit.ImageKit、@kit.CoreFileKit、安全保存控件SaveButton实现图片保存到系统图库
- 使用@kit.MediaLibraryKit实现图库图片/视频选择
- 使用@kit.CoreFileKit实现保存文件到文件管理器中
14. 访问阿里云OSS
本示例介绍通过URL签名(v4)方式使用API访问阿里云OSS。
13. 实现后台播放在线音频
本示例基于Background Tasks Kit能力实现应用退出后台后继续播放网络音频。
12. 实现自定义日历
本示例通过原生组件实现日历页面,根据不同场景利用ForEach或LazyForEach进行数据循环渲染。
11. 实现世界时钟
本示例通过app.json5中bundleName里的城市名称,匹配对应城市时区,并把对应时间显示在时钟界面。
10. 实现设备认证功能
本示例使用鸿蒙ohos.distributedDeviceManager模块,实现设备间相互认证的能力。
9. 实现日程添加功能
本示例通过集成日历kit将选课提醒加入日程,使用日历一键查看能力拉起目标页面。
8.
7. 简单店铺应用实现
本示例构建了一个简单的店铺应用,应用案例内主要包含以下两个功能。
- 消息页面,通过任务、消息、通报Tab的切换,实现消息的分类
- 店掌页面,点击全部应用按钮后,自定义布局展示常用服务以及各类经营服务,点击编辑按钮可进行新增操作
6. 实现简单旅游应用
本示例构建了一个简单的旅游应用,应用案例内主要包含以下三种功能。
- 通过列表展示用户动态信息
- 通过地图功能展示旅游景点位置
- 通过列表展示旅游景点信息
5. 实现多线程并发功能
本示例分别利用TaskPool和Worker开发多线程并发场景,以此来展示两者的不同之处以及相似之处。
4. 实现应用消息列表
本示例为模拟应用内消息场景。模拟实现的主要功能有以下两点:
- 模拟消息设置页面,可以设置接受新消息提醒和横幅提醒
- 模拟应用消息列表,可以查看应用内所有消息,也可以点击进入查看消息详细内容
3.系统应用权限设置跳转
本示例基于设置应用实现引导用户跳转到系统设置页进行权限,通知的相关设置,包含以下两个场景。
场景一:如果应用首次拒绝了消息通知,应用希望能够引导用户拉起设置应用设置允许通知,用来接收应用内的推送消息;并且在设置完后返回页面可以监听到修改后的状态。
场景二:当用户使用一些需要用户授权的api时(如访问获取联系人信息),若用户首次拒绝授权,则需要引导用户到权限设置页面能够主动进行应用权限的修改。
场景一:
场景二:
2. 获取当前地理位置
示例功能:通过位置服务获取当前地理位置及经纬度。
1. 实现设备网络监听
示例功能包含:监听当前网络连接状态;监听网络类型(wifi、蜂窝网络);判断蜂窝网络类型(3G\4G\5G)和信号强度。
