# 鸿蒙开发课程项目及实验 **Repository Path**: Luo_tech/harmony_course ## Basic Information - **Project Name**: 鸿蒙开发课程项目及实验 - **Description**: 该仓库用于存放物联网软件开发技术课程项目与实验,其中课程项目要求实现任务列表、电子名片夹、有声计算器、天气预报和网页留言板五个功能,实验总共四个分别为音乐APP、Human Atlas鸿蒙移植APP、智能物体识别助手APP以及校园失物招领APP。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-30 - **Last Updated**: 2026-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 鸿蒙开发课程项目与实验合集 > 广东工业大学 · 物联网工程 2024 级(2)班 · 罗志泽 3124001412 本仓库收录《移动应用开发》课程的 **1 个综合课程项目 + 4 个实验项目**,均为 HarmonyOS NEXT(ArkTS / ArkUI,Stage 模型)应用,可直接用 DevEco Studio 打开、构建与运行。 ## 项目一览 | 目录 | 项目 | 主要内容 | 是否需要后端 | |---|---|---|---| | `myproject` | HarmonyOS 课程学习项目 | 任务列表与进度、电子名片夹、有声计算器(离线 TTS)、天气预报(Open-Meteo)、网页留言板(ArkWeb 双向通信) | 否 | | `lab01` | 音乐播放器 | 本地 FLAC/OGG 播放、播放列表、封面、离线语音搜索 | 否 | | `lab02` | Human Atlas 人体解剖 3D 图谱 | ArkWeb 加载本地 3D 资源、原生桥接搜索/收藏/历史 | 否 | | `lab03` | 智能物品识别助手 | 相机/相册取图、YOLOv13 端侧推理、检测结果编辑、RDB 历史、云端同步 | 可选(FastAPI) | | `lab04` | 校园智能失物招领 | 登录注册、发布、OCR/语音/NLP 抽取、多因子匹配、认领流程、信用分、管理员统计 | 必须(FastAPI) | ## 仓库结构 ``` harmony_course/ ├── myproject/ # 课程综合项目 ├── lab01/ # 实验一 音乐播放器 ├── lab02/ # 实验二 Human Atlas 人体解剖 3D 图谱 ├── lab03/ # 实验三 智能物品识别助手 │ └── backend/ # FastAPI 后端 ├── lab04/ # 实验四 校园智能失物招领 │ └── backend/ # FastAPI 后端 └── README.md ``` 每个子目录都是**独立的 HarmonyOS 工程**(各自的 `build-profile.json5`、`hvigorfile.ts`、`entry` 模块),需要单独打开,互不影响。 ## 环境要求 - **DevEco Studio** 6.0 及以上(已在 26.0.0.821 验证) - **HarmonyOS SDK**:compileSdk `26.0.0`(API 26);工程兼容 **API 24(HarmonyOS 6.1.1)及以上**设备 - **Hvigor** 6.26.4(DevEco 自带,无需单独安装) - **lab03 / lab04 后端**:Python 3.10+(建议 3.12) ## 通用安装与运行 1. 用 DevEco Studio 打开**对应的子目录**(例如 `myproject`),不要直接打开仓库根目录。 2. 等待 IDE 自动 Sync(等价于 `ohpm install`),首次会下载 `@ohos/hypium` 等测试依赖。 3. 配置签名(仅首次):`File > Project Structure > Signing Configs`,勾选 **Automatically generate signature**(需登录华为账号)。仓库中的 `build-profile.json5` 已清空本机签名信息,保证任何人克隆后都能直接构建。 4. 连接鸿蒙设备(开启开发者模式与 USB 调试)或启动模拟器,在右上角选择设备,点击 **Run 'entry'**。 5. 命令行构建(可选): ```powershell & "\tools\hvigor\bin\hvigorw.bat" assembleHap ``` ## 各项目说明 ### myproject — HarmonyOS 课程学习项目 - 首页聚合学生信息、课程任务进度与各功能入口 - 任务列表 / 详情:本地 preferences 持久化 - 电子名片夹:名片增删改查、字段编辑 - 有声计算器:离线 TTS(Core Speech Kit)播报键值与计算结果 - 天气预报:Open-Meteo 实时数据 + 离线缓存(需要网络权限) - 网页留言板:ArkWeb 加载本地 H5,`registerJavaScriptProxy` 实现原生与网页双向通信 - 运行:**无后端依赖** ### lab01 — 音乐播放器 - AVPlayer 播放 rawfile 内置音频(FLAC/OGG),播放列表、封面、进度控制 - 麦克风权限用于离线语音搜索(Core Speech Kit 离线模式,不需要联网) - 注意:内置音频资源约 234 MB,仓库体积与首次安装耗时较大 ### lab02 — Human Atlas 人体解剖 3D 图谱 - Web 端 Three.js 渲染 2234 个解剖结构,模型资源全部离线内置 - 原生侧通过 `local://` 自定义协议 + `onInterceptRequest` 提供 rawfile,`nativeBridge` 注入 JS - 运行:**无需权限、无需网络** ### lab03 — 智能物品识别助手 - 相机 / 相册取图 → YOLOv13 ONNX 端侧推理 → 检测框与物品清单 → RDB 历史记录 - 可选 FastAPI 后端:记录上传、JWT 鉴权、云端推理 - **ABI 说明**:`@ohos/onnxruntime` 仅提供 arm64 原生库;在 x86_64 模拟器上会自动降级为“演示检测”(界面会提示),arm64 真机为真实推理 - 启动后端(可选): ```powershell cd lab03\backend python -m venv .venv .venv\Scripts\pip install -r requirements.txt .\run.ps1 -Port 8000 ``` 健康检查:`http://127.0.0.1:8000/healthz` ### lab04 — 校园智能失物招领 - 登录 / 注册、失物与招领发布、图片上传、OCR / 语音 / 自然语言抽取、多因子匹配、认领状态机、信用分、管理员统计 - **必须启动后端**后才能登录使用: ```powershell cd lab04\backend run.bat ``` 脚本会自动创建 `.venv`、安装依赖并在 8000 端口启动;也可手动: ```powershell .venv\Scripts\python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` - 演示账号见登录页(林小满、陈子豪、赵一诺、王老师、孙浩然等) ## 后端地址说明 - **模拟器**访问宿主机:`http://10.0.2.2:8000`(App 内默认值) - **真机**:改成电脑的局域网 IP(如 `http://192.168.1.10:8000`),并确保防火墙放行 8000 端口 - lab03 / lab04 均可在 App 内修改并持久化该地址 ## 常见问题 | 现象 | 处理 | |---|---| | 首次 Run 提示未配置签名 | 使用 DevEco 自动签名(需登录华为账号) | | Sync 后仍提示依赖缺失 | 删除对应工程的 `oh_modules` 后重新 Sync | | lab04 登录失败 | 确认后端已启动,且设备能访问填写的服务地址 | | lab03 识别结果为演示数据 | 当前为 x86_64 模拟器,改用 arm64 真机即可真实推理 | | 构建报 `useNormalizedOHMUrl` | 使用 DevEco 自带 Hvigor(6.x),不要用旧版 hvigorw | ## 许可 本项目合集仅用于课程学习与学术交流。