从零开始的Android APP开发——心迹日记(InnerTrace-XinJiDiary)

突发奇想想要开发一款日记APP,用帮助用户多方面观察自己、记录自己、比昨天进步一点点。之前没有接触过Android开发,于是从零开始学起了,本篇为APP:心迹日记(InnerTrace-XinJiDiary)学习路程和开发日记。

项目地址心迹日记(InnerTrace-XinJiDiary

Day 1–2025.5.26

一、项目构思与需求分析

  1. 核心理念
    • 目标:通过日记记录帮助用户“记录自己,观察自己,发现自己,认识自己的需求,提升自己”。
    • 核心功能
      • 动态模板:学习、减肥、心情自愈等场景化记录模板。
      • 数据智能:自动卡路里计算、情绪分析书籍推荐。
      • 数据可视化:生成成长曲线与统计图表。
  2. 用户需求
    • 记录日常行为(学习时长、体重变化、情绪波动)。
    • 获得个性化反馈(如连续情绪低落时推荐心理学书籍)。
    • 多维度数据回顾(周/月/年趋势分析)。
  3. 详细功能构思
    • 在众多社交平台发现一件事情:大家各自有各自的烦恼,然而都是有烦恼但不自知,不知道自己为什么有这个烦恼,没有自己观察过自己都因为什么事情而烦恼,进而也没想过去搜一搜查一查改善一下烦恼。
    • 日记其实是个很好的东西,他是自我观察自我进步最简便的方式。
    • 心迹日记这个日记最主要的目的是观察自己从来没观察过的角度,认识每一天的自己,发现自己每一天的变化,提高对自己的认识。
    • 我将准备21天为一个周期的日记模板,例如:观察自己的心情、观察自己的全面发展、学习情况、减肥情况、身体状况、家庭宠物情况等等。
    • 模板初级为21天养成计划,21天后模版会变得不太一样,提供一些开放式栏目,配一些专业书籍,比如,减肥营养学、人际关系心理学。即:根据用户使用模板的频率提供能帮助到用户的书。
    • hi~你已经写了21天坏情绪日记啦~向你推荐一本书或许会对你有帮助,阅读一下书放松一下吧~

二、技术准备与学习

  1. 技术栈确认
    • 语言:Kotlin(Android 官方推荐)。
    • 架构:MVVM + Clean Architecture(分层解耦)。
    • 数据库:Room + SQLite(本地存储)。
    • 网络:Retrofit(未来集成卡路里 API)。
    • 界面:Jetpack Compose(现代声明式 UI)。
  2. 学习资源
    • 官方文档(Android Developers、Kotlin 指南)。
    • 开源项目参考(如 SimpleNote、Journey 日记类 App)。

三、项目管理与仓库搭建

  1. GitHub 仓库创建
    • 仓库名InnerTrace-XinJiDiary
    • 项目地址心迹日记(InnerTrace-XinJiDiary
    • 关键文件
      • README.md:项目介绍、技术栈、快速开始指南。
      • CONTRIBUTING.md:贡献规范(分支管理、代码风格)。
      • LICENSE:GPL3.0 开源协议。
  2. 分支策略
    • main:稳定版本分支(仅通过 Pull Request 合并)。
    • feat/*:功能开发分支(如 feat/setup-core-module)。

四、项目初始化与结构搭建

  1. 模块化架构设计
    • 核心模块
      • app:主应用入口(含启动页、导航)。
      • core:通用组件(主题、工具类、基础 UI)。
      • feature:功能模块(日记、统计、推荐)。
  2. 关键配置完成
    • Gradle 依赖管理:统一版本号(libs.versions.toml)。
    • settings.gradle:声明模块依赖关系。
    • .gitignore:排除 IDE 缓存、构建文件。
  3. 首次代码提交
    • 完成 core 模块基础代码(主题、工具类)。
    • 提交并推送至 feat/setup-core-module 分支。
4.1标准模块化 Android 项目结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
InnerTrace-XinJiDiary/    # 🌟根目录(项目名)
├── app/ # 🏠主模块(应用入口,必须存在)
│ ├── src/ # 主代码目录
│ │ ├── main/ # 正式环境代码
│ │ │ ├── java/ # Java/Kotlin 代码
│ │ │ ├── res/ # 资源文件(布局、图片、字符串等)
│ │ │ └── AndroidManifest.xml # 应用清单文件
│ ├── build.gradle # 🔧模块级配置(依赖、插件)
├── core/ # 📦基础模块(通用工具、主题、组件)
│ ├── src/main/ # 结构同 app 模块
│ └── build.gradle
├── feature/ # 🧩功能模块(按业务拆分,如日记、统计)
│ ├── diary/ # 日记功能模块
│ │ ├── src/main/
│ │ └── build.gradle
│ └── statistics/ # 数据统计模块
│ ├── src/main/
│ └── build.gradle
├── gradle/ # 🧰Gradle 包装器(确保构建一致性)
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── build.gradle # ⚙️项目级配置(全局依赖版本管理)
├── settings.gradle # 🔗模块依赖声明(必须!)
├── .gitignore # 🚫排除无需版本控制的文件
├── README.md # 📖项目说明文档
├── LICENSE # 📜开源协议
└── CONTRIBUTING.md # 👥贡献指南

五、问题解决与优化

  1. Git 操作问题
    • 修复分支跟踪错误(git branch --set-upstream-to)。
    • 解决推送后文件未显示问题(检查 .gitignore 与提交范围)。
  2. 项目结构调整
    • 清理冗余目录(.ideaExternal Libraries)。
    • 规范文件位置(LICENSEREADME.md 移至根目录)。

六、下一步开发计划

  1. 核心功能实现
    • 完成 feature/diary 模块的模板动态渲染。
    • 集成 Room 数据库(日记数据存储与查询)。
  2. 推荐系统开发
    • 实现情绪分析规则引擎(负面情绪占比 >70% 时触发推荐)。
  3. 测试与优化
    • 编写单元测试(卡路里计算逻辑、推荐规则)。
    • 优化 UI 动画与交互细节。
  4. 发布准备
    • 配置 GitHub Actions 自动化构建。
    • 准备 Google Play 上架材料(应用截图、描述文案)。

Day 2–2025.6.5

一、网页版Demo开发试用

地址:https://github.com/Morlvoid/XinJiDiary-WebDemo

Day 3–2025.6.11

一、网页版Demo部署

部署地址:

https://xin-ji-diary-web-demo.vercel.app/

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

You Found Me.

支付宝
微信