1. 开发环境准备

1.1 系统要求与软件准备

        在开始鸿蒙运动监测应用的开发之前,需要确保开发环境满足以下要求:

硬件配置要求

        操作系统:Windows 10 64位或macOS 10.14及以上版本

        存储空间:至少预留10GB可用空间用于安装开发工具和SDK

        显示设备:1280x800及以上分辨率,确保IDE界面正常显示

必备软件组件

        Java Development Kit (JDK) 8或11版本,提供Java运行环境

        鸿蒙SDK,包含开发所需的API和工具链

1.2 DevEco Studio安装配置

        DevEco Studio作为官方推荐的集成开发环境。

安装流程详解

  1. 获取安装包
            访问华为开发者联盟官方网站,在下载中心选择最新版本的DevEco Studio。根据操作系统类型选择对应安装包格式,Windows平台下载.exe安装程序,macOS平台下载.dmg磁盘映像文件。

  2. 执行安装操作

    • Windows环境:直接运行安装程序,遵循安装向导提示完成安装,推荐使用默认安装路径避免路径问题

    • macOS环境:打开下载的.dmg文件,将DevEco Studio图标拖拽到Applications文件夹完成安装

    • 首次启动时选择"Do not import settings"选项,初始化全新的开发环境

  3. SDK环境配置
    首次运行DevEco Studio时,系统会自动检测并引导安装鸿蒙SDK:

    • 设置SDK存储位置,通常使用默认路径即可

    • 选择需要安装的SDK版本,运动监测应用需要API 9或更高版本

    • 确认选择后点击Next开始自动下载和安装过程

2. 项目创建与配置

2.1 初始化运动监测项目

按照以下步骤创建全新的运动监测应用项目:

  1. 新建项目向导

    • 启动DevEco Studio,点击主界面"Create Project"按钮

    • 在模板选择界面,选择"Application"分类下的"Empty Ability"模板

    • 点击Next按钮进入项目详细配置界面

  2. 项目参数配置

    项目配置详情:
    - 项目名称:HOSActivityMonitoring
    - 项目类型:Application
    - 包名:com.example.hosactivitymonitoring
    - 存储路径:选择合适的工作目录
    - 编译SDK:9
    - 开发模型:Stage
    - 开发语言:ArkTS
    - 兼容SDK:9+
  3. 完成项目创建
    点击Finish按钮,DevEco Studio会自动生成项目基础结构和必要的配置文件。

2.2 项目结构分析

        成功创建项目后,形成的目录结构如下:

HOSActivityMonitoring/
├── entry/                          # 主应用模块
│   ├── src/
│   │   ├── main/
│   │   │   ├── ets/
│   │   │   │   ├── entryability/   # 应用能力入口
│   │   │   │   ├── pages/         # 界面页面目录
│   │   │   │   └── utils/         # 工具类目录
│   │   │   ├── resources/         # 资源文件目录
│   │   │   └── module.json5       # 模块配置文件
│   │   └── ohosTest/              # 测试代码目录
├── build-profile.json5            # 项目构建配置
└── hvigor/                        # 构建脚本配置

3. 基础配置实现

3.1 应用信息配置

        编辑AppScope/app.json5配置文件,设置应用的基本信息:

{
  "app": {
    "bundleName": "com.example.hosactivitymonitoring",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name",
    "description": "$string:app_description"
  }
}

3.2 模块配置设置

        配置entry/src/main/module.json5文件,定义应用模块信息:

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": ["phone", "tablet"],
    "deliveryWithInstall": true,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:app_icon",
        "startWindowBackground": "$color:white",
        "exported": true,
        "orientation": "unspecified",
        "supportWindowMode": ["fullscreen", "split", "floating"]
      }
    ]
  }
}

3.3 权限配置管理

        在module.json5中声明运动监测功能所需的系统权限:

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.ACTIVITY_MOTION",
        "reason": "用于识别用户运动状态",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.ACCELEROMETER",
        "reason": "用于采集加速度数据计算步数",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.HEALTH_DATA",
        "reason": "用于访问健康数据",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      }
    ]
  }
}

4. 页面结构搭建

4.1 路由配置

        设置entry/src/main/resources/base/profile/main_pages.json文件,定义页面路由:

{
  "src": [
    "pages/Index",
    "pages/Login",
    "pages/Register",
    "pages/ForgotPassword"
  ]
}

