网站 免备案网站建设价格方案

bicheng/2026/1/17 15:59:11/文章来源:
网站 免备案,网站建设价格方案,上海网站设计开发公司,室内设计公司排行榜介绍 基于Stage模型#xff0c;对Ability的创建和使用进行讲解。首先在课程中我们将带领大家使用DevEco Studio创建一个Stage模型Ability#xff0c;并使用UIAbilityContext启动另一个Ability#xff0c;然后借助Want#xff0c;在Ability之间传递参数#xff0c;最后我们…介绍 基于Stage模型对Ability的创建和使用进行讲解。首先在课程中我们将带领大家使用DevEco Studio创建一个Stage模型Ability并使用UIAbilityContext启动另一个Ability然后借助Want在Ability之间传递参数最后我们使用HiLog打印Ability的生命周期。效果如图所示 相关概念 [UIAbility]UIAbility组件是系统调度的基本单元为应用提供绘制界面的窗口一个UIAbility组件中可以通过多个页面来实现一个功能模块。每一个UIAbility组件实例都对应于一个最近任务列表中的任务。[UIAbilityContext]UIAbilityContext是UIAbility的上下文环境继承自Context提供UIAbility的相关配置信息以及操作UIAbility和ServiceExtensionAbility的方法如启动UIAbility停止当前UIAbilityContext所属的UIAbility启动、停止、连接、断开连接ServiceExtensionAbility等。[Want]Want是对象间信息传递的载体, 可以用于应用组件间的信息传递。 Want的使用场景之一是作为startAbility的参数, 其包含了指定的启动目标, 以及启动时需携带的相关数据。[HiLog]HiLog日志系统让应用可以按照指定类型、指定级别、指定格式字符串输出日志内容帮助开发者了解应用的运行状态更好地调试程序。 环境搭建 软件要求 [DevEco Studio]版本DevEco Studio 3.1 Release。OpenHarmony SDK版本API version 9。 硬件要求 开发板类型[润和RK3568开发板]。OpenHarmony系统3.2 Release。 环境搭建 完成本篇Codelab我们首先要完成开发环境的搭建本示例以RK3568开发板为例参照以下步骤进行 [获取OpenHarmony系统版本]标准系统解决方案二进制。以3.2 Release版本为例 搭建烧录环境。 [完成DevEco Device Tool的安装][完成RK3568开发板的烧录] 搭建开发环境。 开始前请参考[工具准备]完成DevEco Studio的安装和开发环境配置。开发环境配置完成后请参考[使用工程向导]创建工程模板选择“Empty Ability”。工程创建完成后选择使用[真机进行调测]。开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 代码结构解读 本篇Codelab只对核心代码进行讲解完整代码可以直接从gitee获取。 ├──entry/src/main/ets // 代码区 │ ├──common // 公共资源目录 │ ├──DetailsAbility │ │ └──DetailsAbility.ts // 关联详情页面的Ability │ ├──entryability │ │ └──EntryAbility.ts // 程序入口类 │ ├──model │ │ └──DataModel.ets // 业务逻辑文件 │ ├──pages │ │ ├──DetailsPage.ets // 详情页面 │ │ └──NavPage.ets // 导航页面 │ ├──view // 自定义组件目录 │ └──viewmodel // 视图业务逻辑文件目录 └──entry/src/main/resources // 资源文件目录HarmonyOS与OpenHarmony鸿蒙文档籽料mau123789是v直接拿创建Ability和Page页面 在本篇教程中我们需要创建两个AbilityEntryAbilityDetailsAbility其中EntryAbility是由工程默认创建的这里我们只讲如何创建DetailsAbility。 使用DevEco Studio选中对应的模块单击鼠标右键选择New Ability在对话框中修改名字后即可创建相关的Ability。 创建完Ability后需要我们为Ability设置page页面选中pages目录单击鼠标右键选择New Page在对话框中修改名字后即可创建相关的Page页面。示例代码如下 // DetailsPage.ets ... Entry Component struct DetailsPage {private goodsDetails: GoodsData new GoodsData();aboutToAppear() {if (position ! undefined) {this.goodsDetails viewModel.loadDetails(position);}}build() {Column() {Scroll() {Column() {Stack({ alignContent: Alignment.Top }) {// 商品图片预览组件PreviewerComponent({ goodsImg: this.goodsDetails.goodsImg })this.TopBarLayout()}.height(DetailsPageStyle.TOP_LAYOUT_HEIGHT).width(PERCENTAGE_100).backgroundColor($r(app.color.background1))// 展示商品信息的卡片布局this.CardsLayout()}.width(PERCENTAGE_100)}.height(DetailsPageStyle.SCROLL_LAYOUT_WEIGHT).backgroundColor($r(app.color.background))// 底部工具栏BottomBarComponent().height(DetailsPageStyle.TOOLBAR_WEIGHT)}.height(PERCENTAGE_100).width(PERCENTAGE_100)}... }使用windowStage.loadContent为指定Ability设置相关的Page页面由于配置流程一样我们在这里只展示为DetailsAbility配置页面的核心代码 // DetailsAbility.ts ... export default class DetailsAbility extends UIAbility { ...onWindowStageCreate(windowStage: window.WindowStage): void {...windowStage.loadContent(pages/DetailsPage, (err, data) {if (err.code) {hilog.error(DETAIL_ABILITY_DOMAIN, TAG, Failed. Cause: %{public}s, JSON.stringify(err) ?? );return;}hilog.info(DETAIL_ABILITY_DOMAIN, TAG, Succeeded. Data: %{public}s, JSON.stringify(data) ?? );});}... };效果如图所示 由于篇幅有限这里不再详细介绍页面中的具体布局和布局中的业务视图组件。 UIAbilityContext模块启动Ability的能力 UIAbilityContext是UIAbility的上下文环境继承自Context提供UIAbility的相关配置信息以及操作UIAbility和ServiceExtensionAbility的方法如启动UIAbility停止当前UIAbilityContext所属的UIAbility启动、停止、连接、断开连接ServiceExtensionAbility等。 在购物应用中我们点击首页商品列表中的某一项商品即可跳转到商品的详情页面。此处使用到UIAbilityContext模块的启动Ability的能力。关于[获取UIAbilityContext的方法]推荐使用getContext(this)方式来获取UIAbilityContext。 // HomePage.ets ...build() {Column() {Column() {Blank().height(HomePageStyle.BLANK_HEIGHT)// Logo和二维码区域TopBarComponent().padding({top: HomePageStyle.PADDING_VERTICAL,bottom: HomePageStyle.PADDING_VERTICAL,left: HomePageStyle.PADDING_HORIZONTAL,right: HomePageStyle.PADDING_HORIZONTAL})SearchComponent()TabsComponent({ tabMenus: this.tabMenus })BannerComponent({ bannerList: this.bannerList })MenusComponent({ menus: this.menus })// 商品列表组件GoodsComponent({ goodsList: this.goodsList, startPage: (index) {let handler getContext(this) as AppContext.UIAbilityContext;viewModel.startDetailsAbility(handler, index);} })}.width(PERCENTAGE_100)}.height(PERCENTAGE_100).backgroundImage($rawfile(index/index_background.png), ImageRepeat.NoRepeat).backgroundImageSize(ImageSize.Cover)}...startDetailsAbility方法调用了UIAbilityContext模块启动Ability的能力。 // HomeViewModel.ets ... public startDetailsAbility(context: common.UIAbilityContext, index: number): void {const want: Want {bundleName: getContext(context).applicationInfo.name,abilityName: DETAILS_ABILITY_NAME,parameters: {position: index}};try {context.startAbility(want);} catch (error) {hilog.error(HOME_PAGE_DOMAIN, TAG, %{public}s, error);}} ...信息传递载体Want [Want]是对象间信息传递的载体, 可以用于应用组件间的信息传递。Want的使用场景之一是作为startAbility的参数, 其包含了指定的启动目标, 以及启动时需携带的相关数据。 在购物应用的EntryAbility中我们使用startDetailsAbility方法启动DetailsAbility并在代码中指定了Want的具体参数并使用parameters参数传递商品信息。 在DetailsAbility中通过AppStorage来存储detailWant对象。 // DetailsAbility.ts ... export default class DetailsAbility extends UIAbility {onCreate(want, launchParam): void {let index: number want?.parameters?.position;AppStorage.SetOrCreate(KEY, index);hilog.info(DETAIL_ABILITY_DOMAIN, TAG, %{public}s, Ability onCreate);}... };在对应的DetailsPage页面使用AppStorage来获取detailWant对象解析detailWant对象中的商品信息参数调用loadDetails方法来展示商品详情。 // DetailsPage.ets ... let viewModel: DetailsViewModel new DetailsViewModel(); const KEY: string GoodsPosition; let position AppStorage.Getnumber(KEY); ... Entry Component struct DetailsPage {private goodsDetails: GoodsData new GoodsData();aboutToAppear() {if (position ! undefined) {this.goodsDetails viewModel.loadDetails(position);}}... }效果如图所示 使用HiLog打印生命周期函数 [HiLog]日志系统可以让应用按照指定类型、指定级别、指定格式字符串打印日志内容帮助开发者了解应用/服务的运行状态更好地调试程序。 HiLog提供了debug、info、warn、error以及fatal接口在购物应用中我们使用hilog打印EntryAbility 、DetailsAbility的生命周期。 在打印之前我们需要了解三个参数 domain日志对应的领域标识范围是0x0~0xFFFF。建议开发者在应用内根据需要自定义划分。tag指定日志标识可以为任意字符串建议用于标识调用所在的类或者业务行为。level日志级别。format格式字符串用于日志的格式化输出。格式字符串中可以设置多个参数参数需要包含参数类型、隐私标识。隐私标识分为{public}和{private}缺省为{private}。标识{public}的内容明文输出标识{private}的内容以过滤回显。 下面我们在EntryAbility中演示如何使用hilog对象打印Ability的生命周期函数 onBackground代码如下 // EntryAbility.ts ... export default class EntryAbility extends UIAbility {...onBackground(): void {// Ability has back to backgroundhilog.isLoggable(ENTRY_ABILITY_DOMAIN, TAG, hilog.LogLevel.INFO);hilog.info(ENTRY_ABILITY_DOMAIN, TAG, %{public}s, Ability onBackground);} }此时我们点击商品列表中的商品系统会打开商品详情页承载商品列表视图的EntryAbility将返回到后台系统会执行EntryAbility的onBackground()方法我们在DevEco Studio的控制台中可以观察相关生命周期函数的变换情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站404页面下载凡客诚品购物官网

