Files
anroid-CheckShot/README.md

72 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LogCam 巡检相机项目
适配 Android API 32 的巡检相机应用示例。使用 CameraX 构建巡检拍照、自动水印、多图合成等核心流程,并提供配置页面对关键功能进行预设管理。
## 功能总览
| 模块 | 功能点 | 说明 |
|------|--------|------|
| 相机核心 | CameraX 拍照 | 基于 CameraX 实现拍照、自动对焦、曝光控制,兼容 API32 |
| 水印处理 | 自动时间水印 | 拍照完成后自动叠加时间水印;时间格式固定为 `yyyy年-MM月-dd日 HH:mm:ss` |
| 多图合成 | 2x2 网格模板 | 固定模板合成 4 张图片,支持自适应缩放、替换以及质量配置 |
| 文字编辑 | 标题/内容区域 | 合成图顶部和底部分别添加带矩形背景的标题/内容区域,使用 StaticLayout 智能换行 |
| 图片管理 | MediaStore 分区存储 | 拍摄 / 合成图片保存至系统相册,并可预览、分享,命名格式为 `巡检报告_{巡检主题}_{yyyyMMddHHmm}.jpg` |
| 权限管理 | 相机权限 | 仅申请 CAMERA 权限,避免华为安全检测警告 |
| 配置页面 | 预设项管理 | 设置页集中配置水印样式、合成质量等 |
## 项目结构
```
logcam/
├── app/
│ ├── src/main/
│ │ ├── java/com/example/app/
│ │ │ ├── CameraActivity.kt # 相机核心流程
│ │ │ ├── ImageCompositor.kt # 多图合成与文字叠加
│ │ │ ├── MainActivity.kt # 入口页,跳转相机
│ │ │ └── SettingsFragment.kt # 配置页面
│ │ ├── res/
│ │ │ ├── layout/
│ │ │ │ ├── activity_main.xml
│ │ │ │ └── fragment_settings.xml
│ │ │ ├── values/
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── themes.xml
│ │ │ └── drawable/
│ │ │ ├── circle_button_background.xml
│ │ │ ├── ic_camera.xml
│ │ │ └── ic_settings.xml
│ │ └── AndroidManifest.xml
│ └── build.gradle
├── build.gradle
├── settings.gradle
├── gradle.properties
└── .github/workflows/gradle-publish.yml
```
## 关键依赖
- **CameraX**`androidx.camera:camera-*` 系列
- **Material Components**UI 控件与样式
## 构建与运行
1. 克隆仓库:`git clone https://github.com/xiajid/logcam.git`
2. 在 Android Studio 中打开项目
3. 连接设备或启用模拟器
4. 运行 `app` 模块即可体验巡检相机功能
## 工作流
仓库包含 GitHub Actions 工作流 `.github/workflows/build.yml`,在 push 或 PR 时自动执行 Gradle 构建并上传调试 APK 供下载。
**华为安全优化2026-02-08**:移除所有位置权限和功能,仅保留相机权限,避免华为安全检测警告。
## 许可证
MIT
---
*Last test build: Sun Feb 8 08:00:26 PM CST 2026*