【HarmonyOS第一课:运动健康实战】运动特种兵开发实践

看到论坛里又有挑战赛了,前来交个作业。 

【创意Demo挑战赛】HarmonyOS运动健康实战——等你来战!-华为开发者论坛 | 华为开发者联盟 (huawei.com)

设计理念来源于最近很火的特种兵旅游。基于"特种 兵不怕挑战"的理念,设计了运动的app。

首页在设计上分为上下两块。

上面是特色的每日挑战:

用做任务的形式来运动打卡,由服务器每天刷新一个健身任务发给用户,每个任务都有三种难度可以选择,用户根据自己的实际能力选择一个难度完成打卡,系统会根据每个人完成的难度和次数进行每月的排名【注排名功能未开发、仅演示效果】。

        由于用户不知道明天会接到什么任务,可以增加一些运动的趣味性和参与感。

下方是比较传统的自选项目锻炼:

方便有具体需求的用户安排自己的训练。

第二屏用来展示用户的所有训练记录,无论是挑战、还是日常运动,挑战任务是否达标,总之所有进行过的运动数据都会存入本地数据库,并按照运动的时间依次排序展示,方便用户查看。

第三屏说个人信息界面,不过时间有限,具体功能都没做,只是界面展示。

下面展示一下已经开发完成的功能:

可跳过的启动页,以便第一次打开时先在后台加载数据,以免用户进入主页时发现一片空白。

可切换查看不同日期和难度的挑战任务

每日挑战的打卡功能。

为了方便演示功能,做了一个演示用的输入器,可以手动录入本次运动的运动量、热量消耗、具体时间。

输入器可以识别测试人员点击的运动项目,以正确写入数据库。

进行每日挑战时,如果运动量达标自动判定为“当日运动已达标”,修改按钮样式,同时往数据库写入本次的运动信息。如果运动量不达标则仅往数据库写入运动信息,不改变UI界面,用户可以再次发起挑战。

用户自选运动的打卡测试。

输入器可以识别具体的运动项目,并在相关单位上做调整。

所有的数据存入数据库,可在第二屏查看。

加上了一个简单的滑动弹性效果。

最后是一个简单的个人信息页,由于时间有限,功能都没开发,只是静态展示。

遇到的困难:

  如何制作能倒计时的启动页、

  如何让app在启动时先进入启动页而不是Index页、

  如何构建本地数据库,并顺利读写数据、

  组件间的数据同步、

  改变Array<自定义数据类型>的值无法触发UI刷新

部分解决方案:

  • 改动页面的启动顺序

需要在EntryAbility中进行修改。windowStage.loadContent函数的第一个值是最优先被启动的页面。

  onWin
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值