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

解析sample例程学习官方API:解析VIO Sample例程 先从比较常用的VIO Sample进行解析。 进入VIO模块可以看到,VIO的main函数文件。 进入文件后首先看下VIO实现的功能,可以看到VIO示例的功能还是挺多的,并且支持HDMI与BT1120这两种输出接口,下面一个一个功能进行说明。 首先判断传给执行程序传入的参数个数是否正确,不正确则打印使用说明。 上面设置了相应信号处理函数,SI... 阅读详情

原文:Sample上新,从API 8开始支持!速来拿走,点击链接查看更多技术内容。

目录

Sample1:FlipClock

Sample2:International

Sample3:Shopping

Sample4:Chat

Sample5:DeviceUsageStatistics

Sample6:NativeAPI


搭载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:解析HiFB Sample例程 一、HIFB简介 Hisilicon Framebuffer(以下简称 HiFB)是海思数字媒体处理平台提供的管理图像叠加层的模块,它基于 Linux Framebuffer 实现,在提供 Linux Framebuffer 基本功能的基础上,还扩展了一些图形层控制功能,如层间 Alpha、设置原点等。 HIFB体系架构图如下所示: 二、源码解析 在解析源码前当然... 阅读详情

相关推荐

个人信息保护合规审计人员(高级)能力考核试卷+面试模拟

《个人信息保护合规审计考试与面试指南》 摘要:本文提供个人信息保护合规审计考试及面试的全面指导。考试采用闭卷笔试形式,满分100分,合格线75分,时长120分钟,包含单选、多选、判断题及综合案例分析题。内容涵盖《个人信息保护法》核心条款、审计程序、风险评估等实务要点。面试环节采用情景模拟方式,重点考察应试者在压力下处理审计独立性、客户关系与监管要求的平衡能力,以及应对数据泄露等突发事件的处置流程。案例题聚焦大型互联网平台的数据收集、共享、跨境传输等高风险环节的合规审计,要求设计完整的审计方案框架。面试评分标

qq_41525079的博客 1142

java api 8_Java8特性及常用API使用

这篇文章主要介绍Java 8的Lambda表达式和Steam流的使用,以及其他特性。目录:简介Java 8带来的最大的改变的是添加了Lambda(λ)表达式,提供了新的API(称为"流",Stream)其思路在和使用数据库查询语言中的思路类似-用更高级的方式表达想要的东西,其他的还有新的日期的API、GC的改进、并发改进等。函数式编程函数式编程是一种编程范式,它的主要思想是把函数过程尽量写成一系列...

weixin_39980129的博客 823

麒麟系统下的多媒体革命:VLC在kylinV10上的性能优化与调试技巧

本文详细介绍了在麒麟kylinV10系统上优化VLC多媒体播放性能的实战技巧,特别针对飞腾FT-2000/4硬件平台。从源码编译调优到硬件加速配置,提供全面的性能提升方案,帮助开发者在国产操作系统上构建高效媒体播放环境。

weixin_29168675的博客 457

HarmonyOS实战开发:LazyForEach:数据懒加载

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。

2401_84194030的博客 1901

Chapter 4 Ripple-Based Control Technique Part I

本文介绍了DC-DC转换器的纹波控制技术,重点分析了迟滞控制、恒定开通时间控制、恒定关断时间控制等方案的工作原理及优缺点。纹波控制无需补偿网络,具有快速瞬态响应和结构简单的优势,特别适合电池供电应用。其中,恒定开通时间控制在轻载时能自动延长关断时间,实现伪定频工作;而恒定关断时间控制轻载效率较低。文章还讨论了纹波注入技术解决Boost转换器右半平面零点问题,并比较了不同控制方案在负载瞬态下的性能表现。最后指出基于纹波的控制技术在提高调节精度和降低EMI方面的改进方向。

2304_76736886的博客 1299

TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程

本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。

weixin_29094301的博客 411

【HarmonyOS 学习】LazyForEach:数据懒加载

当item变化时,想更新子组件,如果使用LazyForEach的刷新机制,需要将原来的子组件全部销毁再重新构建,在子组件结构较为复杂的情况下,靠改变键值去刷新渲染性能较低。同时包含多个LazyForEach也是不推荐的。2. ObjectLink属性装饰的成员变量仅能监听到其子属性的变化,再深入嵌套的属性便无法观测到了,就会导致直接赋值,UI并没发生变化的问题,因此我们只能改变它的子属性去通知对应组件重新渲染。5.键值生成器必须针对每个数据生成唯一的值,如果键值相同,将导致键值相同的UI组件渲染出现问题。

