鸿蒙OS开发实例:【工具类封装-页面路由】

 import common from '@ohos.app.ability.common'; import router from '@ohos.router'

封装app内的页面之间跳转、app与app之间的跳转工具类

【使用要求】

DevEco Studio 3.1.1 Release api 9

【使用示例】

import MyRouterUtil from '../common/utils/MyRouterUtil'
MyRouterUtil.openBrowser('https://www.baidu.com')export default class MyRouterUtil {//日志过滤器static readonly LOG: string = "====MyRouterUtil"/*** 鸿蒙APP跳转到手机浏览器并打开网页* @param url 打开网页后展示的url地址*/public static async openBrowser(url: string) {try {let want = {"action": "ohos.want.action.viewData","entities": ["entity.system.browsable"],"uri": url,"type": "text/plain"}let context = getContext(this) as common.UIAbilityContext;await context.startAbility(want)console.info(MyRouterUtil.LOG, 'openBrowser', url)} catch (error) {console.error(MyRouterUtil.LOG, 'openBrowser', `${error.code},url:${url}`)}}

返回上一页

  public static backPage() {router.back()console.info(MyRouterUtil.LOG, 'backPage', '判断栈内页面数:', router.getLength())}

在鸿蒙APP内打开网页 常用来打开隐私声明、用户协议等

@param urlpublic static async openWeb(url: string) {try {await router.pushUrl({url: 'pages/Web', //这个页面是我自己创建的,用于展示网页。里面可根据url的参数决定是否显示原生的标题栏。params: {launchWebview: url}}, router.RouterMode.Standard)console.info(MyRouterUtil.LOG, 'openWeb', url)} catch (e) {console.error(MyRouterUtil.LOG, 'openWeb', JSON.stringify(e), 'url:', url)}}
鸿蒙OS开发更多内容↓点击HarmonyOS与OpenHarmony技术
鸿蒙技术文档开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。或+mau123789学习,是v喔

搜狗高速浏览器截图20240326151450.png

获取当前内存中,跑转到web页时保存的参数

  public static getParamsByWeb() {let url = JSON.parse(JSON.stringify(router.getParams())).launchWebviewconsole.info(MyRouterUtil.LOG, 'getParamsByWeb', url)return url}

跳转到首页,需要在首页Index中

public static async openIndex() {try {await router.pushUrl({url: 'pages/Index'}, router.RouterMode.Single)console.info(MyRouterUtil.LOG, 'openIndex', 'succ')router.clear()} catch (e) {console.error(MyRouterUtil.LOG, 'openIndex', JSON.stringify(e))}}

跳转到登录页

  public static async openLogin() {try {await router.pushUrl({url: 'pages/Login'}, router.RouterMode.Standard)console.info(MyRouterUtil.LOG, 'openLogin', 'succ')} catch (e) {console.error(MyRouterUtil.LOG, 'openLogin', JSON.stringify(e))}}
}

鸿蒙开发岗位需要掌握那些核心要领?

目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。

自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

废话就不多说了,接下来好好看下这份资料。

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

其中内容包含:

《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往

  1. ArkTS语言
  2. 安装DevEco Studio
  3. 运用你的第一个ArkTS应用
  4. ArkUI声明式UI开发
  5. .……

《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  1. Stage模型入门
  2. 网络管理
  3. 数据管理
  4. 电话服务
  5. 分布式应用开发
  6. 通知与窗口管理
  7. 多媒体技术
  8. 安全技能
  9. 任务管理
  10. WebGL
  11. 国际化开发
  12. 应用测试
  13. DFX面向未来设计
  14. 鸿蒙系统移植和裁剪定制
  15. ……

《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  1. ArkTS实践
  2. UIAbility应用
  3. 网络案例
  4. ……

最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

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

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

相关文章

giteed的使用

1. 将工作区的内容添加到暂存区 你的工作区要有内容(.git 不算) 注意:空文件可以添加,但是空文件夹不管 如果没有形成历史版本之前,暂存区的同名文件会被覆盖 //打开命令行,切换到 .git所在的目录&…

JVM常见垃圾收集算法

JVM常见垃圾收集算法 标记-清除算法复制算法标记-整理(标记压缩)算法分代收集算法新生代和老年代分代收集算法工作机制 面试题:为什么分代收集算法把堆分成年轻代和老年代? 标记-清除算法 最基础的算法,分标记和清除两…

MPI 学习-环境搭建及测试DEMO

MPI 学习-环境搭建及测试DEMO 1.网络配置2.搭建NFS服务器,用于共享数据,使每个节点看到相同的内容3.基于ubuntu22.04 docker容器,安装依赖(在计算节点上执行)4.设置免密登录(在每个计算节点的容器里执行)5.测试一:bash命令A.运行B.输出 6.测试二:简单收发测试A.代码B.编译运行C…

红队笔记8-CTF5打靶流程-CMS漏洞-多用户信息泄露(vulnhub)

目录 开头: 1.主机发现和端口扫描: 2.80端口-NanoCMS哈希密码信息泄露-后台getshell 3.提权-用户过多信息泄露 4.总结: 开头: 学习的视频是哔哩哔哩红队笔记: 「红队笔记」靶机精讲:LAMPSecurityCTF5 - 标准攻击链&#xff…

ByteTrack多目标跟踪——yolox_model代码详解

文章目录 yolox_modelYOLOPAFPNYOLOXHeadmodel损失计算初步筛选SimOTA 求解 附:网络结构Cls headCls_convsCls_preds Reg headReg_convsReg_preds Obj headObj_preds yolox_model yolox_model主要包括以下几个文件:yolox.py、yolo_pafpn.py以及yolo_head.py train时…

[AIGC] MySQL存储引擎详解

MySQL 是一种颇受欢迎的开源关系型数据库系统,它的强大功能、灵活性和开放性赢得了用户们的广泛赞誉。在 MySQL 中,有一项特别重要的技术就是存储引擎。在本文中,我们将详细介绍什么是存储引擎,以及MySQL中常见的一些存储引擎。 文…

Android Databinding 使用教程

Android Databinding 使用教程 一、介绍 Android Databinding 是 Android Jetpack 的一部分,它允许你直接在 XML 布局文件中绑定 UI 组件到数据源。通过这种方式,你可以更简洁、更直观地更新 UI,而无需编写大量的 findViewById 和 setText/…

go env 命令详解

文章目录 1.简介2.格式3.示例4.环境变量参考文献 1.简介 go env 用于查看和设置 Go 环境变量。 默认情况下 go env 输出格式为 Shell 脚本格式(如 Windows 上是 batch 文件格式)。如果指定变量名称,则只输出变量的值。 2.格式 go env [-j…

MySQL 看库大表

MySQL 看库大表 在MySQL中查看数据库中的“大表”(即数据量大的表),主要是为了识别可能影响数据库性能的表。有几种方法可以帮助你找出这些表: 通过 INFORMATION_SCHEMA 数据库 MySQL的INFORMATION_SCHEMA数据库包含了数据库的元…

M芯片 mac配置Vulkan环境报错 Xcode

报错: Ignoring file ‘/usr/local/Cellar/glfw/3.3.4/lib/libglfw.3.3.dylib’: found architecture ‘x86_64’, required architecture ‘arm64’ Undefined symbols: Linker command failed with exit code 1 (use -v to see invocation) 解决:重新安…

linux 命令行下的计算器

!!! author 文章目录 1. echo 运算器, 推荐2. bc 计算器, 不推荐3. dc 计算器, 不推荐4. awk计算器. 推荐5. python. 推荐 1. echo 运算器, 推荐 限制是仅能在整数运算时使用 $ echo $((10534)) 70 优点,输入简洁, 支持运算表达式,支持16进制,10进制混合输入. 缺点,不支持浮点…

申请GeoTrust数字证书

GeoTrust介绍: 大家应该都不陌生,作为最老资格的一批国际大牌证书,GeoTrust的品牌效益和使用群体非常庞大。在数字证书领域也是当之无愧的龙头地位,作为Symantec和Digicert的子品牌,证书安全性能方面毋庸置疑&#xf…

IP SSL证书注册流程

使用IP地址申请SSL证书,需要用公网IP地址申请,申请之前确保直接的IP地址可以开放80或者443端口两者选择1个就好,端口不需要一直开放,只要认证的几分钟内开放就可以了,然后IP地址根目录可以上传txt文件。 IP SSL证书认…

搭建服务器 - 笔记

1 nginx web服务架构-CSDN博客 大型网站技术架构设计 百度安全验证 2.log分析 GitHub - compilelife/loginsight: loginsight致力于打造一款日志分析的利器 3 远程共享本地知识库 Linux CentOS系统Docker部署Wiki.js并实现远程共享本地知识库 百度安全验证 4 Python 编…

Codeforces Round 800 (Div. 1)C. Keshi in Search of AmShZ 反向dijkstra,并附带权值

Problem - C - Codeforces 目录 题意: 思路: 答疑: 1.为什么反向做呢? 2.为什么是到达点的剩余度数呢? 3.相同路是否可以去重,用个set? 4.如果有多条路相同呢? 参考代码&am…

【SecretFlow——SPU基础】

1.SPU基础 SPU设备在SecretFlow中负责执行MPC计算。 2.代码解读 2.1 创建设备 import secretflow as sf # 如果存在secretflow,先关闭已经存在的环境 sf.shutdown() # 初始化四个参与方 sf.init([alice, bob, carol, dave], addresslocal) # 寻找未占用的端口来…

【YOLOV5 入门】——detect.py简单解析模型检测基于torch.hub的检测方法

声明:笔记是毕设时根据B站博主视频学习时自己编写,请勿随意转载! 一、打开detect.py(文件解析) 打开上节桌面创建的yolov5-7.0文件夹里的detect.py文件(up主使用的是VScode,我这里使用pycharm…

使用vue根据表格内容生成Excel表格并下载

安装file-saver npm install file-saver -S 安装 xlsx npm install xlsx -S 按照element npm i element-ui -Smian里引入element import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css;在页面引入file-saver以及 xlsx import FileSaver …

NLP深入学习:结合源码详解 BERT 模型(三)

文章目录 1. 前言2. 预训练2.1 modeling.BertModel2.1.1 embedding_lookup2.1.2 embedding_postprocessor2.1.3 transformer_model 2.2 get_masked_lm_output2.3 get_next_sentence_output2.4 训练 3. 参考 1. 前言 前情提要: 《NLP深入学习:结合源码详…

PyQt5开发——QCheckBox 复选框用法与代码示例

1. 复选框 QCheckBox 是 Qt 框架中的一个控件,用于在界面中表示一个可以被选中或取消选中的复选框。它通常用于允许用户在多个选项之间进行选择。在 Python 中使用 PyQt 或 PySide 开发 GUI 应用程序时,可以使用 QCheckBox 控件来实现复选框。 2.基本用…