当前位置: 首页 > news >正文

第06篇|module.json5 深读:设备类型、权限、Ability 与智能体配置

这篇把用户路径和工程边界放在一起看:用户需要可信提示,代码要守住权限、认证、Uri 和私密数据边界。本篇主题是「module.json5 深读:设备类型、权限、Ability 与智能体配置」,目标是把源码、效果和工程质量放到同一篇文章里讲透。

本文是 21 天「智能相机开发实战」训练营第 2 天的第 3 篇。

这篇解决什么问题

  • 读懂本篇能力在「双镜记忆相机」中的用户价值。
  • 从源码中定位关键入口,而不是只停留在概念介绍。
  • 把页面效果、状态流转和失败态串成一个可复现的小闭环。

代码来自哪里

  • entry/src/main/module.json5
  • entry/src/main/resources/base/profile/insight_intent.json
  • entry/src/main/ets/pages/Index.ets

本篇优先阅读entry/src/main/module.json5,下面的片段保留项目中的真实命名,方便你在 DevEco Studio 中直接搜索。

{ "module": { "name": "entry", "type": "entry", "description": "$string:module_desc", "mainElement": "EntryAbility", "deviceTypes": [ "phone", "tablet", "2in1" ], "deliveryWithInstall": true, "installationFree": false, "pages": "$profile:main_pages", "metadata": [ { "name": "client_id", "value": "6917602606633938955" } ], "abilities": [ { "name": "EntryAbility", "srcEntry": "./ets/entryability/EntryAbility.ets", "description": "$string:EntryAbility_desc", "icon": "$media:foreground", "label": "$string:EntryAbility_label", "startWindowIcon": "$media:startIcon", "startWindowBackground": "$color:start_window_background", "supportWindowMode": [ "fullscreen", "split", "floating" ], "exported": true,

源码拆解

  • 先看入口变量或函数:它决定能力从哪个页面、哪个服务或哪个系统配置开始。
  • 再看状态字段:页面上的按钮、提示、加载态通常不是临时文案,而是这些状态的投影。
  • 最后看结果写回:拍摄、定位、AI、同步或分享能力最终都要回到记录模型、页面刷新或用户反馈。

跑出来是什么效果

结合页面效果,本文重点观察:

  • module 配置结构图
  • 权限清单图
flowchart LR A["用户动作"] --> B["权限/认证检查"] B --> C["业务数据边界"] C --> D["成功或可恢复失败"]

这张流程图可以直接放在文章中间,用来解释「源码做了什么」和「用户看到了什么」之间的关系。截图则尽量截最终页面,不只截调试日志。

实操步骤

  1. 在 DevEco Studio 打开项目,先搜索本文列出的主文件。
  2. 顺着源码片段中的变量或函数名继续查找调用点。
  3. 真机或预览器运行到对应页面,补一张成功态截图。
  4. 主动制造一次失败态,例如拒绝权限、断网、无数据或能力不支持。
  5. 把成功态、失败态、源码片段和流程图组合成完整文章。

工程质量点

  • 先说明用户收益,再触发敏感权限或认证动作。
  • 失败态必须可恢复,不能让用户停在无解释的锁定页面。
  • 私密照片、Uri 和分享入口之间保持明确边界。
  • 源码截图只截关键函数,不截整屏代码,方便读者跟着定位。
  • 效果图和流程图一一对应,避免只讲原理却看不到用户结果。

质量分自评

维度分值本篇检查点
源码准确度28/30代码片段来自项目文件,变量名和函数名保持原样。
效果可见性23/25页面效果与流程图能说明从点击到结果的路径。
实操完整度19/20读者能按文章复现一个最小操作闭环。
工程质量13/15覆盖失败态、状态边界或隐私边界中的关键点。
表达清晰度10/10标题、截图说明和源码说明互相对齐。
合计93/100达到训练营发布质量线。

今日作业

  1. 在真机上走一遍成功和失败路径,分别截取页面反馈。
  2. 补一张边界图:哪些数据允许公开,哪些只能留在私密域。
  3. 把文章里的失败态文案改成你自己的产品语言。

完成作业后,下一篇继续沿着同一条源码路径往下走:先做出效果,再把工程边界讲清楚。

http://www.gsyq.cn/news/1408858.html

相关文章:

  • 使用curl命令快速测试taotoken大模型api连通性与返回格式
  • ChatGPT品牌故事创作方法论(全球仅12家头部企业验证有效的AIGC叙事模型)
  • UEFI开发实战:SuperIO芯片寄存器操作与GPIO控制详解
  • 在Hermes Agent项目中集成Taotoken实现自定义模型调用
  • 酒店门锁V10SDK接口vb模块-幽冥大陆(一百27)—东方仙盟
  • 面向终端设备的遥感深度学习评估框架:HHEA四层设计原理与工程实践
  • 保研文书进阶指南:如何打造一份脱颖而出的导师推荐信
  • macOS菜单栏架构演进:Ice如何重构系统级UI管理范式
  • 智能制造的关键入口:从传统视觉到AI智能体视觉(5)
  • N9BYX固态MT29F16T08ESLHHL5-42QMES:H
  • Kokkidio:融合Eigen与Kokkos,实现CPU/GPU高性能可移植计算
  • Hap QuickTime Codec:面向现代GPU的高性能视频编解码器深度解析
  • 如何快速搭建英雄联盟客户端工具箱:LeagueAkari完整配置指南
  • 5G毫米波MIMO波束对齐技术解析与优化方案
  • Activiti7工作流引擎:进阶篇(十二) 多实例任务实战——会签与或签的深度配置与业务融合
  • 算法与数据结构概述
  • Redis数据类型深度解析
  • Sumatra PDF进阶指南——自定义快捷键与高效配置
  • QKeyMapper:完全免费的开源按键映射工具,重新定义你的Windows操作体验
  • 从零搭建 RAG 系统:用 LangChain + ChromaDB 给自己做一个私有知识库
  • RustSFQ:利用Rust所有权系统保障超导SFQ电路I/O一致性
  • 四大模块掌握GenomeScope:从k-mer分析到基因组特性快速解读
  • 基于Amazon Bedrock构建AI智能体:从提示词工程到工具调用的实践指南
  • 构建有记忆的AI支持代理:基于会话状态追踪与动态升级的工程实践
  • 2026年 沈阳一站式注册公司榜单:小规模/一般纳税人/无地址注册与创业全流程解析 - 品牌企业推荐师(官方)
  • 避坑指南:在Unity中为Windows构建包实现窗口比例锁定时,你可能会遇到的5个问题及解决方法
  • 【RT-DETR实战】081、关键点检测与目标检测联合任务探索:当RT-DETR遇上多任务推理
  • MapLibre GL JS第5课:显示卫星地图
  • 从Simulink模型到C代码:嵌入式实时系统开发实战
  • 从Linux到SPDK:NVMe Namespace的创建、绑定与高性能存储实践