Mood Log & Introspection Diary — 个人日常情绪追踪应用
- 📅 日历入口 — 以月历为首页,点击任意日期进入当日独白记录
- 💬 独白式记录 — 像发消息一样写下此刻的情绪与想法,每条记录自动携带时间戳;无对话、无回复、无评判
- 🏷️ 情绪标签 — 轻触选择当前情绪标签(可选,允许纯粹的文字表达)
- 📝 草稿箱 — 输入自动保存,按日期隔离,7 天有效;恢复时提示「上次写的内容还在」
- 📊 回顾页 — 周流视图 / 词汇视图(本地 Trie 分词)/ 活跃度视图,只重组事实,不分析、不归因、不给建议
- 🔒 完全离线 — 不申请任何网络权限,所有数据仅存本地(Room/SQLite),卸载即焚
- 🎨 巨构视觉 — 沉浸式深色基底 + 五套主题色调(暗金/朱砂/黛蓝/石绿/紫檀)+ 深浅双模式
- 🔐 数据迁移 — 加密导出(AES-256-GCM + PBKDF2)与导入,支持 CSV/JSON/TXT 明文导出
- 📱 多端适配 — 中轴(手机竖屏)/ 长卷(横屏·小平板)/ 殿宇(大平板·折叠屏)三套布局模板
| 层 | 技术 |
|---|---|
| 平台 | Android(API 26+) |
| 语言 | Kotlin |
| UI | Jetpack Compose(Material 3) |
| 架构 | MVVM + 单向数据流 |
| 本地存储 | Room(SQLite)+ DataStore |
| 文件导出 | SAF(Storage Access Framework) |
| 加密 | AES-256-GCM + PBKDF2 |
| 图表 | Compose 自定义绘制 |
| 分词 | 本地 Trie 树(词汇视图) |
# 前置:Android SDK(API 34)、JDK 17
cd project
# Release 构建(R8 混淆 + 资源收缩)
gradlew.bat assembleRelease
# 产物
# app/build/outputs/apk/release/MLID_V{版本}.apk或双击运行 project/build.bat:读取版本号 → 构建 → 自动归档到 APKs/v{版本}/。
- 从 Releases 下载 APK 并安装
- 首次启动进入引导页(三屏)
- 首页日历点击任意日期 → 输入内容 → 发送
| 表 | 说明 |
|---|---|
journal_entry |
记录:date / timestamp_utc / mood_label_id / content(≤1000 字)/ created_at / updated_at |
mood_label |
情绪标签:name / color / score(兼容保留)/ sort_order |
draft |
草稿:按日期唯一,7 天清理 |
db_meta |
元数据:key/value(迁移密码错误次数、主题选择等) |
- 不申请任何网络权限,数据完全离线
allowBackup=false,禁用系统备份- 加密迁移密码不落盘(仅存错误次数到 db_meta)
- Noto Serif SC — 衬线字体