random_score的使用 在Elasticsearch中&#xff0c;random_score查询可以用来随机排序搜索结果&#xff0c;这对于实现诸如轮播、随机推荐等功能非常有用。 random_score的语法 GET /<索引名>/_search {"query": {"function_score": {"query…

用网站做数据库吗淄博微信网站制作

前言 rust 代码确实简介&#xff0c;但是各种操作做层出不穷&#xff0c;这里记录一下一些难以理解的晦涩语法。 正文 奇怪的省略值。 fn main() {let numbers (2, 4, 8, 16, 32);match numbers {(first, .., last) > {println!("Some numbers: {}, {}", fir…

东莞做微网站建设价格网站建设教程科普

系列文章目录 文章目录 系列文章目录一、请列举Nginx和Apache 之间的不同点二、在Nginx中,如何使用未定义的服务器名称来阻止处理请求?三、请解释Nginx服务器上的Master和Worker进程分别是什么?一、请列举Nginx和Apache 之间的不同点 二、在Nginx中,如何使用未定义的服务器…

无极app定制开发公司网站模板怎么做网站登录站

我在 CU 的日子并不长&#xff0c;有幸在 shell 版上与大家结缘。除了跟众前辈学习到不少技巧之外&#xff0c;也常看到不少朋友的问题。然而&#xff0c;在众多问题中&#xff0c;我发现许多瓶颈都源于 shell 的基础而已。每次要解说&#xff0c;却总有千言万语不知从何起之感…

