当前位置:   article > 正文

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

鸿蒙router工具类

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

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

【使用要求】

DevEco Studio 3.1.1 Release api 9

【使用示例】

  1. import MyRouterUtil from '../common/utils/MyRouterUtil'
  2. MyRouterUtil.openBrowser('https://www.baidu.com')
  3. export default class MyRouterUtil {
  4. //日志过滤器
  5. static readonly LOG: string = "====MyRouterUtil"
  6. /**
  7. * 鸿蒙APP跳转到手机浏览器并打开网页
  8. * @param url 打开网页后展示的url地址
  9. */
  10. public static async openBrowser(url: string) {
  11. try {
  12. let want = {
  13. "action": "ohos.want.action.viewData",
  14. "entities": ["entity.system.browsable"],
  15. "uri": url,
  16. "type": "text/plain"
  17. }
  18. let context = getContext(this) as common.UIAbilityContext;
  19. await context.startAbility(want)
  20. console.info(MyRouterUtil.LOG, 'openBrowser', url)
  21. } catch (error) {
  22. console.error(MyRouterUtil.LOG, 'openBrowser', `${error.code},url:${url}`)
  23. }
  24. }

返回上一页

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

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

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

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

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

  1. public static getParamsByWeb() {
  2. let url = JSON.parse(JSON.stringify(router.getParams())).launchWebview
  3. console.info(MyRouterUtil.LOG, 'getParamsByWeb', url)
  4. return url
  5. }

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

  1. public static async openIndex() {
  2. try {
  3. await router.pushUrl({
  4. url: 'pages/Index'
  5. }, router.RouterMode.Single)
  6. console.info(MyRouterUtil.LOG, 'openIndex', 'succ')
  7. router.clear()
  8. } catch (e) {
  9. console.error(MyRouterUtil.LOG, 'openIndex', JSON.stringify(e))
  10. }
  11. }

跳转到登录页

  1. public static async openLogin() {
  2. try {
  3. await router.pushUrl({
  4. url: 'pages/Login'
  5. }, router.RouterMode.Standard)
  6. console.info(MyRouterUtil.LOG, 'openLogin', 'succ')
  7. } catch (e) {
  8. console.error(MyRouterUtil.LOG, 'openLogin', JSON.stringify(e))
  9. }
  10. }
  11. }

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

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

自己学习时必须要有一份实用的鸿蒙(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 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/876900
推荐阅读
  

闽ICP备14008679号