# 小米便签 (MiCode Notes) ## 项目简介 小米便签是一款轻量级的便签应用,提供便签创建、编辑、管理等功能,支持文件夹分类、便签提醒、桌面小部件等特性。本项目是小米便签的开源版本,采用现代Android开发技术栈,基于MVC架构模式设计。 ## 主要功能 - **便签管理**:创建、编辑、删除便签 - **文件夹分类**:支持创建文件夹对便签进行分类管理 - **便签提醒**:可设置便签提醒时间,到点提醒 - **桌面小部件**:支持2x2和4x4两种尺寸的桌面小部件 - **便签搜索**:快速查找便签内容 - **背景颜色**:支持设置便签背景颜色,便于分类识别 - **文本导出**:支持将便签导出为文本文件 - **Google Task同步**:支持与Google Task同步(当前版本已禁用) ## 系统架构 项目采用MVC架构模式,主要分为以下几个模块: ### 数据层 (Model) - **data包**:包含数据库相关类,如Notes、NotesDatabaseHelper和NotesProvider - **model包**:定义核心数据模型,如Note和WorkingNote类 ### 视图层 (View) - **ui包**:包含所有用户界面相关类,如NotesListActivity、NoteEditActivity等 - **widget包**:实现桌面小部件功能 ### 控制层 (Controller) - **tool包**:提供工具类,如BackupUtils、DataUtils等 - **gtask包**:负责与Google Task同步的功能 ## 技术特点 - 使用ContentProvider提供统一的数据访问接口 - 采用SQLite数据库存储便签数据 - 使用触发器(Trigger)维护数据一致性 - 实现AppWidget提供桌面小部件功能 - 采用异步任务处理数据同步 ## 环境要求 - Android Studio 3.0+ - Android SDK API 21+ - JDK 8+ ## 安装与使用 1. 克隆项目到本地: ``` git clone https://bdgit.educoder.net/pgjkpzfyq/MiCode-Notes.git ``` 2. 使用Android Studio打开项目 3. 构建并运行项目到模拟器或实际设备 ## 主要类说明 | 包 | 类 | 主要作用 | |---|---|---| | data | Notes | 便签数据库,用于记录便签相关属性和数据 | | data | NotesDatabaseHelper | 数据库帮助类,用于辅助创建、处理数据库的表目 | | data | NotesProvider | 便签信息提供类,提供便签数据的访问接口 | | model | Note | 便签模型类,表示便签的核心数据结构和操作方法 | | model | WorkingNote | 工作便签类,在UI层和数据层之间提供便捷的接口 | | ui | NotesListActivity | 便签列表界面,显示所有便签和文件夹 | | ui | NoteEditActivity | 便签编辑界面,用于创建和编辑便签 | | widget | NoteWidgetProvider | 桌面小部件提供者,管理便签小部件 | | tool | BackupUtils | 备份工具类,提供便签数据的导出和备份功能 | ## 项目目录结构 ``` app/src/main/ ├── java/net/micode/notes/ │ ├── data/ # 数据库相关类 │ ├── gtask/ # Google Task同步相关类 │ │ ├── data/ # 同步数据模型 │ │ ├── exception/ # 异常处理类 │ │ └── remote/ # 远程同步类 │ ├── model/ # 核心数据模型 │ ├── tool/ # 工具类 │ ├── ui/ # 用户界面类 │ └── widget/ # 桌面小部件类 └── res/ # 资源文件 ``` ## 开源协议 本项目遵循Apache License 2.0协议。