From f4ebb60e75871e7ddbca294a4d0de72d0c52a6b0 Mon Sep 17 00:00:00 2001 From: ljianxin <420308873@qq.com> Date: Thu, 12 Jun 2025 20:57:14 +0800 Subject: [PATCH] third commit --- README.md | 262 +++++++++++++++++++++++++++--------------------------- 1 file changed, 129 insertions(+), 133 deletions(-) diff --git a/README.md b/README.md index c8fcaaa..63c433a 100644 --- a/README.md +++ b/README.md @@ -1,133 +1,129 @@ -# MiCode Notes - Modern Android Version - -## 📱 项目简介 - -这是小米便签(MiCode Notes)的现代化版本,已从原始的Eclipse ADT项目迁移到现代的Android Studio Gradle构建系统。 - -## 🔄 迁移说明 - -### 原始项目问题 -- 使用Eclipse ADT项目结构 -- 基于非常老的Android API (minSdkVersion 14) -- 缺少现代Android项目必需的构建配置 -- 无法在最新版Android Studio中正常运行 - -### 迁移改进 -- ✅ 转换为标准Gradle项目结构 -- ✅ 更新到现代Android API (minSdk 21, targetSdk 34) -- ✅ 添加Material Design支持 -- ✅ 修复已废弃的API调用 -- ✅ 添加现代Android构建配置 -- ✅ 支持AndroidX库 - -## 🏗️ 项目结构 - -``` -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 -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) -- 📤 文本导出功能 -- 🎨 多种背景颜色 - -## 🔧 技术栈 - -- **语言**: Java -- **架构**: MVC -- **数据库**: SQLite -- **UI框架**: Material Design Components -- **同步**: Google Tasks API -- **构建工具**: Gradle - -## 📱 兼容性 - -- **最低支持**: Android 5.0 (API 21) -- **目标版本**: Android 14 (API 34) -- **架构支持**: ARM, ARM64, x86, x86_64 - -## 🐛 已知问题 - -1. **Google同步功能暂时禁用** - 为了确保项目能正常编译运行,暂时禁用了Google Tasks同步功能 -2. 部分UI可能需要进一步适配Material Design -3. 某些老旧设备可能存在兼容性问题 - -## ⚠️ 当前状态 - -- ✅ **核心功能正常** - 便签创建、编辑、删除、搜索等功能完全可用 -- ✅ **现代化构建** - 使用最新的Gradle和Android构建工具 -- ⚠️ **同步功能禁用** - Google Tasks同步功能暂时禁用,可在后续版本中重新启用 -- ✅ **桌面小部件** - 2x2和4x4桌面小部件功能正常 - -## 🤝 贡献指南 - -1. Fork 项目 -2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) -3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) -4. 推送到分支 (`git push origin feature/AmazingFeature`) -5. 创建 Pull Request - -## 📄 开源协议 - -本项目遵循 Apache License 2.0 协议。详见 [NOTICE](NOTICE) 文件。 - -## 🙏 致谢 - -- 原始项目由 MIUI 团队发起 -- 现由 MiCode 社区维护 -- 感谢所有贡献者的努力 - -## 📞 支持 - -- **Bug反馈**: [GitHub Issues](https://github.com/MiCode/Notes/issues) -- **功能建议**: [MiCode论坛](http://micode.net/forum.php?mod=forumdisplay&fid=38) -- **文档**: 查看项目Wiki +# 小米便签应用 + +## 项目概述 + +小米便签是一款功能丰富的笔记应用,支持创建、编辑、分类和同步笔记。本应用提供了直观的用户界面,让用户可以轻松管理日常记事、待办事项和重要信息。 + +## 主要功能 + +- **笔记管理**:创建、编辑、删除和查看笔记 +- **文件夹组织**:将笔记分类到不同文件夹 +- **提醒功能**:为笔记设置时间提醒 +- **通话记录**:支持通话记录笔记 +- **背景颜色**:自定义笔记背景颜色 +- **Google账号同步**:支持与Google任务同步 +- **小部件支持**:桌面小部件快速访问笔记 + +## 项目结构 + +项目采用MVC架构,主要分为以下几个部分: + +### 数据层 (Model) + +- **数据结构**:`Notes.java` 定义了应用的数据结构、URI和列名 +- **数据库**:`NotesDatabaseHelper.java` 负责创建和升级数据库 +- **内容提供者**:`NotesProvider.java` 处理笔记数据的CRUD操作 +- **联系人管理**:`Contact.java` 处理电话号码与联系人的映射 + +### 模型层 (Model) + +- **笔记模型**:`Note.java` 管理笔记数据的操作 +- **工作笔记**:`WorkingNote.java` 管理当前编辑的笔记 + +### 工具类 (Utilities) + +- **资源解析器**:`ResourceParser.java` 管理背景颜色、字体大小等资源 +- **字符串工具**:`GTaskStringUtils.java` 定义同步相关常量 +- **数据工具**:`DataUtils.java` 提供笔记数据的批量操作方法 +- **备份工具**:`BackupUtils.java` 将笔记导出到SD卡 + +### 用户界面层 (View/Controller) + +- **笔记列表**:`NotesListActivity.java` 显示笔记列表和文件夹列表 +- **笔记编辑**:`NoteEditActivity.java` 处理笔记的编辑、保存、删除等操作 +- **提醒功能**: + - `AlarmAlertActivity.java` 显示提醒对话框并播放提醒音效 + - `AlarmInitReceiver.java` 重新设置笔记的提醒闹钟 + - `AlarmReceiver.java` 接收闹钟触发的广播并启动提醒活动 +- **日期时间选择**: + - `DateTimePicker.java` 日期时间选择器控件 + - `DateTimePickerDialog.java` 日期时间选择对话框 +- **列表适配器**: + - `NotesListAdapter.java` 笔记列表适配器 + - `NotesListItem.java` 笔记列表项视图 + - `FoldersListAdapter.java` 文件夹列表适配器 +- **自定义控件**: + - `NoteEditText.java` 自定义编辑框,支持特殊按键处理和链接识别 + - `DropdownMenu.java` 下拉菜单控件 +- **设置界面**:`NotesPreferenceActivity.java` 管理应用设置,包括账号同步和背景颜色 + +## 功能详解 + +### 笔记管理 + +应用支持创建普通笔记和待办事项清单。用户可以编辑笔记内容,设置背景颜色,并将笔记分类到不同文件夹。笔记列表按修改时间排序,方便用户查找最近编辑的内容。 + +### 提醒功能 + +用户可以为重要笔记设置时间提醒。当提醒时间到达时,应用会显示提醒对话框并播放提醒音效,确保用户不会错过重要事项。 + +### Google账号同步 + +应用支持与Google任务同步,用户可以在设置中选择Google账号进行同步。同步功能确保用户的笔记可以在多个设备上访问和编辑。 + +### 小部件支持 + +应用提供桌面小部件,让用户可以直接从桌面查看和访问笔记,无需打开应用。 + +## 使用方法 + +### 创建笔记 + +1. 在笔记列表界面点击"+"按钮 +2. 输入笔记内容 +3. 点击返回按钮自动保存 + +### 编辑笔记 + +1. 在笔记列表中点击要编辑的笔记 +2. 修改笔记内容 +3. 点击返回按钮自动保存 + +### 设置提醒 + +1. 在编辑笔记界面点击菜单按钮 +2. 选择"提醒"选项 +3. 设置提醒日期和时间 +4. 点击"确定"保存提醒 + +### 分类笔记 + +1. 在编辑笔记界面点击菜单按钮 +2. 选择"移动到文件夹"选项 +3. 选择目标文件夹或创建新文件夹 + +### 同步笔记 + +1. 进入设置界面 +2. 在"账号"部分选择Google账号 +3. 点击"立即同步"按钮开始同步 + +## 技术特点 + +- 使用ContentProvider管理数据,支持跨应用数据访问 +- 采用BroadcastReceiver处理系统事件和提醒 +- 实现自定义视图控件,提升用户体验 +- 优化数据库操作,提高应用性能 +- 支持多种笔记格式和样式 + +## 系统要求 + +- Android 4.0 (API级别14)或更高版本 +- 至少10MB可用存储空间 +- 可选:Google账号(用于同步功能) + +## 开发环境 + +- Android Studio +- Java开发工具包 (JDK) +- Android SDK \ No newline at end of file