diff --git a/README.md b/README.md index af34c04..99918c0 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,70 @@ -# LogCam +# LogCam 巡检相机项目 -A simple Android application demo project. +适配 Android API 32 的巡检相机应用示例。使用 CameraX 构建巡检拍照、自动水印、多图合成等核心流程,并提供配置页面对关键功能进行预设管理。 -## Project Structure +## 功能总览 + +| 模块 | 功能点 | 说明 | +|------|--------|------| +| 相机核心 | CameraX 拍照 | 基于 CameraX 实现拍照、自动对焦、曝光控制,兼容 API32 | +| 水印处理 | 自动时间 / 地点水印 | 拍照完成后自动叠加时间、地点水印;时间格式固定为 `yyyy年-MM月-dd日 HH:mm:ss` | +| 水印样式 | 预设样式选择 | 预设字体大小/颜色/透明度组合,通过设置页选择 | +| 地点校准 | 经纬度/联网校准 | 设置页面提供“经纬度 + 距离校准”和“联网查询校准”两种方式,支持手动输入经纬度 | +| 多图合成 | 2x2 网格模板 | 固定模板合成 4 张图片,支持自适应缩放、替换以及质量配置 | +| 文字编辑 | 标题/内容区域 | 合成图顶部和底部分别添加带矩形背景的标题/内容区域,使用 StaticLayout 智能换行 | +| 图片管理 | MediaStore 分区存储 | 拍摄 / 合成图片保存至系统相册,并可预览、分享,命名格式为 `巡检报告_{巡检主题}_{yyyyMMddHHmm}.jpg` | +| 权限管理 | 相机/定位权限 | 按需申请 CAMERA 与定位权限,拒绝定位权限时允许手动输入经纬度 | +| 配置页面 | 预设项管理 | 设置页集中配置地点校准方式、水印样式、合成质量、文字样式等 | + +## 项目结构 ``` logcam/ ├── app/ │ ├── src/main/ │ │ ├── java/com/example/app/ -│ │ │ └── MainActivity.kt +│ │ │ ├── CameraActivity.kt # 相机核心流程 +│ │ │ ├── ImageCompositor.kt # 多图合成与文字叠加 +│ │ │ ├── LocationManagerHelper.kt# 位置服务封装 +│ │ │ ├── MainActivity.kt # 入口页,跳转相机 +│ │ │ └── SettingsFragment.kt # 配置页面 │ │ ├── res/ │ │ │ ├── layout/ -│ │ │ │ └── activity_main.xml +│ │ │ │ ├── activity_main.xml +│ │ │ │ └── fragment_settings.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── themes.xml -│ │ │ └── mipmap-*/ +│ │ │ └── drawable/ +│ │ │ ├── circle_button_background.xml +│ │ │ ├── ic_camera.xml +│ │ │ └── ic_settings.xml │ │ └── AndroidManifest.xml │ └── build.gradle ├── build.gradle ├── settings.gradle ├── gradle.properties -└── .gitignore +└── .github/workflows/gradle-publish.yml ``` -## Configuration +## 关键依赖 -- **compileSdkVersion**: 34 -- **minSdkVersion**: 24 -- **targetSdkVersion**: 34 -- **applicationId**: com.example.app +- **CameraX**:`androidx.camera:camera-*` 系列 +- **Google Play Services Location**:获取实时位置 +- **Material Components**:UI 控件与样式 -## Getting Started +## 构建与运行 -1. Clone the repository -2. Open in Android Studio -3. Build and run +1. 克隆仓库:`git clone https://github.com/xiajid/logcam.git` +2. 在 Android Studio 中打开项目 +3. 连接设备或启用模拟器 +4. 运行 `app` 模块即可体验巡检相机功能 -## License +## 工作流 -MIT \ No newline at end of file +仓库包含 GitHub Actions 工作流 `.github/workflows/gradle-publish.yml`,在 push 或 PR 时自动执行 Gradle 构建并上传调试 APK 供下载。 + +## 许可证 + +MIT