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.
unknown f4c190c81f
first commit
9 months ago
.gradle first commit 9 months ago
.idea first commit 9 months ago
app first commit 9 months ago
build/reports/problems first commit 9 months ago
gradle/wrapper first commit 9 months ago
.gitignore first commit 9 months ago
ANDROID_STUDIO_SETUP.md first commit 9 months ago
NOTICE first commit 9 months ago
README.md first commit 9 months ago
build.gradle first commit 9 months ago
gradle.properties first commit 9 months ago
gradlew first commit 9 months ago
gradlew.bat first commit 9 months ago
local.properties first commit 9 months ago
settings.gradle first commit 9 months ago

README.md

小米便签 (MiCode Notes)

项目简介

小米便签是一款轻量级的便签应用提供便签创建、编辑、管理等功能支持文件夹分类、便签提醒、桌面小部件等特性。本项目是小米便签的开源版本采用现代Android开发技术栈基于MVC架构模式设计。

主要功能

  • 便签管理:创建、编辑、删除便签
  • 文件夹分类:支持创建文件夹对便签进行分类管理
  • 便签提醒:可设置便签提醒时间,到点提醒
  • 桌面小部件支持2x2和4x4两种尺寸的桌面小部件
  • 便签搜索:快速查找便签内容
  • 背景颜色:支持设置便签背景颜色,便于分类识别
  • 文本导出:支持将便签导出为文本文件
  • Google Task同步支持与Google Task同步(当前版本已禁用)
  • 🆕 Markdown导出支持将便签导出为Markdown格式
  • 🆕 深色模式:完整的深色主题支持,自动适配系统设置
  • 🆕 标签管理:为便签添加标签,支持按标签筛选和管理

新功能详细说明

1. Markdown导出功能

  • 在便签列表菜单中选择"Export markdown"
  • 自动将所有便签转换为标准Markdown格式
  • 保持文件夹结构和便签层次关系
  • 支持通话记录便签的特殊格式化
  • 导出文件保存在 /MIUI/notes/ 目录下

2. 深色模式支持

  • 自动跟随系统深色模式设置
  • 完整的深色主题配色方案
  • 优化的文字对比度和可读性
  • 所有界面元素都支持深色模式

3. 标签管理系统

  • 创建标签:在便签列表菜单中选择"Tag Manager"创建新标签
  • 编辑标签:点击标签可编辑名称,长按可删除
  • 为便签添加标签:在便签编辑界面菜单中选择"Add Tag"
  • 标签筛选:便签列表顶部显示标签筛选栏,点击标签按钮筛选便签
  • 移除标签:在便签编辑界面菜单中选择"Remove Tag"移除所有标签

标签筛选选项

  • All Notes:显示所有便签
  • Untagged:显示未添加标签的便签
  • 特定标签:显示包含该标签的便签

系统架构

项目采用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 便签编辑界面,用于创建和编辑便签
ui TagManagerActivity 标签管理界面,用于创建、编辑和删除标签
ui TagFilterManager 标签筛选管理器,处理便签列表的标签筛选功能
model Tag 标签数据模型类,表示标签的核心数据结构和操作方法
widget NoteWidgetProvider 桌面小部件提供者,管理便签小部件
tool BackupUtils 备份工具类提供便签数据的导出和备份功能包含Markdown导出

项目目录结构

app/src/main/
├── java/net/micode/notes/
│   ├── data/           # 数据库相关类
│   ├── gtask/          # Google Task同步相关类
│   │   ├── data/       # 同步数据模型
│   │   ├── exception/  # 异常处理类
│   │   └── remote/     # 远程同步类
│   ├── model/          # 核心数据模型
│   ├── tool/           # 工具类
│   ├── ui/             # 用户界面类
│   └── widget/         # 桌面小部件类
└── res/                # 资源文件

开源协议

本项目遵循Apache License 2.0协议。