原文:https://mp.weixin.qq.com/s/TxUOSXySZRwQaECenxt-Og ,点击链接查看更多技术内容。

搭载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。

Sample上新,从API 8开始支持!速来拿走的更多相关文章

  1. Tapdata Cloud 2.1.4 来啦:数据连接又上新,PolarDB MySQL、轻流开始接入,可自动标记不支持的字段类型

      需求持续更新,优化一刻不停--Tapdata Cloud 2.1.4 来啦!   最新发布的版本中,在新增数据连接之余,默认标记不支持同步的字段类型,避免因此影响任务的正常运行. 更新速览 ① 数 ...

  2. Tapdata Cloud 版本上新!新增TiDB等数据源支持,连接和任务功能增强,体验更优

    Tapdata Cloud cloud.tapdata.net Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持Oracle.MySQL.PG.SQL Server.Mongo ...

  3. Tapdata Cloud 版本上新!新增ClickHouse,ADB MySQL等5个数据源支持

    Tapdata Cloud cloud.tapdata.net Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持Oracle.MySQL.PG.SQL Server.Mongo ...

  4. Tapdata Cloud 版本上新 | 支持通知自配置,支持GP、MQ数据源,界面更友好!

    Tapdata Cloud https://cloud.tapdata.net Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持Oracle.MySQL.PG.SQL Serv ...

  5. Hadoop2.2编程:新旧API的区别

    Hadoop最新版本的MapReduce Release 0.20.0的API包括了一个全新的Mapreduce JAVA API,有时候也称为上下文对象. 新的API类型上不兼容以前的API,所以, ...

  6. 新图形API为unity5 带来了什么&下一代新图形API的好处

    西瓜的演讲ppt翻译+解释+其他: wolf96 在最基本的层面上,这些新api是为了改进CPU性能和效率,通过:减少CPU渲染瓶颈的情况,提供更多可预测和稳定的驱动的行为,给应用程序更多控制,就像在 ...

  7. TMS WEB Core v1.2预览版:新的Electron应用程序支持

    2019年2月20日,星期三 几个月前,我们已经开始与Electron进行实验.在工作概念验证之后,我们的目标是为Delphi开发人员尽可能多地包装Electron API.但当然不仅仅是可以使用的E ...

  8. React 新 Context API 在前端状态管理的实践

    本文转载至:今日头条技术博客 众所周知,React的单向数据流模式导致状态只能一级一级的由父组件传递到子组件,在大中型应用中较为繁琐不好管理,通常我们需要使用Redux来帮助我们进行管理,然而随着Re ...

  9. (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2

    (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2 译者注: 原文来自:https://tech.amikelive.com/node-706/compre ...

  10. Kafka 0.9 新消费者API

    kafka诞生之初,它自带一个基于scala的生产者和消费者客户端.但是慢慢的我们认识到这些API有很多限制.比如,消费者有一个“高级”API支持分组和异常控制,但是不支持很多更复杂的应用场景:它也有 ...

随机推荐

  1. CPack 入门指南

    背景 CPack 是 CMake 2.4.2 之后的一个内置工具,用于创建软件的二进制包和源代码包. CPack 在整个 CMake 工具链的位置. CPack 支持打包的包格式有以下种类: 7Z ( ...

  2. K6 在 Nebula Graph 上的压测实践

    背景 对于数据库来说,性能测试是一个非常频繁的事情.优化查询引擎的规则,调整存储引擎的参数等,都需要通过性能测试,查看系统在不同场景下的影响. 即便是同样的代码,同样的参数配置,在不同的机器资源配置, ...

  3. C++追根究底(持续更新)

    目录 头文件 " " 与 <>的区别 带 .h 和不带 .h 的区别 带 c前缀 和不带 c前缀 的区别 宏定义 特殊符号:#,##,#@ 防止一个头文件被重复包含 d ...

  4. RTP网络包提取码流方法

    1.工具wireshark,官网最新的版本没有保存按键,建议使用3.4 链接:https://pan.baidu.com/s/1VHSGgojZPNtzyzV6RMVjkw 提取码:q51a 2.wi ...

  5. MapStructPlus 1.4.0 发布,体积更轻量!性能更强!

    MapStruct Plus 是 MapStruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷.优雅. ...

  6. opencv-python笔记(1)

    openCV笔记 图像 灰度图像 ​ 0代表纯黑色,255代表白色(类似亮度) 通道拆分 通过索引拆分: import cv2 lena=cv2.imread("lenacolor.png& ...

  7. 关于云XR介绍,以及5G时代云化XR的发展机遇

    XR技术进入全面沉浸化时代 基于云化XR技术将大幅降低XR终端设备的计算负荷和能耗,摆脱线缆的束缚,XR终端设备将变得更轻.更沉浸.更智能.更有利于商业化. 网络XR终端能力的提升,将推动XR技术进入 ...

  8. 一秒变身艺术家!U2Net 跨界肖像画,让你的头像瞬间细节完美复刻,打造个性化头像新风潮!

    效果 测试图片来自网络,如有侵权,联系删除. 项目 关注微信公众号,回复关键字:"一秒变身艺术家",获取程序! 模型信息 Inputs ---------------------- ...

  9. C#词云生成器

    GitHub - sdcb/Sdcb.WordCloud: Generate WordCloud image from .NET/.NET Core 效果 根据mask生成

  10. PS-AXI-GPIO-流水灯设计

    PS-AXI-GPIO-流水灯设计 1.实验目的 在了解了AXI协议的基本内容后,通过已经设计好的AXI的IP核来了解实际设计中AXI的工作原理和设计原理是必要的.这个实验以前实际上按照教程做过,但是 ...