当前位置: 首页 > news >正文

OpenHarmony教程指南—Ability的启动模式

介绍

本示例展示了在一个Stage模型中,实现standard、singleton、specified多种模式场景。

本实例参考开发指南 。 本实例需要使用aa工具 查看应用Ability 模式信息。

效果预览

在这里插入图片描述
使用说明

1、standard模式:

1)进入首页,点击番茄,会新建一个番茄的Ability,展示番茄的详情;

2)在番茄的详情界面,点击黄瓜,会新建一个黄瓜的Ability,展示黄瓜的详情;

3)使用aa工具查看Ability信息,此时存在以下Ability:1个番茄的Ability、1个黄瓜的Ability、1个首页的Ability;

2、singleton模式:

1)进入首页,点击冰淇凌,会新建一个冰淇凌的Ability,展示冰淇凌的详情;

2)在冰淇凌的详情界面,点击螃蟹,会复用冰淇凌的Ability,页面数据会刷新并展示螃蟹的详情;

3)使用aa工具查看Ability信息,此时存在以下Ability:1个冰淇凌的Ability、1个首页Ability;

3、specified模式:

1)进入首页,点击核桃,会新建一个核桃的Ability,展示核桃的详情;

2)在核桃的详情界面,点击蓝莓,会新建一个蓝莓的Ability,展示蓝莓的详情;

3)在蓝莓的详情界面,点击核桃,会复用已存在的核桃的Ability,实现specified模式下的单实例特性,页面数据会刷新并展示核桃的详情;

4)使用aa工具查看Ability信息,此时存在以下Ability:1个核桃的Ability、1个蓝莓的Ability、1个首页Ability;

工程目录

entry/src/main/ets/
|---Application
|---common
|   |---Logger.ts                     // 日志工具
|   |---Util.ts                       // 封装常用函数
|---MainAbility
|---model
|   |---DataModel.ts                  // 封装数据类型
|   |---DataUtil.ts                   // 封装数据处理函数
|   |---MokeData.ts                   // 模拟数据
|---pages
|   |---component
|   |   |---FoodListItem.ets          // 食物列表组件
|   |---FoodDetail.ets                // 食物详情页
|   |---Home.ets                      // 首页

具体实现

  • 本示例启动standard、singleton、specified三种模式的方法主要封装在Util当中,源码参考:Util.ts 。
    新建Ability:创建三个代表standard、singleton、
  • specified模式的Ability,如工程目录中的SingletonAbility、SpecifiedAbility、StandardAbility,并在module.json文件中将launchType属性修改为对应的启动模式属性。
  • 启动指定Ability:通过Util中的startMode函数根据页面所传的abilityName,启动对应的ability并进入详情页面。
  • specified多实例功能实现:specified模式则是根据MyAbilityStage中的onAcceptWant函数给用户返回一个ability标识,如果之前启动过标识的ability,不创建新的实例并拉回栈顶,否则创建新的实例并启动。

相关权限

不涉及。

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568。

2.本示例已适配API version 9版本SDK,版本号:3.2.11.9。

3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)及以上版本才可编译运行。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/BasicFeature/ApplicationModels/AbilityStartMode/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了能够让大家跟上互联网时代的技术迭代,在这里我特邀了几位行业大佬整理出一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~~~~

领取以下高清学习路线原图请点击→《鸿蒙基础入门学习指南》纯血鸿蒙HarmonyOS基础技能学习路线图

在这里插入图片描述
 

领取以上完整高清学习路线图,请点击→《鸿蒙HarmonyOS分布式项目实战》小编自己整理的部分学习资料(包含有高清视频、开发文档、电子书籍等)

在这里插入图片描述

以上分享的学习路线都适合哪些人跟着学习?

-应届生/计算机专业
通过学习鸿蒙新兴技术,入行互联网,未来高起点就业。
-0基础转行
提前布局新方向,抓住风口,自我提升,获得更多就业机会。
-技术提升/进阶跳槽
发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术,享受蓝海红利。

在这里插入图片描述

最后

鸿蒙开发学习是一个系统化的过程,从基础知识的学习到实战技能的锤炼,再到对前沿技术的探索,每一环节都至关重要。希望这份教程资料能帮助您快速入门并在鸿蒙开发之路上步步攀升,成就一番事业。让我们一起乘风破浪,拥抱鸿蒙生态的广阔未来!

如果你觉得这篇内容对你有帮助,我想麻烦大家动动小手给我:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注我,同时可以期待后续文章ing,不定期分享原创知识。

想要获取更多完整鸿蒙最新VIP学习资料,请点击→《鸿蒙 (Harmony OS)开发学习手册》

相关文章:

  • C# 使用DocX生成word文档
  • 使用Python改变图片像素
  • 使用Python制作自己的wheel文件
  • [赛码网、牛客刷题、ACM模式] python读取输入
  • MyBatis操作数据库(SQL注入)
  • Autosar教程-Mcal教程-GPT配置教程
  • LayerNorm的图是不是画错了
  • 先缓存第二集抖音接入 ,最近加班猛,就分享简单的知识,如何使用:关于使用replace的用法正则表达式
  • Redis场景总结
  • Java算法之动态规划
  • 集合拆分Lists.partition的使用
  • Redis--线程模型详解
  • [uni-app ] createAnimation锚点旋转 及 二次失效问题处理
  • Mysql按照月份分组统计数据,当月无数据则填充0
  • STM32day2
  • Babel配置的不完全指南
  • Computed property XXX was assigned to but it has no setter
  • django开发-定时任务的使用
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • React-redux的原理以及使用
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vim Clutch | 面向脚踏板编程……
  • 给第三方使用接口的 URL 签名实现
  • 回顾2016
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 看域名解析域名安全对SEO的影响
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 译米田引理
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • NLPIR智能语义技术让大数据挖掘更简单
  • 阿里云重庆大学大数据训练营落地分享
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​如何在iOS手机上查看应用日志
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • !!Dom4j 学习笔记
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (三十五)大数据实战——Superset可视化平台搭建
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)http-server应用
  • (转)原始图像数据和PDF中的图像数据
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ***通过什么方式***网吧
  • *上位机的定义
  • .bashrc在哪里,alias妙用
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Framework杂记
  • .net 无限分类
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET框架设计—常被忽视的C#设计技巧
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)