0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍6个基于eTS实现的Sample

HarmonyOS开发者 来源:HarmonyOS开发者 作者:HarmonyOS开发者 2022-07-11 11:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

搭载API 8的新SDK已经发布。围绕着新SDK,官方贴心地输出了一波Sample,供各位开发者参考。本期我们将介绍6个基于eTS实现的Sample,开发者可以从中掌握基于TS扩展的声明式开发范式的核心机制和功能,同时还能从中学习新增接口的特性及用法,让我们先睹为快!

Sample1:FlipClock简介:

本示例展示了一个多功能的时钟,如图1所示,时钟采用了数字翻页的方式来显示时间,并提供了创建闹钟及倒计时的功能,同时还可以在“设置”里面设置时钟的休眠及屏幕亮度。通过学习本Sample,你可以掌握闹钟及倒计时等后台代理提醒功能的实现,同时还能掌握屏幕亮度、运行锁等相关接口的使用。

a769726c-00c1-11ed-ba43-dac502259ad0.gif

图1 FlipClock

重点剖析:

1时钟的时间显示采用Text组件实现,通过调用rotate()接口将文本按指定坐标轴进行顺时针旋转,从而实现数字翻页的效果。

2闹钟及倒计时功能通过@ohos.reminderAgent模块实现,该模块提供了一系列后台代理提醒的接口,相关接口如下:

a77c874e-00c1-11ed-ba43-dac502259ad0.png

3设置屏幕亮度通过@ohos.brightness模块实现,该模块提供了设置设备当前的屏幕亮度的接口,相关接口如下:

a7913f36-00c1-11ed-ba43-dac502259ad0.png

4休眠功能通过@ohos.runningLock模块实现,该模块提供了运行锁的一系列接口,相关接口如下:

a7a56632-00c1-11ed-ba43-dac502259ad0.png

源码下载链接:

https://gitee.com/openharmony/app_samples/tree/master/CompleteApps/FlipClock

Sample2:International简介: 本示例展示了系统的国际化信息的设置,如图2所示,用户可以选择当前地区、设置系统语言,还可以设置日期、时间、时区等。同时还展示了当前系统语言下的时间、数字、货币、百分比、单复数、屏幕方向等信息的格式化显示。通过学习本Sample,你可以掌握“国际化-i18n”标准的实现,同时还可以掌握设置系统时间的相关接口的使用。

a7c6ffc2-00c1-11ed-ba43-dac502259ad0.gif

图2International

重点剖析:

1本示例中系统的语言、地区、时区等国际化统一标准通过@ohos.i18n模块实现,该模块提供了获取国际化标准信息的一系列接口,相关接口如下:

a7e7818e-00c1-11ed-ba43-dac502259ad0.png

2系统时间的设置通过@ohos.systemTime模块实现,该模块提供了设置系统日期、时间、时区等一系列接口,相关接口如下:

a7f9373a-00c1-11ed-ba43-dac502259ad0.png

源码下载链接: https://gitee.com/openharmony/app_samples/tree/master/common/International

Sample3:Shopping简介: 本示例展示了一个仿购物类应用。如图3所示,像我们经常使用的购物应用一样,本示例提供了商品展示、商品搜索、购物车、消息提醒等功能,各界面中图片、视频、文本等资源规整地呈现,且加载速度快、滑动效果流畅。通过学习本Sample,你可以熟悉eTS的声明式语法,并能掌握应用界面的懒加载优化,同时还可以掌握Swiper、Tabs等组件的使用。

重点剖析:

1各界面均使用Flex、Cloumn、Row、Grid等混合布局实现,并通过声明式语法描述,使得界面布局丰富多样。

2界面中的数据使用LazyForEach组件加载,以懒加载的方式从提供的数据源中按需迭代数据,以此减小应用内存、提升用户体验。

3界面内的滑动效果均采用了Swiper滑动容器,该组件实现了界面流畅地滑动,并提供了切换子组件显示的能力。

4界面内标签容视图的切换通过Tabs组件实现,每个界面标签对应一个内容视图。

源码下载链接: https://gitee.com/openharmony/app_samples/tree/master/AppSample/Shopping