目前做网站以下五项中哪项是网络营销的特点

本文以2D为案例&#xff0c;讲解Unity 播放动画的流程 准备和导入2D动画资源 外部导入序列帧生成的 Unity内部制作的 外部导入的3D动画 2.创建动画过程 打开时间轴Ctrl6 选中场景中的一个未来需要播放动画的物体 回到时间轴点击Create一个新动画片段 拖动2D动画资源放入…

商业网站源码免费下载wordpress主题编辑没了

题目链接&#xff1a;https://www.luogu.com.cn/problem/P8649 思路&#xff1a; 看到区间和&#xff0c;第一反应肯定是前缀和&#xff0c;我们求出前缀和后对前缀和数组每一个值模k&#xff0c;然后对一个数组的值查看前面有几个相同的&#xff0c;举个例子&#xff1a;…

做刀模线网站网站开发管理招聘

传送门 题意&#xff1a;给定NNN条与坐标轴平行的线段&#xff0c;保证不垂直的线段没有交点&#xff0c;求一共构成多少个矩形&#xff08;以线段交点为顶点&#xff09;。 1≤N≤50001\leq N\leq50001≤N≤5000 显然是个数据结构乱搞题。 直觉告诉我们先枚举一条线段。 假…

网站seo专员什么是软文文案

