unknown 9 months ago committed by username
parent 9db6225f76
commit c41af0bbea

@ -1,133 +1,92 @@
# MiCode Notes - Modern Android Version
# 小米便签 (MiCode Notes)
## 📱 项目简介
## 项目简介
这是小米便签(MiCode Notes)的现代化版本已从原始的Eclipse ADT项目迁移到现代的Android Studio Gradle构建系统
小米便签是一款轻量级的便签应用提供便签创建、编辑、管理等功能支持文件夹分类、便签提醒、桌面小部件等特性。本项目是小米便签的开源版本采用现代Android开发技术栈基于MVC架构模式设计
## 🔄 迁移说明
## 主要功能
### 原始项目问题
- 使用Eclipse ADT项目结构
- 基于非常老的Android API (minSdkVersion 14)
- 缺少现代Android项目必需的构建配置
- 无法在最新版Android Studio中正常运行
- **便签管理**:创建、编辑、删除便签
- **文件夹分类**:支持创建文件夹对便签进行分类管理
- **便签提醒**:可设置便签提醒时间,到点提醒
- **桌面小部件**支持2x2和4x4两种尺寸的桌面小部件
- **便签搜索**:快速查找便签内容
- **背景颜色**:支持设置便签背景颜色,便于分类识别
- **文本导出**:支持将便签导出为文本文件
- **Google Task同步**支持与Google Task同步(当前版本已禁用)
### 迁移改进
- ✅ 转换为标准Gradle项目结构
- ✅ 更新到现代Android API (minSdk 21, targetSdk 34)
- ✅ 添加Material Design支持
- ✅ 修复已废弃的API调用
- ✅ 添加现代Android构建配置
- ✅ 支持AndroidX库
## 系统架构
## 🏗️ 项目结构
项目采用MVC架构模式主要分为以下几个模块
```
MiCode-Notes/
├── app/ # 主应用模块
│ ├── src/main/
│ │ ├── java/ # Java源代码
│ │ ├── res/ # 资源文件
│ │ └── AndroidManifest.xml # 应用清单
│ ├── build.gradle # 模块构建配置
│ └── proguard-rules.pro # ProGuard规则
├── gradle/ # Gradle Wrapper
├── build.gradle # 项目构建配置
├── settings.gradle # 项目设置
└── gradle.properties # Gradle属性
```
## 🛠️ 构建要求
- **Android Studio**: Arctic Fox (2020.3.1) 或更高版本
- **Gradle**: 8.2
- **Android Gradle Plugin**: 8.2.0
- **Java**: JDK 8 或更高版本
- **Android SDK**: API 34
## 🚀 快速开始
### 1. 克隆项目
```bash
git clone <repository-url>
cd Notes-master
```
### 2. 在Android Studio中打开
1. 启动Android Studio
2. 选择 "Open an existing Android Studio project"
3. 选择项目根目录
4. 等待Gradle同步完成
### 3. 构建项目
```bash
./gradlew build
```
### 4. 运行应用
```bash
./gradlew installDebug
```
## 📋 主要功能
- 📝 便签创建、编辑、删除
- 📁 文件夹管理和分类
- 🔍 便签搜索功能
- ⏰ 提醒功能
- 🔄 Google Task同步
- 🏠 桌面小部件 (2x2, 4x4)
- 📤 文本导出功能
- 🎨 多种背景颜色
### 数据层 (Model)
- **data包**包含数据库相关类如Notes、NotesDatabaseHelper和NotesProvider
- **model包**定义核心数据模型如Note和WorkingNote类
## 🔧 技术栈
### 视图层 (View)
- **ui包**包含所有用户界面相关类如NotesListActivity、NoteEditActivity等
- **widget包**:实现桌面小部件功能
- **语言**: Java
- **架构**: MVC
- **数据库**: SQLite
- **UI框架**: Material Design Components
- **同步**: Google Tasks API
- **构建工具**: Gradle
### 控制层 (Controller)
- **tool包**提供工具类如BackupUtils、DataUtils等
- **gtask包**负责与Google Task同步的功能
## 📱 兼容性
## 技术特点
- **最低支持**: Android 5.0 (API 21)
- **目标版本**: Android 14 (API 34)
- **架构支持**: ARM, ARM64, x86, x86_64
- 使用ContentProvider提供统一的数据访问接口
- 采用SQLite数据库存储便签数据
- 使用触发器(Trigger)维护数据一致性
- 实现AppWidget提供桌面小部件功能
- 采用异步任务处理数据同步
## 🐛 已知问题
## 环境要求
1. **Google同步功能暂时禁用** - 为了确保项目能正常编译运行暂时禁用了Google Tasks同步功能
2. 部分UI可能需要进一步适配Material Design
3. 某些老旧设备可能存在兼容性问题
- Android Studio 3.0+
- Android SDK API 21+
- JDK 8+
## ⚠️ 当前状态
## 安装与使用
- ✅ **核心功能正常** - 便签创建、编辑、删除、搜索等功能完全可用
- ✅ **现代化构建** - 使用最新的Gradle和Android构建工具
- ⚠️ **同步功能禁用** - Google Tasks同步功能暂时禁用可在后续版本中重新启用
- ✅ **桌面小部件** - 2x2和4x4桌面小部件功能正常
1. 克隆项目到本地:
```
git clone https://bdgit.educoder.net/pgjkpzfyq/MiCode-Notes.git
```
## 🤝 贡献指南
2. 使用Android Studio打开项目
1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
3. 构建并运行项目到模拟器或实际设备
## 📄 开源协议
## 主要类说明
本项目遵循 Apache License 2.0 协议。详见 [NOTICE](NOTICE) 文件。
| 包 | 类 | 主要作用 |
|---|---|---|
| data | Notes | 便签数据库,用于记录便签相关属性和数据 |
| data | NotesDatabaseHelper | 数据库帮助类,用于辅助创建、处理数据库的表目 |
| data | NotesProvider | 便签信息提供类,提供便签数据的访问接口 |
| model | Note | 便签模型类,表示便签的核心数据结构和操作方法 |
| model | WorkingNote | 工作便签类在UI层和数据层之间提供便捷的接口 |
| ui | NotesListActivity | 便签列表界面,显示所有便签和文件夹 |
| ui | NoteEditActivity | 便签编辑界面,用于创建和编辑便签 |
| widget | NoteWidgetProvider | 桌面小部件提供者,管理便签小部件 |
| tool | BackupUtils | 备份工具类,提供便签数据的导出和备份功能 |
## 🙏 致谢
## 项目目录结构
- 原始项目由 MIUI 团队发起
- 现由 MiCode 社区维护
- 感谢所有贡献者的努力
```
app/src/main/
├── java/net/micode/notes/
│ ├── data/ # 数据库相关类
│ ├── gtask/ # Google Task同步相关类
│ │ ├── data/ # 同步数据模型
│ │ ├── exception/ # 异常处理类
│ │ └── remote/ # 远程同步类
│ ├── model/ # 核心数据模型
│ ├── tool/ # 工具类
│ ├── ui/ # 用户界面类
│ └── widget/ # 桌面小部件类
└── res/ # 资源文件
```
## 📞 支持
## 开源协议
- **Bug反馈**: [GitHub Issues](https://github.com/MiCode/Notes/issues)
- **功能建议**: [MiCode论坛](http://micode.net/forum.php?mod=forumdisplay&fid=38)
- **文档**: 查看项目Wiki
本项目遵循Apache License 2.0协议。
Loading…
Cancel
Save