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

    文章

    1485

    浏览量

    61814
  • Sample
    +关注

    关注

    0

    文章

    11

    浏览量

    8695
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1026

    浏览量

    45778

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

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

收藏 人收藏

    评论

    相关推荐

    请问DSK6713的AIC23能否在lineout和headphone两输出通道实现不同信号的输出?

    我现在需要输出两不同的信号,我一直用aic23的命令:while (!DSK6713_AIC23_write(hCodec, x[sample])) 来实现输出,不过lineout跟
    发表于 10-29 06:09

    ESP8266突然启动失败,并且永远不会跳转到第二次启动或用户代码怎么解决?

    2013-01-8,第一原因:2,开机模式:(3,6ets 2013-01-8,第一原因:2,开机模式:(3,6
    发表于 07-11 07:10

    请问est_printf为什么要使用堆栈空间?

    _putc, fmt, ap) 实现; ets_io_vprintf 是一 rom 函数,ets_putc 是一轮询函数,它等到 ua
    发表于 07-09 07:47

    esp32c3在别的.c文件用微妙函数ets_delay_us(20)函数报错怎么解决?

    没添加文件是这个错../main/motor.c:41:21: error: implicit declaration of function \'ets_delay_us\' [-Werror
    发表于 06-20 07:46

    ESP32从机设置bits_per_sample为32的情况下,从机无法向主机发送数据的的原因?

    使用ESP-IDF 4.3.1和ESP-IDF 4.0.2测试过,一ESP32作为主机,一ESP32作为从机进行I2S通信,主机接收数据,从机发送数据。现在问题是从机设置Code: Select
    发表于 06-17 06:51

    MGMF442L1G6M-MINAS A6N系列 介绍 松下

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

    MGMF442L1D6M-MINAS A6N系列 介绍 松下

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

    HarmonyOS实战开发-如何实现音频低时延录制和播放,AudioVivid音乐播放的相关功能

    ||||---Ability.test.ets // 自动化测试用例 具体实现 音频录制和播放-源码参考:audioRecording.cpp低时延录制开发指导文档低时延播放开发指导文档低时延录制开发示例低时延播放
    发表于 05-11 20:26

    HarmonyOS实战开发-如何使用全局状态保留能力弹窗来实现评论组件。

    介绍 评论组件在目前市面上的短视频app中是一种很常见的场景,本案例使用全局状态保留能力弹窗来实现评论组件。点击评论按钮弹出评论组件,点击空白处隐藏该组件,再次点击评论按钮则会恢复上一次浏览的组件
    发表于 05-07 15:06

    HarmonyOS实战开发-如何通过BlendMode属性来实现挂件和图片的混合

    介绍 本实例主要通过BlendMode属性来实现挂件和图片的混合,通过更改不同的混合参数,能够展示不同的混合效果。 效果图预览 使用说明 : 进入页面,点击挂件区域,进行挂件和图片的混合,点击
    发表于 05-07 14:45

    是德科技与ETS Lindgren合作推出NB-NTN OTA测试解决方案

    近日,是德科技与ETS Lindgren共同发布了一款创新的OTA测试解决方案,该方案专为测试支持窄带非地面网络(NB-NTN)技术的设备而设计。这一创新性的解决方案标志着双方在通信测试领域的深入合作,共同为NB-NTN技术的推广和应用提供了有力支持。
    的头像 发表于 03-14 10:57 673次阅读

    鸿蒙开发学习:【ets_frontend组件】

    ets_frontend组件采用命令行交互方式,支持将JavaScript代码转换为方舟字节码文件,使其能够在方舟运行时上运行。支持Windows/Linux/MacOS平台。方舟前端工具在linux平台上可通过全量编译或指定编译前端工具链获取。
    的头像 发表于 03-10 19:58 307次阅读
    鸿蒙开发学习:【<b class='flag-5'>ets</b>_frontend组件】

    鸿蒙实战:HarmonyOS NEXT【城市选择】

    城市选择案例 介绍 本示例介绍城市选择场景的使用:通过[AlphabetIndexer]实现首字母快速定位城市的索引条导航。 效果图预览 使用说明 分两功能 在搜索框中可以根据城市
    发表于 02-29 15:50

    Redis实现分布式多规则限流的方式介绍

    市面上很多介绍 Redis 如何实现限流的,但是大部分都有一缺点,就是只能实现单一的限流,比如 1 分钟访问 1 次或者 60 分钟访问 10 次这种,但是如果想一
    的头像 发表于 02-26 10:07 445次阅读
    Redis<b class='flag-5'>实现</b>分布式多规则限流的方式<b class='flag-5'>介绍</b>

    arkcompiler_runtime_core/static_core/runtime和arkcompiler_ets_runtime有什么关联

    arkcompiler_runtime_core/static_core/runtime有内存分配和垃圾回收,arkcompiler_ets_runtime也有独立的内存管理和垃圾回收。 这两库之间是什么关系和作用
    发表于 01-10 21:39