写点什么

Sample 上新,从 API 8 开始支持!速来拿走

  • 2022 年 7 月 12 日
  • 本文字数:2368 字

    阅读完需:约 8 分钟

Sample上新,从API 8开始支持!速来拿走

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

Sample1:FlipClock

简介:

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


图 1 FlipClock


重点剖析:

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

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



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



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



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

Sample2:International

简介:

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


图 2 International


重点剖析:

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



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



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

Sample3:Shopping

简介:

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


图 3 Shopping


重点剖析:

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 的声明式语法,并能掌握应用界面数据的懒加载优化与轻量级存储的开发,同时还能掌握界面跳转相关接口的使用。


图 4 Chat


重点剖析:

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

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



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


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



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

Sample5:DeviceUsageStatistics

简介:

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


图 5 DeviceUsageStatistics


重点剖析:

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



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

Sample6:NativeAPI

简介:

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


图 6 NativeAPI


重点剖析:

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

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



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

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



用户头像

每一位开发者都是华为要汇聚的星星之火 2021.10.15 加入

提供HarmonyOS关键技术解析、版本更新、开发者实践和活动资讯,欢迎各位开发者加入HarmonyOS生态,一起创造无限可能!

评论

发布
暂无评论
Sample上新,从API 8开始支持!速来拿走_HarmonyOS_HarmonyOS开发者社区_InfoQ写作社区