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

小米便签 (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
  1. 使用Android Studio打开项目

  2. 构建并运行项目到模拟器或实际设备

主要类说明

主要作用
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协议。