随着科技的飞速发展&#xff0c;软件行业在全球范围内呈现出井喷式的增长。未来&#xff0c;随着软件行业开放的深入&#xff0c;市场机制逐渐完善&#xff0c;人才和政策的持续支持&#xff0c;软件行业将继续保持蓬勃发展态势&#xff0c;为全球用户提供更加优质、智能的软件…

专业免费网站建设湖南郴州市房价

要提高Webpack的打包速度,可以尝试以下几种方法: 1:使用最新版本的Webpack: 确保使用的是最新版本的Webpack,因为每个版本都会带来性能改进和优化。 2:优化Webpack的配置: 检查Webpack配置文件,确保使用了合适的配置选项。例如,使用production模式配置可以开启一些优…

建筑资料网站大全网站前台设计过程

手写 Promise&#xff1a;深入理解异步编程的基石 本文将带您逐步实现一个简单的 Promise&#xff0c;以帮助您深入理解异步编程的基本概念。通过自己动手编写 Promise 的过程&#xff0c;您将更好地理解 Promise 的工作原理和常见用法&#xff0c;并能够应用于实际项目中。 …

网站logo怎么做外贸公司网站怎么设计更好

解决&#xff1a;步骤1&#xff1a;在SQLServer 实例上启用远程连接1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”3.然后单击展开“数据库…

网站名称与域名淘客没有网站难做

2019独角兽企业重金招聘Python工程师标准>>> 当前web服务器的多样化使得访问日志的数据清洗变得越来越复杂&#xff0c;企业需要投入专业的数据清洗人员编写数据清洗规则&#xff08;解析规则或者解析正则&#xff09;&#xff0c;或者需要关心web服务器访问日志的生…

重庆定制型网站建设wordpress数据表文档

next项目页面性能调优 一般来说性能优化可以分为加载时、运行时两部分的优化。 扩展参考链接&#xff1a; 前端性能优化 24 条建议 Webpack 4进阶–从前的日色变得慢 &#xff0c;一下午只够打一次包 Webpack 分包优化首屏加载 参考指标 FCP&#xff08;First Contentful P…

做地方门户网站上海工商营业执照查询官网

一、简介 Docker Desktop是Docker公司推出的一款桌面应用程序&#xff0c;它提供了一个用户友好的界面&#xff0c;方便开发人员在本地环境中使用容器技术。 容器是一种轻量级的虚拟化技术&#xff0c;可以将应用程序和其依赖项打包在一起&#xff0c;形成一个独立、可移植的…

朔州网站建设公司网站设计实验目的

pytorch fasterrcnn-resnet50-fpn 神经网络 目标识别 应用 —— 逻辑概述 前提&#xff1a;工欲善其事必先利其器一、逻辑概述1 模型训练1) 训练数据2) 网络结构 2 推理识别 [下一章 推理识别代码讲解](https://blog.csdn.net/qq_42239488/article/details/126309847)&#xff…

南宁网站建设哪家专业徐州地产开发公司排名

在kubernetes集群中如果要部署springcloud这样的应用&#xff0c;就必须有一个自建的docker镜像中心仓库。 它的目的有两点&#xff1a; 1. 镜像拉取速度快 2. 开发好维护 而Harbor是一个非常好用的docker本地仓库 所以本篇文章来讲讲如何在部署Harbor仓库 首先系统版本最…

网站建设公司 深圳wordpress专题页面

上篇文章中&#xff0c;给出了对于模拟实现中功能的补全&#xff0c;本篇文章将优先介绍一个新的容器之后引入什么是适配器&#xff0c;以及适配器的使用方法&#xff0c;再通过适配器的思想来完成对于&#xff0c;、优先级队列_的实现。 目录 1. deque: 1.1 什么是deque&…

电商网站制作流程搞个app软件需要多少钱

目录 一.OpenGL 伽马线 1.IOS Object-C 版本2.Windows OpenGL ES 版本3.Windows OpenGL 版本 二.OpenGL 伽马线 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 &…

网站排名查询平台做网站的学什么

也是隔了一周没有发文了&#xff0c;最近一直在准备期末考试&#xff0c;后来想了很久&#xff0c;学了这么久的计算机&#xff0c;这当中有些收获和失去想和各位正在和我一样在学习计算机的路上的老铁分享一下&#xff0c;希望可以作为你们碰到困难时的良药。先叠个甲&#xf…