4.2 首页实现

        创建entry/src/main/ets/pages/Index.ets文件,实现应用首页:

@Entry
@Component
struct Index {
  @State message: string = '运动监测应用'
  
  build() {
    Column({ space: 20 }) {
      Text(this.message)
        .fontSize(30)
        .fontWeight(FontWeight.Bold)
        .fontColor('#007DFF')
      
      Text('欢迎使用运动监测应用')
        .fontSize(18)
        .fontColor('#666666')
      
      Button('开始监测')
        .width('60%')
        .height(50)
        .backgroundColor('#007DFF')
        .fontColor('#FFFFFF')
        .borderRadius(25)
        .onClick(() => {
          // 开始监测功能实现
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
    .padding(20)
  }
}

4.3 应用入口配置

        完善entry/src/main/ets/entryability/EntryAbility.ts应用入口:

import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    console.log('EntryAbility onCreate');
  }

  onDestroy(): void {
    console.log('EntryAbility onDestroy');
  }

  onWindowStageCreate(windowStage: window.WindowStage): void {
    console.log('EntryAbility onWindowStageCreate');
    
    windowStage.loadContent('pages/Index', (err, data) => {
      if (err.code) {
        console.error('Failed to load the content. Cause:' + JSON.stringify(err));
        return;
      }
      console.log('Succeeded in loading the content. Data: ' + JSON.stringify(data));
    });
  }

  onWindowStageDestroy(): void {
    console.log('EntryAbility onWindowStageDestroy');
  }

  onForeground(): void {
    console.log('EntryAbility onForeground');
  }

  onBackground(): void {
    console.log('EntryAbility onBackground');
  }
}

5. 资源文件管理

5.1 字符串资源配置

        创建entry/src/main/resources/base/element/string.json字符串资源文件:

{
  "string": [
    {
      "name": "app_name",
      "value": "运动监测"
    },
    {
      "name": "app_description", 
      "value": "专业的运动监测和健康管理应用"
    },
    {
      "name": "module_desc",
      "value": "运动监测主模块"
    },
    {
      "name": "EntryAbility_desc",
      "value": "运动监测应用主入口"
    },
    {
      "name": "EntryAbility_label",
      "value": "运动监测"
    }
  ]
}

5.2 颜色资源配置

        定义entry/src/main/resources/base/element/color.json颜色资源:

{
  "color": [
    {
      "name": "white",
      "value": "#FFFFFF"
    },
    {
      "name": "primary",
      "value": "#007DFF"
    },
    {
      "name": "background",
      "value": "#F5F5F5"
    }
  ]
}

6. 构建与运行验证

6.1 项目构建流程

在DevEco Studio中执行构建操作:

        通过菜单选择"Build" -> "Build HAP(s)"

        或使用快捷键Ctrl+F9触发构建

        构建成功后,在entry/build/default/outputs/default/目录生成HAP文件

6.2 运行调试方法

模拟器运行

  1. 打开Tools菜单选择Device Manager

  2. 选择Phone设备类型,下载并启动模拟器

  3. 点击运行按钮将应用部署到模拟器环境

真机调试:(可选)

  1. 开启手机的开发者模式和USB调试功能

  2. 通过USB连接电脑并授权调试权限

  3. 点击运行按钮安装应用到真机设备

6.3 运行结果验证

应用成功运行后,界面应显示以下内容:

        "运动监测应用"主标题

        欢迎使用运动监测应用"描述文本

        蓝色风格的"开始监测"操作按钮

7. 总结

7.1 搭建总结

        完成鸿蒙运动监测应用的开发环境搭建和项目初始化工作。建立了完整的应用基础框架,配置了必要的系统权限和资源文件,并验证了应用的基本运行功能。

主要成果

        DevEco Studio开发环境的安装和配置

        创建运动监测项目的基础目录结构

        配置应用基本信息和所需权限

        实现基础页面布局和路由配置成功构建并运行应用原型

技术要点

        鸿蒙应用的项目组织结构

        模块配置和权限管理方法

        ArkTS基础语法和组件使用

        资源文件的配置管理方式

7.2 结语

        本章主要讲解应用和环境目录搭建,也提供所需代码,可能还存在一些问题,欢迎指正,祝大家学习工作顺利!

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