项目名称:tinynote
项目描述: 本项目是一款基于 Android 原生开发的轻量级记事应用,旨在为用户提供高效的文本记录、分类管理及多媒体附件功能。
核心技术栈: Kotlin、MVVM 架构、Room 数据库、Kotlin Coroutines & Flow、Jetpack 组件 (ViewModel, LiveData)、Material Design 3。
个人职责与核心实现:
架构设计: 采用 MVVM 架构模式,结合 Repository 模式管理本地数据源,确保了 UI 逻辑与业务逻辑的解耦,提升了应用的响应速度。
数据持久化: 使用 Room 数据库 实现笔记的 CRUD(增删改查)操作。通过编写复杂的 SQL 查询实现关键词搜索和标签分类,并利用 Paging 库 加载海量笔记列表,避免内存溢出。
异步数据流: 深度集成 Kotlin Coroutines (协程) 处理数据库读写任务,配合 Flow 实现 UI 的实时响应,当底层数据库发生变化时,界面会自动刷新(响应式 UI)。
富文本处理: 实现了富文本编辑功能,支持插入图片、列表和简单的 Markdown 格式。针对图片存储,优化了 Bitmap 的二次采样加载,解决了长图导致的 OOM(内存溢出)问题。