鸿蒙应用开发从入门到实战(三):第一个鸿蒙应用

📅 2026/7/26 23:43:21 👁️ 阅读次数 📝 编程学习
鸿蒙应用开发从入门到实战(三):第一个鸿蒙应用

鸿蒙应用开发从入门到实战(三):第一个鸿蒙应用

在上一篇文章中,我们了解了鸿蒙系统的架构和开发环境搭建。今天,我们将正式进入实战环节——创建并运行你的第一个鸿蒙应用。通过这个简单的Hello World程序,你将掌握鸿蒙应用开发的基本流程、项目结构和核心概念。## 认识鸿蒙应用项目结构在开始编写代码前,我们需要先了解鸿蒙应用的标准项目结构。使用DevEco Studio创建一个新项目后,你会看到以下关键目录:-entry/src/main/ets/:存放TypeScript代码的主入口-entry/src/main/resources/:存放资源文件(图片、字符串等)-entry/build/:构建输出目录-entry/src/main/config.json:应用配置文件这种结构遵循了鸿蒙的模块化设计理念,所有逻辑代码放在ETs目录下,资源文件与代码分离,便于维护和国际化。## 创建你的第一个应用### 步骤1:新建项目打开DevEco Studio,点击“Create HarmonyOS Project”,选择“Empty Ability”模板。填写项目名称(例如:HelloWorld),选择API版本(推荐使用API 9以上),点击Finish完成创建。### 步骤2:理解主入口文件项目创建后,打开entry/src/main/ets/Index.ets文件。这是应用的默认页面,代码如下:typescript// 导入必要的鸿蒙框架模块import router from '@ohos.router';// 定义数据模型,用于页面状态管理@Entry@Componentstruct Index { // 响应式状态变量,当值变化时自动更新UI @State message: string = 'Hello, HarmonyOS!'; // 构建UI的方法 build() { // 使用Column布局排列子组件 Column() { // 文本组件,显示当前状态变量 Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) .margin({ bottom: 20 }) // 按钮组件,点击时触发事件 Button('Click Me') .fontSize(20) .backgroundColor('#007BFF') .onClick(() => { // 点击后使用路由跳转到第二个页面 router.pushUrl({ url: 'pages/Second' }); }) } .width('100%') .height('100%') .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Center) }}这段代码展示了鸿蒙应用的核心特性:使用@Entry@Component装饰器定义页面组件,@State管理响应式数据,build()方法描述UI结构。整个UI采用声明式语法,类似于SwiftUI或Flutter。### 步骤3:运行应用连接鸿蒙设备或启动模拟器,点击工具栏的“Run”按钮。首次运行可能需要等待构建完成。你会看到模拟器或真机上显示一个居中的“Hello, HarmonyOS!”文本和一个蓝色按钮。## 扩展功能:添加第二个页面一个完整的应用通常包含多个页面。下面我们创建一个新的页面,并实现页面间跳转。### 创建新页面在entry/src/main/ets/目录下新建文件Second.ets,代码如下:typescript// 导入路由模块import router from '@ohos.router';// 定义第二个页面的组件@Entry@Componentstruct Second { // 接收从首页传递过来的参数 @State data: string = ''; // 页面生命周期函数:当页面显示时触发 onPageShow() { // 获取路由参数 const params = router.getParams(); if (params) { // 从参数中提取数据 this.data = params['info'] as string; } } build() { Column() { // 显示接收到的数据 Text(this.data) .fontSize(30) .margin({ bottom: 20 }) // 返回按钮 Button('Go Back') .fontSize(20) .backgroundColor('#28A745') .onClick(() => { // 返回上一页 router.back(); }) } .width('100%') .height('100%') .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Center) }}### 修改首页传递参数回到Index.ets,修改按钮的点击事件,传递参数:typescriptButton('Click Me') .fontSize(20) .backgroundColor('#007BFF') .onClick(() => { // 传递参数到第二个页面 router.pushUrl({ url: 'pages/Second', params: { info: 'Welcome to HarmonyOS!' } }); })### 配置路由在entry/src/main/resources/base/profile/main_pages.json中添加新页面路由:json{ "src": [ "pages/Index", "pages/Second" ]}运行时,点击首页按钮会跳转到第二页,显示传递的字符串“Welcome to HarmonyOS!”,点击“Go Back”按钮返回首页。这种页面间数据传递和路由机制,是构建复杂应用的基础。## 深入理解:声明式UI与状态管理鸿蒙应用开发的最大特点是使用声明式UI。与传统的命令式编程不同,开发者只需描述UI应该是什么样子,系统会自动处理状态变化时的UI更新。例如,当@State变量message变化时,所有引用它的组件都会自动重绘。这种模式带来了几个好处:1.代码更简洁:无需手动操作DOM或视图2.更易维护:状态变化与UI更新逻辑解耦3.性能优化:框架只更新变化的部分## 总结通过本篇文章,你已经成功创建并运行了第一个鸿蒙应用。从项目结构认知、页面组件编写、路由配置到状态管理,你体验了鸿蒙应用开发的核心流程。下一步,你可以尝试修改UI样式、添加更多组件或集成网络请求功能。记住,鸿蒙开发不仅限于手机,同样的代码稍作调整即可运行在平板、手表或智慧屏上,这就是“一次开发,多端部署”的威力。继续探索吧,鸿蒙生态的广阔天地等你来征服!