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

    文章

    1385

    浏览量

    61011
  • Sample
    +关注

    关注

    0

    文章

    10

    浏览量

    8670
  • SDK
    SDK
    +关注

    关注

    3

    文章

    967

    浏览量

    44799

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    在 HarmonyOS 上实现 ArkTS 与 H5 的交互

    介绍 本篇Codelab主要介绍H5如何调用原生侧相关功能,并在回调中获取执行结果。以“获取通讯录”为示例分步讲解JSBridge桥接的实现。 相关概念 Web组件:提供具有网页显示能力的Web组件
    发表于 11-13 17:08

    MAX40080: Precision, Fast Sample-Rate, Digital Current-Sense Amplifier Data Sheet MAX40080: Precision, Fast Sample-Rate, Digital Current-Sen

    电子发烧友网为你提供ADI(ADI)MAX40080: Precision, Fast Sample-Rate, Digital Current-Sense Amplifier Data Sheet
    发表于 10-16 18:38
    MAX40080: Precision, Fast <b class='flag-5'>Sample</b>-Rate, Digital Current-Sense Amplifier Data Sheet MAX40080: Precision, Fast <b class='flag-5'>Sample</b>-Rate, Digital Current-Sen

    sample usb的WindowsTool该怎么使用?

    sample usb的WindowsTool 该怎么使用?麻烦一下,我是在不清楚!另外usbd keyboard和 mouse怎么没反应?
    发表于 08-31 10:40

    M487如何使用sample code?

    您好, 我用M487开发板 要测试SDH_Firmware_Update sample code 烧录时出现\"The code size exceeds the limitation
    发表于 08-31 09:21

    如何使用USB sample code?

    我使用 M483KG这片 demo board, 跑Sample code - HSUSBD_HID_MouseKeyboard 然后程式一直停在hsusbd.c裡的 HSUSBD_Open这个函数
    发表于 06-13 06:58

    【英飞凌PSoC 6 RTT开发板试用】以搭积木方式实现简单的互联型家庭网关

    本文基于RT-Studio,采用搭积木的方式实现简单的互联型家庭网关,采集各类传感器数据并传输至云端。硬件除了Psoc6-evaluationkit-062S2开发板之外,还有一块RW007
    发表于 05-31 22:19

    如何获取eiq_sample_apps源?

    如何获取 eiq_sample_apps 源
    发表于 05-23 07:59

    #深入浅出学习eTs#(八)“猜大小”小游戏

    本项目Gitee仓地址:[深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com)](   上一章节提到的模拟器存在的BUG问题,目前没有办法直接改善,本来打算直接使用鸿蒙远程设备
    的头像 发表于 05-17 15:08 740次阅读
    #深入浅出学习<b class='flag-5'>eTs</b>#(八)“猜大小”小游戏

    #深入浅出学习eTs#(十)蓝药丸还是红药丸

    本项目Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、需求分析 我们本章的内容选择致敬黑客帝国,如果你处于主角的立场,你会选择蓝药丸还是红药丸呢?本章
    的头像 发表于 05-17 15:07 699次阅读
    #深入浅出学习<b class='flag-5'>eTs</b>#(十)蓝药丸还是红药丸

    深入浅出学习eTs之九宫格密码锁功能实现

    本项目Gitee仓地址:深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、需求分析 相信没有人没有使用过九宫格解锁吧,从智能机开始迸发的时期到现在,我们本期就要做一个自己
    的头像 发表于 05-13 13:25 1061次阅读
    深入浅出学习<b class='flag-5'>eTs</b>之九宫格密码锁功能<b class='flag-5'>实现</b>

    #深入浅出学习eTs#(九)变红码?专属二维码生成

    内容,实现二维码图形的改变 通过输入框输入内容 使用按钮进行改变 使用二维码进行显示 二、控件介绍 这里我们使用的是官方提供的QR控件 QRCode 用于显示单个二维码的组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记
    的头像 发表于 05-13 13:21 1013次阅读
    #深入浅出学习<b class='flag-5'>eTs</b>#(九)变红码?专属二维码生成

    深入浅出学习eTs(七)如何判断密码是否正确

    本项目Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、基本界面 本项目基于#深入浅出学习eTs#(四)登陆界面UI,继续进行,实现一个判
    的头像 发表于 05-13 13:20 657次阅读
    深入浅出学习<b class='flag-5'>eTs</b>(七)如何判断密码是否正确

    深入浅出学习eTs(一)模拟器/真机环境搭建

    本项目的Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) (之前有些意外,数据丢失了,现在重新发,且不参与任何活动,在第一篇说明一下,之后就不
    的头像 发表于 05-13 13:17 1155次阅读
    深入浅出学习<b class='flag-5'>eTs</b>(一)模拟器/真机环境搭建