# DeviceHelper **Repository Path**: Megasu/DeviceHelper ## Basic Information - **Project Name**: DeviceHelper - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-11-06 - **Last Updated**: 2025-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Device Helper - 鸿蒙设备检测助手 ![HarmonyOS](https://img.shields.io/badge/HarmonyOS-6.0-blue) ![ArkTS](https://img.shields.io/badge/ArkTS-Latest-orange) ![License](https://img.shields.io/badge/License-MIT-green) **一个功能完整的HarmonyOS设备硬件检测应用,助力鸿蒙生态建设** --- ## 📱 项目简介 **Device Helper** 是一款专为HarmonyOS生态打造的设备硬件检测应用,旨在帮助用户快速检测手机各项硬件功能是否正常。 无论是新机到手、二手交易还是设备维修,都能通过本应用进行全面、专业的硬件检测。 本项目作为**开源学习项目**,完整展示了HarmonyOS应用开发的核心技术栈和最佳实践,是学习HarmonyOS开发的优秀参考案例。 ### 项目截图
基本信息 多项检测 检测详情 检测报告
### 🎯 项目定位 - **学习价值**:完整的HarmonyOS应用开发实践案例 - **实用价值**:真实可用的设备检测工具 - **生态贡献**:为HarmonyOS开发者社区提供参考 --- ## ✨ 功能特性 ### 🔍 设备信息展示 - 自动识别设备品牌、型号、系统版本 - 智能计算存储容量(根据实际可用空间推算标称容量) - 显示屏幕分辨率、刷新率等关键参数 - 精美的渐变UI设计,支持状态栏动态切换 ### 🛠️ 20项硬件检测功能 | 检测项 | 功能说明 | 技术实现 | |--------|---------|---------| | **音频检测** | 扬声器、听筒、麦克风 | AudioKit音频渲染器、PCM音频播放 | | **相机检测** | 前置/后置摄像头 | CameraKit相机预览、拍照功能 | | **传感器检测** | 距离、光线、重力、指南针 | SensorKit传感器数据监听 | | **通信检测** | WiFi、蓝牙、NFC、SIM卡 | NetworkKit、BluetoothKit、NFCKit | | **生物识别** | 指纹、面容识别 | BiometricKit生物识别API | | **其他功能** | 闪光灯、振动、触摸、充电、白屏 | 系统API调用 | ### 📊 检测流程管理 - **状态管理**:未开始、进行中、已中断、已完成 - **进度跟踪**:实时显示检测进度(环形进度条) - **结果持久化**:使用PersistenceV2实现数据持久化存储 - **断点续检**:支持中断后继续检测,无需重新开始 - **单项重检**:支持对任意检测项进行重新检测 ### 🎨 用户体验 - 流畅的页面导航和转场动画 - 智能的状态栏颜色切换(根据滚动位置) - 友好的错误提示和操作反馈 - 支持深色模式(代码已实现) --- ## 🛠️ 技术栈 ### 核心技术框架 #### 1. **ArkTS + ArkUI V2** - ✅ **@ComponentV2**:新一代组件装饰器,性能更优 - ✅ **@ObservedV2**:响应式数据模型 - ✅ **@Computed**:计算属性,自动缓存优化 - ✅ **@Local / @Param**:V2版本状态管理装饰器 ```typescript // 示例:V2状态管理最佳实践 @ObservedV2 class InspectionResultModel { @Trace speaker: InspectionItemResult = new InspectionItemResult(); } @ComponentV2 struct InspectionPage { @Local inspectionResult: InspectionResultModel = PersistenceV2.connect(InspectionResultModel, () => new InspectionResultModel())!; } ``` #### 2. **数据持久化 - PersistenceV2** - ✅ 自动持久化数据,无需手动保存 - ✅ 支持复杂对象类型(通过@Type装饰器) - ✅ 数据自动同步,页面间共享状态 ```typescript // 持久化存储示例 @Local inspectionResult: InspectionResultModel = PersistenceV2.connect(InspectionResultModel, () => new InspectionResultModel())!; ``` #### 3. **导航系统 - NavPathStack** - ✅ 原生导航栈管理 - ✅ 支持页面参数传递 - ✅ 自定义导航栏样式和返回按钮 - ✅ 页面生命周期拦截(willShow/didShow) #### 4. **硬件能力调用** | Kit名称 | 功能 | 使用场景 | |---------|------|---------| | **AudioKit** | 音频播放 | 扬声器、听筒检测 | | **CameraKit** | 相机预览 | 前后摄像头检测 | | **SensorKit** | 传感器数据 | 距离、光线、重力、指南针 | | **NetworkKit** | 网络管理 | WiFi检测 | | **BluetoothKit** | 蓝牙管理 | 蓝牙功能检测 | | **NFCKit** | NFC功能 | NFC识别检测 | | **BiometricKit** | 生物识别 | 指纹、面容识别 | | **BasicServicesKit** | 基础服务 | 设备信息、剪贴板、振动等 | #### 5. **权限管理** - ✅ 动态权限申请 - ✅ 权限状态检查 - ✅ 设置页面跳转引导 - ✅ 完整的权限申请流程封装 ```typescript // 权限管理工具类 accessManager.checkPermission( context, [Permissions.CAMERA], () => { /* 成功回调 */ }, () => { /* 失败回调 */ } ); ``` #### 6. **UI组件与设计** - ✅ **SymbolGlyph**:系统图标组件(SF Symbols风格) - ✅ **LinearGradient**:渐变背景 - ✅ **Progress**:环形进度条 - ✅ **CustomDialog**:自定义弹窗(轻提示样式) - ✅ **RelativeContainer**:相对布局容器 - ✅ 响应式布局和约束布局 #### 7. **资源管理** - ✅ 统一使用`$r()`语法引用资源 - ✅ 支持多主题资源(base/dark) - ✅ 资源类型:颜色、字符串、图片、浮点数 - ✅ RawFile资源管理(音频文件) --- ## 🎓 核心亮点与学习价值 ### 💡 技术亮点 #### 1. **完整的V2状态管理实践** 本项目全面采用ArkUI V2的新特性,展示了: - `@ComponentV2`组件的正确用法 - `@ObservedV2`数据模型的响应式更新 - `@Computed`计算属性的性能优化 - `PersistenceV2`数据持久化的最佳实践 **学习收获**:掌握HarmonyOS最新状态管理方案,理解响应式编程在移动开发中的应用。 #### 2. **硬件能力完整调用示例** 覆盖了HarmonyOS主要的硬件能力Kit: - 音频播放(AudioRenderer) - 相机预览(CameraKit) - 传感器监听(SensorKit) - 网络管理(NetworkKit) - 蓝牙/NFC通信 - 生物识别认证 **学习收获**:学会如何调用HarmonyOS系统能力,为开发功能丰富的应用打下基础。 #### 3. **数据持久化最佳实践** 使用`PersistenceV2`实现: - 复杂对象类型的持久化 - 跨页面数据共享 - 应用重启后数据恢复 - 自动同步机制 **学习收获**:掌握HarmonyOS数据持久化方案,理解如何设计可持久化的数据模型。 #### 4. **权限管理完整流程** 实现了完整的权限申请流程: - 权限状态检查 - 动态权限申请 - 设置页面引导 - 错误处理机制 **学习收获**:学会处理HarmonyOS权限系统,确保应用合规运行。 #### 5. **UI/UX设计实践** 展示了现代移动应用UI设计: - 渐变背景和卡片式布局 - 状态栏动态切换 - 流畅的页面转场动画 - 友好的用户反馈机制 **学习收获**:掌握HarmonyOS UI设计规范,提升应用用户体验。 #### 6. **项目架构设计** 采用清晰的项目结构: - 页面组件分离(pages/views) - 数据模型独立(models) - 工具类封装(utils) - 常量统一管理(constants) **学习收获**:学会组织HarmonyOS项目代码,提高代码可维护性。 --- ## 🚀 快速开始 ### 环境要求 - **DevEco Studio**: 6.0 或更高版本 - **HarmonyOS SDK**: API 20 (HarmonyOS 6.0) ## 📁 项目结构 ``` DeviceHelper/ ├── AppScope/ # 应用全局配置 │ ├── app.json5 # 应用配置文件 │ └── resources/ # 全局资源 ├── entry/ # 主模块 │ ├── src/main/ │ │ ├── ets/ │ │ │ ├── entryability/ # 应用入口 │ │ │ ├── pages/ # 页面组件 │ │ │ │ └── Index.ets # 首页 │ │ │ ├── views/ # 检测页面(20个) │ │ │ ├── models/ # 数据模型 │ │ │ │ └── InspectionResultModel.ets │ │ │ ├── utils/ # 工具类 │ │ │ │ ├── DialogUtils.ets │ │ │ │ └── AccessManager.ets │ │ │ └── constants/ # 常量定义 │ │ └── resources/ # 模块资源 │ │ ├── base/ # 默认主题 │ │ └── rawfile/ # 原始文件(音频等) │ └── build-profile.json5 # 模块构建配置 ├── hvigorfile.ts # 构建脚本 ├── oh-package.json5 # 依赖配置 └── README.md # 项目说明 ``` ### 关键文件说明 - **InspectionResultModel.ets**: 检测结果数据模型,使用PersistenceV2持久化 - **Index.ets**: 首页,展示设备信息和检测入口 - **InspectionPage.ets**: 检测主页面,管理20个检测项 - **DialogUtils.ets**: 弹窗工具类,封装自定义弹窗 - **AccessManager.ets**: 权限管理工具类 --- ## 🎯 学习路径建议 ### 初学者 1. 从`Index.ets`开始,了解页面基本结构 2. 学习`InspectionResultModel.ets`,理解数据模型设计 3. 查看单个检测页面(如`SpeakerInspectionPage.ets`),学习硬件能力调用 ### 进阶开发者 1. 深入研究`PersistenceV2`的使用方式 2. 学习`NavPathStack`导航管理 3. 研究权限管理的最佳实践 4. 分析UI/UX设计模式 ### 高级开发者 1. 优化性能(计算属性、懒加载等) 2. 扩展检测功能(添加新的检测项) 3. 改进架构设计(MVVM模式、依赖注入等) 4. 贡献代码和文档 --- ## 🤝 贡献指南 我们欢迎所有形式的贡献! ### 如何贡献 1. **Fork** 本仓库 2. **创建** 特性分支 (`git checkout -b feature/AmazingFeature`) 3. **提交** 更改 (`git commit -m 'Add some AmazingFeature'`) 4. **推送** 到分支 (`git push origin feature/AmazingFeature`) 5. **开启** Pull Request ### 贡献方向 - 🐛 **Bug修复**:发现并修复问题 - ✨ **新功能**:添加新的检测项或功能 - 📝 **文档改进**:完善README、代码注释 - 🎨 **UI优化**:改进界面设计和用户体验 - ⚡ **性能优化**:提升应用性能 - 🌐 **国际化**:添加多语言支持 ### 代码规范 - 遵循ArkTS编码规范 - 添加必要的代码注释 - 保持代码风格一致 - 提交前运行编译检查 --- ## 📄 许可证 本项目采用 [MIT License](LICENSE) 许可证。 --- ## 🙏 致谢 感谢所有为HarmonyOS生态做出贡献的开发者! 特别感谢: - HarmonyOS开发团队 - 所有贡献者和Issue反馈者 - 开源社区的支持 --- ## 📮 联系方式 - **作者**: 苏杰豪 - **邮箱**: megasu@qq.com - **项目地址**: [GitCode](https://gitcode.com/megasu/DeviceHelper) - **项目地址**: [Gitee](https://gitee.com/megasu/DeviceHelper) --- ## ⭐ Star History 如果这个项目对你有帮助,请给个Star⭐支持一下! --- **为HarmonyOS生态贡献力量,让我们一起构建更好的未来!** 🚀 Made with ❤️ for HarmonyOS