Sample4:Chat简介: 本示例展示了一个仿聊天类的应用。如图4所示,像我们经常使用的聊天应用一样,本示例提供了发起聊天、添加好友、发起群聊、社区图片展示等功能。同时,用户还可设置保存记录,使应用退出时记住当前状态,下次打开恢复当前状态。通过,学习本Sample你可以熟悉eTS的声明式语法,并能掌握应用界面数据的懒加载优化与轻量级存储的开发,同时还能掌握界面跳转相关接口的使用。

重点剖析:

1各界面均使用Flex、Cloumn、Row等混合布局实现,并通过声明式语法描述,使得界面布局丰富多样。

2保存记录功能通过@ohos.data.storage模块实现,该模块提供了轻量级存储开发的接口,为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。相关接口如下:

a8b2f3c8-00c1-11ed-ba43-dac502259ad0.png

3由于“聊天”和“通讯录”模块数据量较大,所以使用了LazyForEach组件进行数据的懒加载,以减小应用内存、提升用户体验。

4各个页面间的跳转通过@ohos.router(从API8开始支持)路由模块实现,该模块提供了应用中页面路由的一系列接口,相关接口如下:

a8c83972-00c1-11ed-ba43-dac502259ad0.png

源码下载链接: https://gitee.com/openharmony/app_samples/tree/master/AppSample/Chat

Sample5:DeviceUsageStatistics简介: 本示例展示了当前设备中应用程序使用情况的信息。如图5所示,顶部的数据面板展示了最常用的五个应用的使用时间占比情况,中部的竖向滑动栏展示了每个应用的使用总时长和最后一次使用的时间,底部的横向滑动栏展示了不常用应用列表。通过学习本Sample,你可以掌握获取设备应用状态的相关接口的使用。

a8ecf848-00c1-11ed-ba43-dac502259ad0.png

图5DeviceUsageStatistics

重点剖析:

1获取设备应用使用时长通过@ohos.bundlestate模块实现,该模块提供了获取当前设备应用状态的一系列接口,相关接口如下:

a8fcaf9a-00c1-11ed-ba43-dac502259ad0.png

源码下载链接: https://gitee.com/openharmony/app_samples/tree/master/device/DeviceUsageStatistics

Sample6:NativeAPI简介: 本示例展示了一个由C++完成逻辑计算并由eTS完成界面绘制的五子棋游戏,如图6所示。通过学习本Sample,你可以掌握在eTS中如何调用C++的接口,同时还能掌握弹窗模块的接口的使用。

a921eb20-00c1-11ed-ba43-dac502259ad0.gif

图6NativeAPI

重点剖析:

1eTS侧通过import chessNapi from "libchess.so"引入C++侧的逻辑能力,从而实现C++接口的调用。

2应用中的弹窗通过@ohos.prompt(从API8开始支持)模块实现,该模块提供了界面弹窗操作的一系列接口,相关接口如下:

a9313b8e-00c1-11ed-ba43-dac502259ad0.png

源码下载链接: https://gitee.com/openharmony/app_samples/tree/master/Native/NativeAPI

是不是超级实用呀,赶快点击链接下载学习吧!同时,使用过程中有任何问题或者需求,欢迎开发者到码云OpenHarmony/app_samples仓库提交Issue。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2153

    浏览量

    66244
  • Sample
    +关注

    关注

    0

    文章

    11

    浏览量

    9088
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1093

    浏览量

    51201