hengxiaoheng531的博客 2258

Mac用户解决WPS中的俄语显示红线问题(WPS添加外语拼写检查)

我所使用的WPS版本:AppleStore 下载的 MacOs版 3.3.0 首先,对于 在访达-应用程序中,找到WPS,右键-点击“显示包内容” 然后按照下图的索引目录(Contents\Resource\office6\dicts\spellcheck),最后进入一个叫“spellcheck”的文件夹 最后将下载好的字典包(例如上图中的 en_US就代表美式英语;ru_RU就代表俄语) 关于字典包资源下载,我在网上找到一个Google云盘,里面包含了法语,德语,西语,意大利语,葡萄牙.

qq_48159150的博客 7893

鸿蒙开发之LazyForEach及刷新问题

在开发过程中会遇到list、grid的item过多的情况。例如某些新闻类、某些购物类的页面,如果我们有大量的数据,直接通过ForEach进行全量渲染会直接把手机卡死。这样肯定是不行的,这个时候LazyForEach就该登场了。LazyForEach主要是用来针对列表数据量大、列表组件复杂的场景,减少了页面一次性加载数据的时间消耗,减少了内存峰值。可以显著提升页面的能效比和用户体验。实现原理就是它会从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。

Lu_Ca的博客 4392

剑灵解包器修改xml.dat文件修改乳量方法

本篇内容是基于单机版网游改单机版游戏剑灵的内容,主要针对关于单机版进行数据修改,当然了对于网端有关于剑灵已有很多,像小助手等多种可以更改,但是存在有封号危险,好,下面我们是在单机版中来进行乳量的修改教程。

灵魂学者的博客 3291

并网逆变器学习笔记5---三电平DPWM

三电平DPWM

圆桌骑士的博客 1万+

鸿蒙应用开发--鸿蒙 LazyForEach 组件详解

LazyForEach 是处理鸿蒙超长列表的黄金工具,开发者需重点掌握。,避免一次性渲染全部内容导致的内存和性能问题。LazyForEach 是鸿蒙 ArkUI 框架中用于。通过合理配置,可轻松实现万级数据列表的流畅滚动体验。的核心组件,专为处理。提供复用实例/新建组件。

2401_88846919的博客 2706

2023华为od机试C卷【启动多任务排序】C++ 实现

一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。

MISAYAONE的博客 883

支持API 9的Sample已上新,速来拿走

本Sample展示一款分布式五子棋游戏,该游戏基于分布式数据管理实现,使用Canvas组件实现棋盘、棋子的绘制,使用分布式数据管理实现设备间数据的同步。通过学习本Sample,可以掌握如何使用一套代码,实现应用在不同屏幕尺寸下,保持整体风格一致性的同时,还能保障各设备上应用界面体验的差异性。本Sample展示一个天气应用,包括首页、城市管理、添加城市、更新时间弹窗,体现一次开发,多端部署的能力。通过学习本sample,可以掌握数据的请求与响应,屏幕截图设置,文件管理,媒体服务等相关能力。

HarmonyOSDev的博客 305

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Windows 8.1 Sample中的Media相关的Sample

今天把Windows8.1 Sample中的Media相关的Sample梳理了一下。 Windows8.1 Sample下载地址:http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples 

heavyrainfish的专栏 636

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

探索 sample-apiserver:构建自定义API服务器的完美指南

sample-apiserver 是一个基于 k8s.io/apiserver 库的示例项目,用于演示如何创建功能完备的API服务器。它不仅适用于扩展API服务器以配合API聚合,还能帮助您独立地搭建与Kubernetes风格一致的API服务。 ### 项目介绍 该项目的初衷是提供一个起点,让开发者在构建自己的扩展API服务器或者定制化资源时有一个参考。尽管存在如Custom Resource

gitblog_00062的博客 661

Android 新API 之 MediaCodec使用笔记 <一>

