当前位置: 首页 > 科技观察

HarmonyOS服务卡-运动、饮食、健康卡

时间:2023-03-15 19:46:16 科技观察

更多内容请访问:Harmonyos技术社区https://harmonyos.51cto.com,与华为官方共同打造随着水平的不断提升,健康有了成为人们越来越关心的话题,尤其是上班族,熬夜加班、晚睡早起、饮食不规律、缺乏运动导致身体出现一定的亚健康问题.随着科技的发展,只有通过科学的方法了解身体的各项指标,在饮食、睡眠、运动等方面给出合理的建议,才能有针对性地改善自身的健康问题,让我们每个人回归健康快乐的生活。发展背景人们对健康的要求越来越高,从简单的健康饮食到健康运动,再到两者的结合。然而,普通人很难掌握饮食和运动之间的平衡,但我们的应用程序将饮食、运动和您自身的身体状况(如体脂、体重、内部脂肪等)有机地结合在一起。以强身健体为基础,以运动为支撑,以饮食为补充,为每个人打造健康体质,为实现健康中国而努力。需求分析目前,年轻人工作压力大。他们的饮食基本靠外卖,运动则去健身房。他们不能将饮食和健身结合起来。这个APP旨在为每个用户创建个性化的运动和饮食计划。它的作用主要分为两大类:运动(包括怎么运动,需要多少运动)和饮食(早餐、午餐、晚餐吃什么,怎么做等)。主要功能介绍Health+服务卡主要包括三个功能:1、服务卡(2*2)显示体脂仪的主要测量数据(体重、身体年龄、BMI值);点击此卡片进入APP首页,查看更多多指标数据。2、服务卡(4*4)显示体脂仪其他更精准的测量数据,并根据这些数据给出科学的饮食建议;点击“早餐推荐”或“午餐推荐”跳转到饮食推荐页面。3、服务卡(2*4)根据体脂仪测得的各项数据,提供合理、精准的训练计划。点击卡片右侧的推荐健身项目,进入相应训练项目的详细说明。关键技术细节的实现1.创建“Health+”应用项目1.安装和配置DevEcoStudio2.1Release2。创建项目1)打开DevEcoStudio,File→New→NewProject;2)选择你的能力模板,选择EmptyAbility(Java),然后Next;3)配置你的项目,下面红框是需要填写或选中的,其中项目名称、包名称、保存位置可以自定义;ProjectType注意选择Application;兼容的API版本注意选择最新的SDK版本:SDKAPIVersion5;DeviceType选择你使用的设备,我这里选择Phone。最后点击Finish完成项目创建。2.健康饮食app服务卡片实现第一步:卡片生成1)右击项目包名,选择New→ServiceWidget2)为你的服务widget选择一个模板,选择Base的服务卡片,然后选择任意Chooseatemplate,点击Next3)ConfigureYourServiceWidget,这里可以自定义ServiceWidgetName和Description;SelectAbility/NewAbility使用默认的MainAbility;类型可以选择java或者js开发;支持尺寸选择卡片样式(2*2、2*4、4*4);单击“完成”完成服务卡创建。Step2:修改卡片布局:2*2服务卡片布局2*4服务卡片布局4*4服务卡片布局Step3:创建、更新和删除卡片信息Step4:在桌面创建卡片长按应用图标,会弹出如下弹框选择服务卡,会出现如下选择界面,选择添加到桌面,桌面会出现相应的服务卡Step5:点击卡跳转到实现难点分析。,跳转到指定页面1)在MainAbility的onCreateForm(Intentintent)方法中创建一个ComponentProvider对象。ComponentProvidercomponentProvider=newComponentProvider();2)然后调用componentProvider.setIntentAgent(intviewId,IntentAgentintent)其中第一个参数是控件ID,第二个参数是跳转到指定页面传入的intent;3)componentProvider.setIntentAgent(ResourceTable.Id_img_base2_4,startAbilityIntentAgent(ABILITY_NAME));4)最后,providerFormInfo.mergeActions(componentProvider);5)startAbilityIntentAgent(ABILITY_NAME)参数为初始输入的能力名称,字符串类型。privateIntentAgentstartAbilityIntentAgent(StringabilityName){Intentintent=newIntent();Operationoperation=newIntent.OperationBuilder().withDeviceId("").withBundleName("com.zel.health").withAbilityName(abilityName).build();intent.setOperation(操作);ListintentList=newArrayList<>();intentList.add(intent);Listflags=newArrayList<>();flags.add(Flags.UPDATE_PRESENT_FLAG);IntentAgentInfoparamsInfo=newIntentAgentInfo(200,IntentAgentConstant.OperationType.START_ABILITY,flags,intentList,null);IntentAgentHelper.getIntentAgent(this,paramsInfo);returnintentAgent;}更多信息请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com