原文标题:Sample上新,从API 8开始支持!速来拿走

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【RA-Eco-RA6M4开发板评测】WDT实践

    开发环境: IDE:MKD 5.38a Renesas RA Smart Configurator:v5.9.0 开发板:RA-Eco-RA6M4开发板 MCU:R7FA6M4AF3CFP 1
    发表于 11-09 22:02

    跑tcpserver_sample 例程报lwip_bind: invalid address错误怎么解决?

    各位前辈好。网口已经板子和电脑相互可以PING通。然后板子创建一服务器,使用tcpserver_sample的例程,运行报lwip_bind: invalid address错误。 有人碰到过吗,能指点下,给点宝贵意见吗。感谢。
    发表于 10-14 08:27

    【M-K1HSE开发板免费体验】相关源码之阅读和分析1-使用XComponent + Vsync 实现自定义动画

    (通过 NAPI) FeatureComponent.ets -> napi_init.cpp 6. ArkTS 层调用一 NAPI 导出的 init
    发表于 09-03 16:05

    中国中车ETS3动车组在马来西亚启用

    近日,由中国中车集团旗下中车株机公司研制的ETS3动车组从吉隆坡车站启程,驶往柔佛居銮,正式在马来西亚启用,标志着中马两国在轨道交通领域的合作迈上新台阶,成为中马友谊持续深化的重要见证。
    的头像 发表于 08-27 13:44 546次阅读

    ArkUI-x跨平台Bridge最佳实践

    是Bridge最佳实践中需要讨论的一重点。 接下来我们以调用相机管理的能力(该能力提供的api当前不支持跨平台),来介绍跨平台的Bridge实现“一码三平台”的推荐写法 如上图所示,HarmonyOS
    发表于 06-10 23:06

    如何将一FA模型开发的声明式范式应用切换到Stage模型

    模型切换概述 本文介绍如何将一FA模型开发的声明式范式应用切换到Stage模型,您需要完成如下动作: 工程切换:新建一Stage模型的应用工程。 配置文件切换:config.json切换
    发表于 06-04 06:22

    如何在KaihongOS操作系统中写一动态的页面

    写一动态的页面 在写一简单的页面文档中,我们实现了一简单的静态页面,现在我们来实现
    发表于 04-25 06:42

    使用系统的AEC功能,跑middleware/v2/sample/audio这个demo时出现问题求解

    目前我在使用系统的AEC功能,当我跑middleware/v2/sample/audio这个demo时出现如下问题
    发表于 04-22 07:38

    可以用ipc-shm.bb构建sample_user吗?

    BSP41.0(S32G274ARDb2) 修改以下文件,添加应用程序:sample_user fsl-auto-yocto-bsp-41.0/sources/meta-alb
    发表于 03-25 07:49

    MGMF182L1D6-MINAS A6N系列 介绍 松下

    电子发烧友网为你提供Panasonic(Panasonic)MGMF182L1D6-MINAS A6N系列 介绍相关产品参数、数据手册,更有MGMF182L1D6-MINAS A
    发表于 02-19 18:58
    MGMF182L1D<b class='flag-5'>6</b>-MINAS A<b class='flag-5'>6</b>N系列 <b class='flag-5'>介绍</b> 松下

    MGMF182L1C6M-MINAS A6N系列 介绍 松下

    电子发烧友网为你提供Panasonic(Panasonic)MGMF182L1C6M-MINAS A6N系列 介绍相关产品参数、数据手册,更有MGMF182L1C6M-MINAS A
    发表于 02-14 18:53
    MGMF182L1C<b class='flag-5'>6</b>M-MINAS A<b class='flag-5'>6</b>N系列 <b class='flag-5'>介绍</b> 松下

    MGMF182L1C6-MINAS A6N系列 介绍 松下

    电子发烧友网为你提供Panasonic(Panasonic)MGMF182L1C6-MINAS A6N系列 介绍相关产品参数、数据手册,更有MGMF182L1C6-MINAS A
    发表于 02-13 19:11
    MGMF182L1C<b class='flag-5'>6</b>-MINAS A<b class='flag-5'>6</b>N系列 <b class='flag-5'>介绍</b> 松下

    罗德与施瓦茨和ETS-Lindgren发布新一代无线技术OTA测试解决方案

    罗德与施瓦茨(以下简称“R&S”)和 ETS-Lindgren 持续合作,为新一代无线技术提供全面的OTA 测试解决方案。ETS-Lindgren 将R&S CMX500一体化信令
    的头像 发表于 12-18 11:24 895次阅读

    征程6 (Journey6,以下简称J6)芯片及开放平台介绍

    征程6介绍 与以往征程系列前几代产品不同的是,征程6(我们业内称为J6,“钩6”)并不是一款芯片,而是根据算力大小,分成了J
    的头像 发表于 12-13 10:23 3.2w次阅读
    征程<b class='flag-5'>6</b> (Journey<b class='flag-5'>6</b>,以下简称J<b class='flag-5'>6</b>)芯片及开放平台<b class='flag-5'>介绍</b>

    ADC124S051手册中的Fsclk和Fs(Sample Rate)是什么关系?

    1、手册中的Fsclk和Fs(Sample Rate)是什么关系; 2、(STM32F1操作ADC)stm32送给ADC的SCLK必须要8Mhz >= SCLK >=3.2Mhz吗? 3、如果想实现ADC的DOUT输出速率是500khz,那么应该给SCLK
    发表于 12-09 08:36