来源:AI开发日志公众号专辑「Build Your Own X With AI」
原文链接:https://mp.weixin.qq.com/s?__biz=MzUxMjg3MjE2OA==&mid=2247485905&idx=1&sn=b2c14a7c479f9cd7959fc8ea1bd3fb3f&chksm=f95c9256ce2b1b400f100cb92966675321e21aea2e11da6158e87fc454d70cce67384137c2f2#rd
AppTime - 应用使用时长统计
一个简洁的 Android 应用,用于统计和可视化应用使用时长,支持图表展示和数据分享。
安装
链接: https://pan.baidu.com/s/1hjvHDnAHsCuQhaC5K1LMeQ 提取码:3kxq
截图
功能特性
📊 使用统计
实时统计所有应用的使用时长
支持查看今天和过去一周的统计数据
显示每个应用的图标、名称和详细使用时间
自动按使用时长排序
📈 图表可视化
使用饼图展示应用使用时长占比
显示前 10 个最常用应用
列表形式展示所有应用详情
美观的 Material Design 3 界面
📤 分享导出
自动生成精美的长截图
包含饼图和详细的应用列表
显示时间戳和应用信息
支持通过系统分享功能发送到其他应用
高清 PNG 格式输出
权限说明
应用只需要一个权限:
使用情况访问权限 (PACKAGE_USAGE_STATS)
用于获取应用使用统计数据
需要在系统设置中手动授权
使用方法
首次使用
安装应用
./gradlew installDebug
授予权限
打开应用
点击”Grant Permission”授予使用情况访问权限
在系统设置中允许应用访问使用统计数据
日常使用
查看统计
打开应用查看统计数据
切换”Today”和”Week”标签查看不同时间段
刷新数据
点击右上角刷新图标更新统计数据
分享数据
点击右上角分享图标
应用会自动生成包含图表和列表的长截图
选择目标应用分享图片
技术架构
项目结构
app/src/main/java/com/iosdevlog/apptime/
├── model/
│ └── AppUsageInfo.kt # 数据模型
├── service/
│ └── UsageStatsService.kt # 使用统计服务
├── viewmodel/
│ └── AppUsageViewModel.kt # ViewModel
├── utils/
│ └── ScreenshotGenerator.kt # 截图生成工具
├── ui/
│ ├── screens/
│ │ └── AppUsageScreen.kt # 主界面
│ └── theme/ # 主题配置
└── MainActivity.kt # 主活动
技术栈
- Jetpack Compose
-
现代化 UI 框架
- Material Design 3
-
最新设计规范
- UsageStatsManager
-
系统使用统计 API
- MPAndroidChart
-
图表库
- Kotlin Coroutines
-
异步处理
- ViewModel & StateFlow
-
状态管理
依赖库
Jetpack Compose BOM
Material 3
MPAndroidChart (图表)
Lifecycle Components
Kotlin Coroutines
构建说明
环境要求
| Android Studio Hedgehog | 2023.1.1 或更高版本 |
JDK 11 或更高版本
Android SDK 34
Gradle 8.0+
构建命令
构建 Debug 版本
./gradlew assembleDebug
构建 Release 版本
./gradlew assembleRelease
安装到设备
./gradlew installDebug
运行测试
./gradlew test
清理构建
./gradlew clean
注意事项
权限管理
使用情况访问权限需要在系统设置中手动授予
应用不会收集或上传任何个人数据
性能优化
应用使用统计 API 可能在某些设备上有延迟
建议定期刷新数据以获取最新统计
兼容性
最低支持 Android 7.0 (API 24)
目标版本 Android 14 (API 34)
后续优化建议
[ ] 添加数据持久化(Room 数据库)
[ ] 支持自定义时间范围查询
[ ] 添加应用分类统计
[ ] 支持设置使用时长提醒
[ ] 添加数据导出为 CSV/Excel
[x] 支持图表截图分享(已实现)
[ ] 添加深色模式主题
[ ] 支持多种图表类型(柱状图、折线图)
[ ] 优化长截图样式和排版
[ ] 支持自定义截图模板
许可证
MIT License
作者
Generated with Claude Code