赞
踩
一定有同学好奇,为什么我来看页面跳转,首先要学习Ability?因为在HarmonyOS编程之中,Ability是整个应用的基本单位,我们要运用的页面跳转,其实根本上就是Ability跳转,所以我们要先大概了解了Ability,才能深度的去学习。
Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个
Ability),HarmonyOS支持应用以Ability为单位进行部署。
1.FA(Feature Ability)
2.PA(Particle Ability)
每种类型为开发者提供了不同的模板,以便实现不同的业务功能。
FA支持Page Ability,简单理解就是手机应用中的一个界面。一个界面就是一个FA。
Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用
一个AbilitySlice实例表示。
FA是有有界面的,而Particle Ability(PA)是无界面的,简单理解就是可以运行在后台的一个服务。
PA支持Service Ability和Data Ability;
1)Service模板
用于提供后台运行任务的能力。
2)Data模板
用于对外部提供统一的数据访问抽象。一般是跟数据相关的,比如:如果我们要运行访问数据库。那么就可以用
PA中的Data模板。
我们要学习的页面跳转,就是要从FA入手
页面FA和切片之间的关系
页面中如何添加多个切片
页面之间的跳转
想要学习跳转,首先要知道一个知识点就是意图,表示我跳转的时候,跳到哪里以及携带什么参数进行跳转?
Intent是对象之间传递信息的载体。
例如,当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过
Intent指定启动的目标同时携带相关数据。Intent的构成元素包括Operation与Parameters:
/**
**Operation:表示要跳转的目的地
**Parameters:跳转时所携带的数据
**/
1、无参数无返回值跳转
2、有参数无返回值跳转
3、有参数有返回值跳转
1、同一个页面中,不同切片之间的跳转(无参,有参,有返回结果)最基础的跳转
2、不同页面中,主切片跟主切片之间的跳转(无参,有参,有返回结果)
3、不同页面中,主切片跟非主切片之间的跳转(无参,有参,有返回结果)
3*3是不是9种呢
第一步:先在主页面ability_main添加好想要的组件,例如Text,Button
<?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:alignment="center" ohos:orientation="vertical"> <Button ohos:id="$+id:but1" ohos:height="match_content" ohos:width="match_content" ohos:background_element="#21a8fd" ohos:layout_alignment="horizontal_center" ohos:text="无参数无返回的跳转" ohos:text_size="40vp" ohos:top_margin="30vp" /> <Button ohos:id="$+id:but2" ohos:height="match_content" ohos:width="match_content" ohos:background_element="#21a8fd" ohos:layout_alignment="horizontal_center" ohos:text="有参数无返回的跳转" ohos:text_size="40vp" ohos:top_margin="30vp" /> <Button ohos:id="$+id:but3" ohos:height="match_content" ohos:width="match_content" ohos:background_element
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。