一个美观、实用的 Android 心情记录应用,帮助你追踪和分析每天的情绪变化。
- 📝 心情记录 - 记录每天的情绪状态(5 种情绪等级)
- 🎯 因素标记 - 标记影响心情的因素(工作、睡眠、健康等)
- 📖 日记笔记 - 添加文字记录详细的心情描述
- 📊 数据统计 - 查看心情趋势、分布和连续记录天数
- 📜 历史记录 - 浏览所有历史心情记录
- 🔐 用户注册/登录 - 完整的账号系统
- 👤 多用户支持 - 每个用户的数据完全隔离
- 🔒 密码加密 - SHA-256 加密保护用户密码
- 💾 自动登录 - 记住登录状态,重启应用无需重新登录
- 🚪 安全登出 - 随时退出账号
- 💾 本地存储 - 使用 Room 数据库持久化存储
- 🔄 实时同步 - UI 自动更新最新数据
- 🗑️ 数据清除 - 可以清除所有记录
- 🌙 深色主题 - 护眼舒适的深色界面
- ✨ 现代化 UI - Material Design 3 设计语言
- 💎 流畅动画 - 丝滑的交互体验
- 📱 响应式布局 - 适配不同屏幕尺寸
- Kotlin - 主要编程语言
- Jetpack Compose - 声明式 UI 框架
- Material Design 3 - UI 设计系统
- MVVM 架构 - 清晰的代码结构
- ViewModel - UI 状态管理
- StateFlow - 响应式数据流
- Coroutines - 异步操作
- Room Database - SQLite 数据库抽象层
- SharedPreferences - 轻量级键值存储
- Gson - JSON 序列化
app/src/main/java/com/example/moodjournal/
├── auth/ # 认证相关页面
│ ├── WelcomeScreen.kt # 欢迎页面
│ ├── LoginScreen.kt # 登录页面
│ └── RegisterScreen.kt # 注册页面
├── data/ # 数据层
│ ├── User.kt # 用户实体
│ ├── UserDao.kt # 用户数据访问
│ ├── MoodEntry.kt # 心情记录实体
│ ├── MoodEntryDao.kt # 心情数据访问
│ ├── MoodDatabase.kt # 数据库配置
│ ├── AuthRepository.kt # 认证仓库
│ └── MoodRepository.kt # 心情数据仓库
├── viewmodel/ # 视图模型层
│ ├── AuthViewModel.kt # 认证状态管理
│ └── MoodViewModel.kt # 心情数据管理
├── utils/ # 工具类
│ └── PasswordUtils.kt # 密码加密工具
├── ui/theme/ # UI 主题
├── MainActivity.kt # 主活动
├── MoodJournalScreen.kt # 记录心情页面
├── DashboardScreen.kt # 主页面
├── HistoryScreen.kt # 历史记录页面
├── StatsScreen.kt # 统计页面
├── SettingsScreen.kt # 设置页面
└── LogSuccessScreen.kt # 成功提示页面
- Android Studio Hedgehog | 2023.1.1 或更高版本
- Android SDK 24 或更高版本
- Kotlin 2.0+
-
克隆仓库
git clone [email protected]:ctfy66/MoodJournal.git cd MoodJournal
-
打开项目
- 使用 Android Studio 打开项目
- 等待 Gradle 同步完成
-
运行应用
- 连接 Android 设备或启动模拟器
- 点击 Run 按钮 (
▶️ )
- 欢迎页面 - 应用启动界面
- 登录页面 - 用户登录
- 注册页面 - 新用户注册
- 主页面 - 展示最近记录和统计卡片
- 记录心情 - 选择情绪、因素和写笔记
- 历史记录 - 查看所有历史记录
- 统计分析 - 查看心情趋势和分析
- 设置页面 - 账户管理和数据清除
- ✅ 密码使用 SHA-256 哈希加密
- ✅ 不存储明文密码
- ✅ 私有模式 SharedPreferences
- ✅ SQL 注入防护(Room 自动处理)
- ✅ 完整的输入验证
- 使用 BCrypt 或 Argon2 替代 SHA-256
- 添加密码盐值(salt)
- 实现会话过期机制
- 添加双因素认证
- ✅ 完整的用户认证系统
- ✅ 心情记录功能
- ✅ 历史记录查看
- ✅ 数据统计分析
- ✅ 多用户数据隔离
- ✅ 本地数据持久化
- 密码找回功能
- 用户头像上传
- 数据导出功能
- 备份到云端
- 生物识别登录
- 密码强度增强(BCrypt)
- 心情提醒通知
- 更多统计图表
- 心情日历视图
- 标签和分类系统
- 第三方登录(Google、微信)
- 多设备同步
欢迎贡献代码、报告问题或提出建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
ctfy66
- GitHub: @ctfy66
- Material Design 3 - UI 设计指南
- Jetpack Compose - UI 框架
- Room - 数据库解决方案
如有问题或建议,请:
- 提交 Issue
- 发起 Discussion
⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!
💙 用心记录,感受生活