You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.4 KiB
3.4 KiB
小米便签 (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+
安装与使用
- 克隆项目到本地:
git clone https://bdgit.educoder.net/pgjkpzfyq/MiCode-Notes.git
-
使用Android Studio打开项目
-
构建并运行项目到模拟器或实际设备
主要类说明
| 包 | 类 | 主要作用 |
|---|---|---|
| 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协议。