#DAYU200体验官# ArkUI eTS实践开发一个管家服务系统(二) 原创 精华
DAYU200开发板eTS 实现的若干效果合集
目录
前言
感谢润和软件提供的DAYU200的开发板,为开发者提供了便利,为开源事业所做出的贡献!
这段时间用OpenHarmony eTS在DAYU200开发板做了一些实践,也实现了一些效果,这篇文章就来做一个汇总和展示。同时,这段时间也看到社区里每天都会有新的帖子,新的小伙伴加入,一派欣欣向荣的景象…看到交流群里大家的交流和讨论,看到其他老师和小伙伴在社区的成果,这些都激励自己,愿社区越来越繁荣,愿鸿蒙越来越好!
实现的一些效果展示
项目结构
1.我的通知
知识点:
-
使用了Column布局、Flex流式布局、时间格式化工具类等
-
Badge (消息气泡)的使用
-
RDB数据的使用
参考以前写过的一篇:
https://ost.51cto.com/posts/12975#1modelBookDataModelts__138 -
效果展示
Badge效果 | 通知详情页 | 支付页面 |
---|---|---|
![]() |
![]() |
![]() |
2.语音服务
知识点:
-
Flex流式布局
-
Lottie 动画的使用
- RPC服务调用,模拟AI翻译功能
封装了ServiceModel.ts 对Ability的建立连接、断开连接、以及连接后的回调进行了一层封装,sendRequest 还是在page中进行调用。
- 效果展示
Lottie动画 | 连接服务 | 连接失败 |
---|---|---|
![]() |
![]() |
![]() |
Lottie更多内容参考:https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Lottie
如果要下载Lottie动画json文件,可以去去搜索LottieFiles
3.通信管理
知识点:
-
Column基础布局,使用了TextInput、Button等组件。
-
Socket 通信的使用
之前已经写过一篇,介绍了UDP、TCP的使用,去参考:https://ost.51cto.com/posts/13151 -
效果展示
4.灯光管理
知识点:
-
Column基础布局,希望实现一个可以选择颜色的拾色板和一个可以控制灯光亮度的滑块。
-
linearGradient渐变色的使用,实现拾色板
-
实现一个可以滑块,用于控制灯光亮度
-
效果展示
初始值 | 滑动调节亮度 | |
---|---|---|
![]() |
![]() |
- 存在问题
拾色板功能一般是如何实现的,如何获取颜色,有什么好的思路,欢迎留言
5.场景服务
场景服务,预期是想实现对接入设备的自动化控制,并且可以进行定制。
知识点:
-
Column、Row基础布局
-
animateTo结合rotate实现动画
-
效果展示
初始值 | 点击效果 | 点击效果 |
---|---|---|
![]() |
![]() |
![]() |
后期可以添加场景,并结合设备的使用场景实现场景内容的配置。
6.智慧生活
知识点:
-
Stack布局、Flex、Tabs组件 实现华为标准app的Tab页切换效果,初级模拟了华为的智慧生活app效果。
查看官方示例学习到原来底部自定义的Tab要和展示区Tabs组件建立关联的原理是通过TabsController 来实现的!!
页面底部Tab页面实现代码(bottomTabs.ets)
-
媒体查询控制横竖屏显示
-
效果展示
初始值 | 切换TAB | 横屏效果 |
---|---|---|
![]() |
![]() |
![]() |
更详细的内容可以参考:https://gitee.com/openharmony/app_samples/tree/master/AppSample/Shopping
媒体查询可以参考:
https://developer.harmonyos.com/cn/docs/documentation/doc-references/ts-methods-media-query-0000001211727455#ZH-CN_TOPIC_0000001211727455__li16426122219256
7.通知管理
- notification通知组件的使用,创建系统通知,显示在通知栏,用户可以通过SystemUI查看所有通知消息。
- 发布wantAgent通知
预期的效果:发布通知----在通知栏查看,点击通知 ----显示一个 “查看详情” 按钮,点击按钮,跳转到通知详情页。
-
如何从一个PageAbility 路由到另外一个PageAbility ?
例如,从MainAbility 到 NoticePageAbility,用下面的方式无法实现
需要通过打开一个Ability的方式
https://gitee.com/openharmony/app_samples/tree/master/common/Notification
- 效果展示
通知管理 | 发布通知 | 通知栏效果 |
---|---|---|
![]() |
![]() |
![]() |
- 发现问题
a.DAYU200的通知栏,有时候不停的闪动不知是什么原因?
b.如果希望打开一个PageAbility非默认的页面ets方式该如何操作?
8.RPC服务
知识点:
- Column基础布局,OperateView自定义组件及@Link语法糖的使用;ForEach的使用;prompt组件的使用。
- ets调用rpc 服务,实现字符串排序功能
导入rpc模块 和 ServiceModel模块(提供了连接ability的封装)
连接Ability
发送请求
ServiceModel.ts 实现
AIServiceAbility是一个 ServiceAbility,代码实现如下
- 效果展示
界面效果 | 调用服务 | |
---|---|---|
![]() |
![]() |
楼主的作品一步步完善起来了,贴一下第一篇的链接方便小伙伴跳转:https://ost.51cto.com/posts/12139
前来围观大佬秀操作
比预期的还差得远 /(ㄒoㄒ)/~~
感谢支持!
赞一下