Files
anroid-CheckShot/需求表.md

5.7 KiB
Raw Permalink Blame History

巡检相机核心需求规格表

模块 功能点/需求描述 可行性/技术备注
1. 相机核心模块 1.1 技术基底: 使用 Android CameraX 库,以实现更好的兼容性和开发效率。 可行性高。 CameraX 是 Google 官方推荐的轻量化框架,技术成熟,兼容性好,开发效率高,无实现风险。
1.2 核心能力: 支持拍照、自动/手动对焦、曝光调节,保障拍摄稳定性。 可行性高。 通过 CameraX 可快速实现,保障拍摄稳定与细节捕捉。
2. 水印处理模块 2.1 核心能力: 拍摄后自动在照片左下角叠加时间与地点水印。 可行性高。 Canvas 绘制固定位置水印的方案成熟,无技术障碍。
2.2 时间水印: 基于 System.currentTimeMillis() 获取时间戳,格式固定为 "yyyy年-MM月-dd日 HH:mm:ss"。 可行性高。 Android 常规操作,技术成熟。
2.3 地点水印: 优先使用 Geocoder 联网解析地址;失败时降级显示经纬度。支持在设置中配置校准方式。 可行性高。 Geocoder 为原生接口降级逻辑简单易实现。校准功能可通过算法或第三方SDK辅助整体可行性高。
2.4 样式规则: 提供预设的水印样式(字体/颜色/透明度组合),用户仅可从列表选择。 可行性高。 通过预设参数集实现,无需开放自定义接口,实现成本低。
3. 多图合成模块 3.1 布局规则: 预设固定尺寸的布局模板(核心为 2x2 网格),合成时对图片进行自适应缩放/裁剪。 可行性高。 通过 Bitmap 拼接和 Matrix 变换即可实现,逻辑清晰。
3.2 核心能力: 支持图片拼接、基于模板的布局编辑(替换/删除图片)、合成质量控制(分辨率/清晰度)。 可行性高。 均为 Android 图片处理的常规方案,通过 Bitmap 压缩参数和操作即可实现,无技术难点。
4. 文字编辑模块 4.1 应用范围: 仅针对合成后的图片,在顶部(标题)和底部(内容)添加带矩形背景的文字说明。 可行性高。 Canvas 绘制矩形和文字的方案成熟。
4.2 智能换行: 使用 StaticLayoutPaint.breakText() 实现文本在指定宽度内自动换行,禁止手动输入 \n 可行性高。 StaticLayout 是 Android 原生提供的用于处理文字换行的工具,完全满足需求。
4.3 自定义规则: 支持从预设列表中选择文字样式(字体/大小/颜色)和位置。 可行性高。 预设参数列表,用户选择后绑定至绘制逻辑,实现简单。
5. 图片管理模块 5.1 核心能力: 支持拍摄/合成图片的本地存储、分类管理、预览、导出/分享。 可行性高。 均为常规开发场景,可通过本地数据库、文件操作和系统分享 Intent 实现。
5.2 适配要求: 严格遵循分区存储规则,通过 MediaStore 将图片保存至系统相册,无需申请存储权限。 可行性高。 MediaStore 是 API32 官方推荐的图片存储方式,合规且无技术争议。
5.3 命名规则: 图片命名为 "巡检报告_{巡检主题}_{生成时间yyyyMMddHHmm}.jpg"。 可行性高。 通过字符串拼接即可实现。
6. 板限管理模块 6.1 权限范围: 相机权限 (CAMERA)、定位权限 (ACCESS_FINE_LOCATION/ACCESS_COARSE_LOCATION)。 可行性高。 权限定义明确,符合应用功能需求。
6.2 处理规则: 遵循 Android 12+ 权限政策,按需申请并说明用途。 可行性高。 使用 ActivityResultContracts API 可规范、高效地完成权限申请流程。
6.3 降级处理: 拒绝定位权限时,允许手动输入地址作为水印,保障核心功能可用。 可行性高。 仅需新增输入框与数据绑定逻辑,无技术风险,是优秀的用户体验设计。

配置页面功能点需求

为了满足上述需求中的可配置项,并提升应用的用户体验,配置页面应包含以下功能:

功能分类 具体功能点 说明
水印设置 水印样式选择 提供一个列表,包含多种预设的水印样式(如“默认样式”、“醒目样式”、“简约样式”),用户点击即可预览和选择。
地点校准方式 提供单选框,让用户选择地点信息的获取方式:
1. 联网查询校准 (默认)
2. 经纬度+距离校准
合成与文字设置 默认合成布局 允许用户设置一个默认的图片合成布局模板如“2x2网格”、“1+3布局”打开多图合成页面时自动应用。
合成图片质量 提供一个滑块或选项,让用户选择合成图片的分辨率/清晰度(如“高清”、“标准”、“流畅”),对应不同的 JPEG 压缩质量参数。
默认文字样式 分别为“标题”和“内容”提供预设的文字样式(字体、大小、颜色)选择,作为每次编辑时的默认值。
通用设置 默认巡检主题 提供输入框让用户预设一个默认的“巡检主题”如“XX项目日常巡检”在生成报告时自动填入用户也可临时修改。
巡检员信息 提供输入框,让用户填写自己的姓名或工号,以便在水印或报告中包含该信息(此功能可作为扩展项)。
关于 显示应用的版本号、开发者信息等。