文章目录 1. 实战概述 2. 实现步骤 2.1 创建鸿蒙应用项目 2.2 修改Index.ets代码 2.3 创建LuzhouAbility 2.4 创建Luzhou页面 2.5 设置模块配置文件 3. 测试效果 4. 实战总结
1. 实战概述
本次鸿蒙应用实战,先创建项目“ImplicitWantStartAbility”,接着修改Index.ets等代码构建页面与隐式Want逻辑,创建Luzhou相关文件及设置配置文件匹配条件,最终测试时点击按钮可隐式匹配,实现从首页跳转至泸州页面的效果。
2. 实现步骤
2.1 创建鸿蒙应用项目
创建鸿蒙应用项目 - ImplicitWantStartAbility
单击【Finish】按钮,生成应用基本框架
2.2 修改Index.ets代码
首页 - Index.ets
import { common, Want } from '@kit.AbilityKit' ;
import { hilog } from '@kit.PerformanceAnalysisKit' ;
import { BusinessError } from '@kit.BasicServicesKit' ; const TAG : string = '[Page_Index]' ;
const DOMAIN_NUMBER : number = 0xFF00 ; @Entry
@Component
struct Index { @State message: string = 'Index页面' ; private context = getContext ( this ) as common. UIAbilityContext; build ( ) { Row ( ) { Column ( ) { Text ( this . message) . fontSize ( 40 ) . fontWeight ( FontWeight. Bold) . foregroundColor ( Color. Yellow) . margin ( '10' ) Button ( '去泸州' ) . fontSize ( 40 ) . width ( 250 ) . height ( 70 ) . backgroundColor ( '#44dd22' ) . foregroundColor ( '#ffffff' ) . onClick ( ( ) => { let wantInfo: Want = { action: 'action.huawei.luzhou' , entities: [ 'entity.huawei.luzhou' ] } ; this . context. startAbility ( wantInfo) . then ( ( ) => { hilog. info ( DOMAIN_NUMBER , TAG , 'startAbility success.' ) ; } ) . catch ( ( error: BusinessError) => { hilog. error ( DOMAIN_NUMBER , TAG , 'startAbility failed.' ) ; } ) ; } ) ; } . width ( '100%' ) ; } . height ( '100%' ) . backgroundColor ( '#00662F' ) }
}
代码说明 :这段代码基于鸿蒙开发框架编写。Index
组件构建页面,含文本与按钮。点击“去泸州”按钮时,构造含特定action
与entities
的隐式Want
对象,通过上下文尝试启动对应能力,同时利用日志记录启动成功或失败情况,实现交互并监测启动结果。
2.3 创建LuzhouAbility
在ets
里创建LuzhouAbility.ets
修改代码,将pages/Index
改成pages/Luzhou
2.4 创建Luzhou页面
在pages
里创建Luzhou.ets
文件
@Entry
@Component
struct Luzhou { @State message: string = '泸州欢迎您' ; build ( ) { Row ( ) { Column ( ) { Text ( this . message) . fontSize ( 40 ) . fontWeight ( FontWeight. Bold) . foregroundColor ( Color. Yellow) } . width ( '100%' ) ; } . height ( '100%' ) . backgroundColor ( '#00008B' ) }
}
2.5 设置模块配置文件
模块配置文件 - module.json5
在LuzhouAbility
里添加skills
,设置匹配条件
{ "name" : "LuzhouAbility" , "srcEntry" : "./ets/luzhouability/LuzhouAbility.ets" , "description" : "$string:LuzhouAbility_desc" , "icon" : "$media:layered_image" , "label" : "$string:LuzhouAbility_label" , "startWindowIcon" : "$media:startIcon" , "startWindowBackground" : "$color:start_window_background" , "skills" : [ { "entities" : [ "entity.huawei.luzhou" ] , "actions" : [ "action.huawei.luzhou" ] } ]
}
3. 测试效果
启动应用,显式首页 单击【去泸州】按钮,隐式匹配,跳转到泸州页面
4. 实战总结
本次鸿蒙应用实战,通过创建项目、修改代码、创建页面及配置文件等系列操作,利用隐式Want实现页面跳转功能。从构建基本框架到完善各模块,最终达成点击按钮顺利切换页面的效果,展示了鸿蒙开发中功能实现的一套有效流程。