zoukankan      html  css  js  c++  java
  • HMS16. 页面间跳转导航

    01. 关于页面间的跳转

      在HarmonyOS中,一个App允许存在多个Ability, 一个Ability中允许存在多个AbilitySlice; 

      因此在 App的应用中,存在同一个Ability中不同Slice之间的跳转,也存在不同Ability间的页面跳转;

      a. 在一个Ability里,使用  present() / presentForResult() 方法从一个AbilitySlice导航到另外一个 AbilitySlice; 即同一个Page内,不同AbilitySlice之间的跳转;

        

      b. 在不同Ability的AbilitySlice之间,使用  startAbility() / startAbilityForResult() 来启动一个新的 Ability; 

        

     02. 本次学习Demo源码
      a. 实现同Ability内不同Slice间的跳转;
      b. 实现不同Ability间的跳转;

      

     

    03. 需注意的知识点

      >>>  新建 Ability

        

      >>>  在一个 Ability中新建新的 AbilitySlice

        

       >>> 同Ability间,源Slice 接收 目标 Slice 返回数据的的处理

        a. 源Slice 在调用 presentForResult时,传入一个 请求码 (requestCode); 请求码自定义;
         

        b,源 Slice 配置结果接收监听

         

        c. 目标Slice中配置返回结果

           

       >>> 不同Ability间,源Slice 接收 目标 Slice 返回数据的的处理

         不同Ability之间的跳转,需要使用 startAbilityForResult来处理;

         a. 源Slice发起请求

          

        b. 目标Slice或目标Ability中配置返回数据 

         * 从目标Ability 中配置返回结果 

            

         * 从目标Slice中返回结果

         

         c. 源Slice中配置结果接收处理

         

       >>> 从例程中可以看到,关于不同Page之间的跳转有二种不同的方式,

        * 第一种方式,是直接配置跳转参数,

           

        * 第二种方式,是通过指定的Action来跳转

         

         要想实现第二种效果,需要注意如下几点:

          1. 目标ABility,注册Action路由
           

           2.目标ABility所属模块 config.json 中,为目标模块注册 Action

              

           3.调用Slice,在业务中指定目标ABility中注册的Action; 

           Operation operation = new Intent.OperationBuilder().withAction(ACTION_NAME).build();
           此时,可正常跳转到目标ABility; 

      

      

     

        

          

     

     

        

      

      

  • 相关阅读:
    UVa Live 3942 Remember the Word
    UVa 11019 Matrix Matcher
    bzoj 4445 小凸想跑步
    Codeforces 832E Vasya and Shifts
    二值法方法综述及matlab程序
    排序算法(1)-插入,选择,冒泡
    如果我想了解一个陌生人
    Libsvm在matlab环境下使用指南
    科学预测世界杯-采用机器学习方法
    应用笔画宽度变换(SWT)来检测自然场景中的文本
  • 原文地址:https://www.cnblogs.com/jieling/p/15500206.html
Copyright © 2011-2022 走看看