
HarmonyOS NEXT场景化示例代码(第二期)#鸿蒙示例代码#
在HarmonyOS NEXT应用开发的征程中,我们精心打造了一系列强大且实用的鸿蒙场景化代码。这些代码凝聚着经验与汗水,如同精密的积木,为开发者提供了坚实的基础架构。
它们具备高度的灵活性和可扩展性,能够轻松应对鸿蒙场景的复杂需求,无论是构建一个功能丰富的应用,还是打造一个高效互动的元服务,这些鸿蒙场景化代码都能让开发过程变得更加高效、便捷、稳定。
它们经过了严格的测试与优化,确保在鸿蒙系统上能够稳定运行,帮助开发者跨越技术难题,快速实现创意构想,在鸿蒙生态的广阔天地中抢占先机,开启一段充满无限可能的开发之旅。
本贴持续系列更新中,开发者也可在鸿蒙场景化示例gitee仓中根据需求寻找示例代码。
更多精彩示例分享:
HarmonyOS NEXT场景化示例代码(第一期)#鸿蒙示例代码#
HarmonyOS NEXT场景化示例代码(第三期)#鸿蒙示例代码#
本文原创发布在华为开发者社区。
示例代码索引
- 100.实现后台持续定位功能
- 99.实现拷贝文件到沙箱功能
- 98.实现List拖动功能
- 97.实现UDP发送请求功能
- 96.基于Canvas实现选座功能
- 95.照片选择和相机拉起
- 94.实现组件裁剪
- 93.实现页面隐私模式
- 92.实现下拉筛选框多选
- 91.实现相机权限二次申请
- 90.实现容器高度自适应
- 89.实现文件图片管理功能
- 88.实现手机银行应用框架
- 87.构建服务端证书校验
- 86.构建JSBridge
- 85.实现可滑动面板
- 84.实现创建子窗口功能
- 83.实现书籍类应用框架
- 82.实现预约会见应用
- 81.基于蓝牙连接应用实现
- 80.实现基础组件使用
- 79.实现个人中心
- 78.构建关于页面
- 77.实现安全验证滑块
- 76.实现安全隐私弹窗
- 75.实现计算器计算功能
- 74.实现页面加载
- 73.实现全局水印
- 72.实现课程安排模板
- 71.实现金融类应用
- 70.实现非entry弹窗
- 69.构建时间轴(横轴)
- 68.实现组件间通信
- 67.实现自定义弹窗
- 66.实现多har间跳转
- 65.实现自定义键盘
- 64.实现吸顶效果
- 63.实现渐变前景色
- 62.实现横竖屏切换
- 61.实现高亮关键字
- 60.实现Tab动效切换
- 59.实现图片添加水印功能
- 58.实现隐私弹窗
- 57.实现频道选择UI
- 56.实现卡片轮播
- 55.实现联系人页面
- 54.实现NFC读取
- 53.构建卡应用框架
- 52.实现图片添加贴纸
- 51.实现多种加解密
100.实现后台持续定位功能
本示例演示的是申请定位权限之后,可以在后台持续进行上传定位及位置信息。
99.实现拷贝文件到沙箱功能
本示例基于openSync、writeSync接口实现了拷贝文件到沙箱。
98.实现List拖动功能
本示例基于显式动画、List组件实现了ListItem的上下拖动、ListItem切换以及ListItem插入的效果。
97.实现UDP发送请求功能
本示例使用UDP发送数据,通过设置broadcast参数来启用或禁用广播模式。
广播模式应用场景:
- 自动发现设备:通过广播发送消息,可以快速发现网络中的其他设备。
- 通知所有设备:当需要向网络中的所有设备发送相同的消息时,广播模式非常有用。
96.基于Canvas实现选座功能
本示例基于Canvas组件,构建了一个有关电影院购票选座场景,实现了选座/退座功能。
95.照片选择和相机拉起
本示例基于photoAccessHelper类接口实现了选择图片的最大数量、设置要选择的媒体文件类型、设置选择文件最大数量等效果,其中也提供了图片压缩能力。
94.实现组件裁剪
-
对Image组件设置clipShape属性,并通过PathShape传入不同的裁剪命令,将Image组件裁剪为不同形状。
-
使用Path组件,通过设置commands属性,并传入不同的绘制命令,绘制出带圆角的不同形状的组件。
93.实现页面隐私模式
本示例基于setWindowPrivacyMode接口实现了将页面设置为禁止截屏或录屏的隐私模式。
92.实现下拉筛选框多选
该示例利用网格布局实现下拉筛选框效果,构建下拉筛选框多选日期弹窗页面。
91.实现相机权限二次申请
本示例基于程序访问控制管理实现二次向用户申请相机访问权限授权。
90.实现容器高度自适应
该示例实现了List横向滑动容器高度自适应,通过List模拟美团首页菜单横向滚动高度自适应效果。
89.实现文件图片管理功能
本示例基于媒体文件管理服务,实现了管理相册、照片和视频的功能。图片管理对图片像素数据进行解析、处理、构造的过程,达到目标图片效果,主要涉及图片解码、图片处理、图片编码等。
88.实现手机银行应用框架
本示例提供了一个手机银行应用的基本框架,包含“首页”、“财富”、“生活”、“我的”四个模块。应用只展示了基本的页面,其中具体功能的实现,开发者可根据需求自行开发。
87.构建服务端证书校验
该示例是一个连接网络的Demo,通过socket获取远端证书,在网络通信中,利用套接字(socket)技术来获取与之建立连接的远端服务器的数字证书。
86.构建JSBridge
本示例实现了简单的JSBridge,使H5和原生两侧可以互相调用对方的方法。
85.实现可滑动面板
本示例实现了一个可滑动面板的体验,轻量的内容展示窗口,方便在不同尺寸中切换。
84.实现创建子窗口功能
本示例基于@ohos.window实现了创建和关闭两个子窗口的功能。
83.实现书籍类应用框架
本示例提供了一个书籍类应用的基本框架,包含“书城”、“分类”、“福利”、“书架”、“我的”五个模块。应用只展示了基本的页面,其中具体功能的实现,开发者可根据需求自行开发。
82.实现预约会见应用
本示例是对标预约会见类产品,以此开发的行业通用Demo,实现基础的注册、登录、一二级页面布局参考等功能,工程以feature方式进行模块化设计。本示例是使用ArkTS编写的预约会见类产品UI页面,方便开发者后续进行进一步开发。
81.基于蓝牙连接应用实现
本示例是主要分为3个部分:
蓝牙BLE连接
通过@kit.ConnectivityKit实现蓝牙设备搜索和连接
体重、趋势图、柱状图、指标组件
通过canvas画布组件绘制体重仪表以及指标线,进行体重情况的可视化展示
通过mpchart实现趋势图以及柱状图的设计
传感器计步能力
初始化页面获取一次计步器传感器数据
获取完订阅计步检测器传感器数据
80.实现基础组件使用
本示例主要演示了一些常用基础组件的使用方法。
79.实现个人中心
本示例基于ArkUI基础组件、布局,实现个人中心页的页面和功能。
78.构建关于页面
本示例是ArkTS编写的关于UI页面,方便开发者后续进行进一步开发。
77.实现安全验证滑块
本示例基于Slider组件和自定义弹窗实现了安全验证,将滑块从左滑动到右的效果。
76.实现安全隐私弹窗
本示例基于Navigation和GridRow组件实现安全隐私弹窗。应用首次进入时,会有弹窗请求安全隐私信息,用户可点击对应的隐藏协议跳转到对应隐藏协议的详情页面。从详情页面返回时,安全隐私的弹窗依然存在,用户可以继续进行授权/查看的操作。
75.实现计算器计算功能
本示例实现了计算器的计算功能,包括加减乘除四个基本运算,小数计算、百分数计算以及清除结果功能。
74.实现页面加载
本示例主要简单构建页面加载 loading 布局。
73.实现全局水印
本示例使用组件默认属性overlay实现组件级水印效果。
72.实现课程安排模板
本示例基于Tabs容器组件、Scroll组件、Grid组件实现了上课模块的排版、下半部分使用List组件实现了第一天、第二天的任务列表、班级群界面中使用List组件实现消息的通知。
71.实现金融类应用
本示例是对标金融类产品,使用ArkTS编写金融类产品UI页面,以此开发的行业通用Demo,实现基础的注册、登录、Web嵌入,一二级页面布局参考等功能,工程以feature方式进行模块化设计。
70.实现非entry弹窗
本示例在一个非@Entry的类中创建一个CustomDialogController弹窗,以此来实现不依赖entry的弹窗。
69.构建时间轴(横轴)
本示例通过List组件实现时间轴(横轴)构建。
68.实现组件间通信
本示例主要讲解组件间通信方式,包含以下几种场景:
父子组件单向通信
父子组件双向通信
前后代组件双向同步
组件嵌套类双向同步
67.实现自定义弹窗
本示例基于Navigation实现以下四种自定义弹窗。
用户隐私协议弹窗
切换页面弹窗不消失
半模态弹窗
动态半模态弹窗
66.实现多har间跳转
本示例通过设计单独的路由模块和动态加载方法,解决一个Navigation组件下多har/hsp间路由跳转依赖耦合问题。
65.实现自定义键盘
本示例实现自定义键盘,有三种模式:数字输入模式、英文键盘和中文键盘。
64.实现吸顶效果
本示例通过设置nestedScroll属性,实现Tab组件的TabBar和List组件吸顶效果。
63.实现渐变前景色
本示例使用Gauge将数据展示为环形图表来实现渐变前景色。
62.实现横竖屏切换
本示例通过 setPreferredOrientation 方法来控制窗口的横竖屏显示,通过设置组件的 rotate 属性来控制组件的横竖屏显示。
61.实现高亮关键字
本项目通过RegExp正则匹配实现了高亮关键字功能。
60.实现Tab动效切换
本项目实现了点击、滑动都可实现Tab切换动效,包含文字切换。
59.实现图片添加水印功能
本示例基于图片处理能力、Canvas组件以及组合手势拖动组件实现了为图片添加文字水印和水印图像的功能,添加的水印可拖动。
58.实现隐私弹窗
本示例使用@CustomDialog实现隐私弹窗,使用AppStorage+PersistentStorage保存用户是否同意。
57.实现频道选择UI
该示例实现频道选择UI,通过Grid实现页面布局,实现长按拖动、删除等动画效果。
56.实现卡片轮播
本示例使用Swiper(滑块视图容器)实现卡片轮播的功能。
55.实现联系人页面
本示例是一个联系人列表demo,使用三方库@ohos/pinyin4js实现中文排序,根据联系人的姓名首字母进行排序; 动态获取所有联系人的首字母,在页面右侧生成字母导航,支持快速定位到某字母行。
54.实现NFC读取
本项目使用系统提供的NFC能力,简单实现了应用前台读卡效果,参考NFC标签读写开发指南。
53.构建卡应用框架
本项目实现了卡应用的基本框架,包括: 1、登录/首页 2、二维码 3、商城 4、我的/设置 等常见tab页的一级页面,方便同类型应用快速启动开发。
52.实现图片添加贴纸
本示例基于PanGesture(手势处理)实现了图片添加贴图,并通过手势更新贴图位置的功能。
51.实现多种加解密
该示例主要分为3个部分:
国密算法的加解密:包含了SM2、SM4的加解密示例;
安卓格式和鸿蒙格式的转换:包含了安卓格式的公私钥,转化为鸿蒙格式的公私钥;安卓加密的密文,在鸿蒙解密;鸿蒙生成的密文解码,用于安卓解密;
以AES128算法为例,实现了CBC/ECB/GCM算法分组的加解密示例。
