新增"日期记录器"工具:相册式记录管理,支持拍照→编辑→记录信息的完整流程。 数据层: - Room 2.8.4 首个数据库(KSP 2.3.10),DateRecord 实体含标题/备注/拍摄日期/关联日期 - DateRecordConverters 处理 kotlinx-datetime ↔ ISO 字符串 - DateRecorderRepository 封装 DAO + filesDir 照片文件管理 UI 层: - CameraScreen: CameraX 1.5.3 应用内预览,运行时权限请求,前后摄切换 - PhotoEditorScreen: 纯 Compose 自实现旋转/裁剪/手写三 Tab 编辑器 - DateRecorderScreen: LazyVerticalGrid 相册网格 + 多选 + 6 种排序 + 批量删除 - RecordEditScreen / RecordDetailScreen: 记录信息编辑与详情查看 基础设施: - CAMERA 权限 + FileProvider(filesDir 存储,免存储权限) - 5 个 Activity 延续项目 Activity+Intent 滑动转场模式 - 2 个单测:排序逻辑 6 种组合 + 降采样计算
YaYa
纯 Android + Jetpack Compose 日历应用,支持农历/节气/节日、个人班次排期,提供月/周/年三种视图。
特性
- 流畅的视图切换 —— 月视图、周视图、年视图三种模式,拖拽手势驱动月↔周折叠,弹簧动画自动吸附
- 无限滑动分页 —— 基于
Int.MAX_VALUE的虚拟分页,前后无边界翻页 - 完整中式日历 —— 公历 + 农历 + 二十四节气 + 传统节日,ISO 8601 周起始(周一)
- 个人排班周期 —— 自定义工作/休息循环,与公共节假日独立
- Material 3 设计 —— 动态配色,深色模式
技术栈
- Kotlin 2.3 · Jetpack Compose · Material 3
kotlinx-datetime处理所有日期逻辑tyme4kt提供农历、节气与传统节日sketch渲染动画 WebP- 三模块:
:core(UI + 逻辑) ·:app(薄壳) ·:macrobenchmark(Baseline Profile / Startup Profile 生成)
构建
# Debug
./gradlew :app:assembleDebug # 构建 debug APK
./gradlew :app:installDebug # 安装 debug APK 到设备
# Release
./gradlew :app:assembleRelease # 构建 release APK
./gradlew :app:installBenchmark # 安装 benchmark(release + 可调试)APK
# 测试
./gradlew :core:testDebugUnitTest # 运行全部测试
./gradlew :core:testDebugUnitTest --tests "plus.rua.project.ui.CalendarUtilsTest" # 运行单个测试
# Baseline Profile / Startup Profile(需要连接设备)
./gradlew :macrobenchmark:updateBaselineProfile # 生成并复制两份 Profile 到 :core
./gradlew :macrobenchmark:connectedBenchmarkAndroidTest # 仅运行基准测试
# 性能 Profiling(需要连接设备)
./scripts/profile.sh # 默认 8 秒
./scripts/profile.sh 15 # 自定义时长
构建产物位于 app/build/outputs/apk/<variant>/ 目录。
线条小狗表情包来自 https://www.douban.com/group/topic/264788645/?_i=9181692phrDzjR,9241256phrDzjR
Description
Languages
Kotlin
89.1%
Shell
8.6%
PowerShell
1.8%
Python
0.5%