Android的视频编解码一直让人有点纠结,SDK竟然不提供硬件编解码的API,如果你想自己做,只能通过JNI借助第三方编解码器,其都是使用的软解码,效率很难保证,这对想做视频通话的是一个不小的打击。 好了,说到google 新提供的SDK中出现的类MediaCodec,这个api限制在API 16后,也就是Android 4.1.2后才可以使用,如果你的系统低于这个版本,是不可以使用这个类的。

Shawn Kong的专栏 3万+

dw-sample-framework 项目推荐

dw-sample-framework 项目推荐 项目基础介绍和主要编程语言 dw-sample-framework 是一个用于实现图形技术示例的简单 C++ 框架。该项目主要使用 C++ 编程语言,并结合 OpenGL 和 Vulkan 图形 API 来实现各种图形技术示例。 项目核心功能 dw-sample-framework 提供了以下核心功能: 跨平台支持:能够在不同操作系统上运行。 图...

gitblog_01015的博客 480

google map api sample

HTML>WMI Scripting HTML    http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAdI0zGVgYqTKHphoxD6Ts7RStrDQCRAqEw3qj75gyDXKipO0rfhSjjCwKU9CeQlegTB_-A2G4yly6wg"            type="text/javascript

crazywindinggmail的专栏 520

scikit-learn Metadata Routing API:让 sample_weight、groups 等元数据在元估计器之间正确流动

在 scikit-learn 中,当你只想调用 `estimator.fit(X, y, sample_weight=w)` 时一切都很简单;但一旦把估计器放进 `Pipeline`、`GridSearchCV` 或 `cross_validate`,如何把 `sample_weight`、`groups`、`classes` 这类元数据(metadata)准确地传递给真正需要它们的对象,就成了棘

gitblog_00940的博客 1080

【sample】基于融合场景服务实现API获取系统属性

本示例展示了使用华为融合场景服务提供的场景化API,主要用于获取系统信息和设备位置。需要使用华为融合场景服务接口。

Alexzhang369学习总结空间 1002

Sample Code: Movies —— 您的Android开发实践指南

Sample Code: Movies —— 您的Android开发实践指南 项目介绍 Sample Code: Movies 是一款专为Android开发者精心准备的示例代码库。该仓库旨在通过实践演示最新的Android开发技术、最佳编码实践、全面测试策略以及模块化设计等核心概念。它利用Kotlin的现代特性和一系列流行库,如Koin、Retrofit、Gson、Glide及Timber,为您...

gitblog_00936的博客 526

Jupyter Server Provider Sample:用 VS Code Jupyter API 向内核选择器注入本地服务器

本篇以 vscode-extension-samples 仓库中的 jupyter-server-provider-sample 为核心,讲解如何基于 VS Code 的 Jupyter 扩展 API 编写一个「服务器提供方」扩展:它自动发现本机正在运行的 JupyterLab / Jupyter Notebook 服务器,将其注入到 Notebook 的内核选择器(Kernel Picker)的

gitblog_00266的博客 523

Obsidian Sample Plugin:快速掌握Obsidian插件开发与API集成的完整指南

想要为Obsidian打造个性化功能?Obsidian Sample Plugin插件是您进入Obsidian插件开发世界的最佳起点!这个官方示例插件不仅展示了ObsidianAPI的核心功能,还为您提供了完整的TypeScript开发环境,让您能够快速创建自己的Obsidian插件并与ObsidianAPI文档系统完美集成。 ## 为什么选择Obsidian Sample Plugin进行插件

gitblog_00509的博客 468

int8使用sample

#include <assert.h> #include <fstream> #include <sstream> #include <iostream> #include <cmath> #include <sys/stat.h> #include <cmath> #include <time.h&

csuzhaoqinghui的博客 2275

threads_api:便捷测试Threads API的示例应用

threads_api:便捷测试Threads API的示例应用 项目介绍 Threads Publishing API Sample App 是一个开源示例应用,用于测试 Facebook 提供的 Threads API。Threads API 是一种允许开发者在 Facebook 平台上发布、读取和管理私信消息的接口。通过这个示例应用,开发者可以轻松地了解和测试 Threads API 的各项...

gitblog_00314的博客 645
上一篇: 全面支持JS/eTS应用开发,DevEco Studio 3.0 Beta4新版本发布
下一篇: 浅析eTS的起源和演进
「已注销」
博客等级 码龄5年 1045粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值