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

十三个Codelabs案例,一篇带你了解HarmonyOS的核心能力

时间:2023-03-14 15:22:23 科技观察

更多信息,请访问:HarmonyOS是新一代智能终端操作系统,为不同设备的智能化、互联化、协同化提供了统一的语言,带来简单、流畅、连续、安全、可靠的全场景交互体验。开发者可以针对社交购物、智能出行、移动办公、影音娱乐、智慧教育、运动健康、智能家居等场景开发应用。想知道在这些场景下能创造出哪些新颖实用的案例,又用到了鸿蒙OS的哪些核心能力?让我们通过13个Codelabs开发示例一一讲解。社交购物学习UI框架和卡片开发HarmonyOS支持JavaUI和JSUI开发方式。除了Java/JS组件布局开发,HarmonyOS还支持服务卡和多模输入开发。我们将介绍社交购物场景下的三个Codelabs开发案例。通过这三个案例的学习,可以深入了解HarmonyOSUI框架、业务卡牌、多模式开发相关知识点。如图所示,案例一是使用JavaUI框架编写的财务模板,使用JavaUI框架中常用的组件和布局进行开发。图1JavaUI框架财务模板案例2是一个使用JSUI框架编写的购物车模板,使用HML(HarmonyOSMarkupLanguage)、CSS、JavaScript开发。效果如下图所示:图2.JSUI框架购物车模板案例3是购物模板的卡片,包括1X2、2X2、2X4三种不同的服务卡片。图3服务卡购物模板此外,HarmonyOS目前不仅支持传统的输入交互方式,如按键、触摸、键盘、鼠标等,还提供了多模输入融合框架,可以支持新的输入方式语音等交互方式。图4多模式输入通过以上三种情况,开发者可以开发出自己想要的页面,一般可以达到HarmonyOS初级开发者的水平。之后通过进阶学习,了解HarmonyOS的新能力、新特性,包括分布式、AI、设备管理等知识。智能出行学习分布式任务调度在智能出行场景中,我们通过手机、手表、汽车创建分布式地图导航流程案例——案例4。分布式地图导航中转案例,可实现手机导航信息在手表与车机之间的无缝流动:上车后,点击手机上的“迁移”按钮,导航流程将被中转至车;下车后,点击“迁移”按钮,通过手表的提示信息,导航流向手表和手机。视频链接在HarmonyOS中,分布式任务调度平台为“超级终端”提供了统一的组件管理能力由多个搭载HarmonyOS的设备构建,因此要实现这样的分布式应用,只需要开发者将core传入目标设备deviceId,调用continueAbility接口即可实现分布式跨屏流,其中使用了相关的分布式任务调度技术图5分布式地图导航流程核心代码移动办公学习分布式文件服务,分布式数据服务刚刚通过智能出行场景给大家介绍了分布式任务调度的相关知识,下面我们使用移动办公场景介绍分布式的另外两个核心知识点——分布式文件服务和distributed数据服务。案例五,我们使用三台设备搭建一个超级会议终端,使用分布式文件服务,将同一份PPT文档数据共享给三台手机。使用分布式数据服务,实现多设备间同步涂鸦。效果如视频所示:videolink在刚才的这个案例中,应用了分布式文件服务和分布式数据服务。下面一一介绍:分布式文件服务允许应用程序在多个设备之间无缝获取文件,而无需感知文件所在的存储设备。在这个例子中,已经为开发者实现了HarmonyOS这个复杂的设备间网络通信系统。开发者只需要调用一行代码Context.getDistributedDir()即可读取分布式文件路径,存储PPT文档数据。其中,可以实现跨设备文件读取。分布式文件服务运行示意图如下:图6分布式文件服务运行示意图分布式数据服务支持应用数据的相互同步,为用户在各种终端设备上提供一致的数据访问体验。本例中,涂鸦字“1”在两台设备上的同步显示,就是采用了分布式技术。我们可以理解为涂鸦笔记是一些点坐标的信息。绘图的过程就是存储信息的过程。调用的接口是singleKvStore.putString(key,value)。同样,设备之间复杂的数据同步也由系统自动完成。用户只需调用singleKvStore.getString(key)即可实现涂鸦笔记在多台设备间的同步显示。分布式数据服务运行示意图如下:图7分布式数据服务运行示意图任务调度、分布式文件服务和分布式数据服务),但开发者经常会遇到不知道为自己选择哪种分布式技术的问题应用,即技术选型。下面我们通过影音娱乐场景来帮助大家进一步了解如何进行技术选型。案例6是分布式视频播放器,实现了通过左手机将当前播放的视频流传输到右手机的功能,左手机还可以控制右手机的音量和播放进度。以上都是使用分布式任务调度实现的。图8分布式视频播放器案例7是一个分布式摄像头,实现了右侧手机拍摄的照片可以立即传输到左侧手机显示的功能,使用的是分布式文件服务。图9分布式摄像头案例8为分布式遥控器,实现小屏输入的文字可以同步显示在大屏上的功能,手机承担大屏搜索中的文字输入功能,即分布式数据使用服务实现。图10面向智慧教育学习的分布式远程控制AI能力HarmonyOS拥有强大的AI能力,支持开箱即用。开发者可以灵活方便地选择AI能力,让应用更加智能。我们用智慧教育的场景来学习。案例9是AI能力支撑的智慧教育系统,采用了AI语音识别、通用文本识别、AI语音播报三种技术。首先,系统具备看和说的能力,即教师可以通过与系统的对话找到并打开相应的课件,这就是使用AI语音识别的相关能力。当老师通过语音控制课件切换时,在onIntermediateResults回调中可以实时获取识别结果,识别结果与关键词进行匹配。如果匹配成功,将显示相应的课件。其次,系统采用万能文字识别,对课件(原课件为文字图片)上的古诗词文字进行识别,为后续语音播报提供语料库。最后是AI语音播报。教师点击“朗读古诗词”后,调用语音播报引擎的speakText接口朗读课文。AI能力加持,让课堂更智能,教学更便捷。视频链接运动健康学习传感器使用HarmonyOS传感器是应用程序访问底层硬件传感器的设备抽象概念。根据传感器提供的SensorAPI,开发者可以查询设备上的传感器,简化应用开发。案例10使用手机和手表创建分布式运动健康应用,使用传感器中的SensorAPI,将通过手表上的传感器获取的数据(心率、步数等)显示在手机上。实时检查您的身体状况,并在心率异常时提醒用户。效果如下图所示。图11分布式运动健康应用智能家居学习设备控制我们都知道HarmonyOS是万物互联时代的操作系统,是设备间通信的语言。在这一使命下,HarmonyOS最重要的典型应用场景就是智能家居。全面开发一个智能家居需要两步,第一步是移动端的开发,第二步是设备端的开发。下面我们就以一个台灯的案例来介绍一下智能家居的完整开发过程。首先是移动端的发展。案例11是一个智能家居模板。开发者只需要下载HUAWEIDevEcoStudio,选择集成在IDE中的智能家居模板(DeviceControlFeatureAbility),然后运行台灯工程即可。当然,智能家居模板还包括牙刷和豆浆机。开发者可以根据业务需要做一些简单的配置来运行。图12智能家居模板二是设备端的开发。完成设备端的开发,需要获取HarmonyOS认证模块。鸿蒙技术支持团队将为设备厂商提供整套使能套件,帮助您快速完成设备端的开发。案例12是一个无感配网过程,可以实现手机和开发板之间的配网,让手机下发的命令可以显示在开发板上。图13在学习了移动端和设备端的开发后,设备厂商可以开发自己的设备。案例13是台灯的案例。台灯可以通过手机控制,比如调节开关和亮度。图14手机实现对台灯的控制通过以上7个场景的13个Codelabs案例,帮助您快速了解HarmonyOS的UI框架、卡片开发、分布式、AI、传感器、设备等核心技术控制。这些案例陆续上线欢迎来到HarmonyOSCodelabs。●HarmonyOSCodelabshttps://developer.huawei.com/consumer/cn/codelabsPortal/index看完13个Codelabs案例,你是不是迫不及待要开始HarmonyOS开发了?想听更多HarmonyOS技术讲解,了解更多HarmonyOS最新技术,那就不要错过2021年7月31日在杭州举办的HarmonyOS开发者日活动~15+精彩演讲,20+技术大咖,300+开发者同台交流。一场有趣好玩的科技盛会,7月31日,杭州,期待你的到来~更多资讯请访问:与华为官方共建的鸿蒙科技社区https://harmonyos.51cto.com

猜你喜欢