diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/data/Contact.java b/xiaomi-src/app/src/main/java/net/micode/notes/data/Contact.java index 45ad20d..12f9f8b 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/data/Contact.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/data/Contact.java @@ -14,6 +14,16 @@ import android.util.Log; import java.util.HashMap; +/** + * @Package: net.micode.notes.data + * @ClassName: Contact + * @Description: + * Contact类是一个用于获取联系人信息的工具类,包含有一个方法getContact,通过给定的电话号码来实现获取联系人信息的功能。 + * 并且使用缓存和错误日志记录功能来提高程序的稳定性和效率。 + * @Author: Xinqi Qin + * @CreateDate: 12/21/2024 18:31 PM + */ + public class Contact { // 缓存已查询过的电话号码和对应的联系人名称,以减少数据库查询次数。 private static HashMap sContactCache; @@ -27,12 +37,16 @@ public class Contact { + " FROM phone_lookup" + " WHERE min_match = '+')"; + /* + *声明了一个字符串常量CALLER_ID_SELECTION, + *其中使用了函数调用PHONE_NUMBERS_EQUAL用来匹配电话号码,同时还使用了条件语句限制数据类型为电话号码联系人ID. + */ + /** - * 根据电话号码获取联系人名称。 - * - * @param context 上下文对象,用于访问内容解析器。 - * @param phoneNumber 需要查询的电话号码。 - * @return 与电话号码相关联的联系人名称,如果找不到则返回null。 + * 该方法定义了一个getContact,通过给定的电话号码实现获取联系人信息的功能。 + * getContact中有2个输入参数分别是context和phoneNumber,其中前者是一个Context对象,提供了访问应用程序的信息和资源的环境;后者就是给定输入的电话号码 + * 有3种返回结果,其中返回sContactCache.get(phoneNumber)代表通过sContactCache这一个HashMap对象获取并且返回电话号码对应的联系人的名字 + * 返回 name则是直接返回联系人的名字;返回 null表示发生了IndexOutOfBoundsException异常; */ public static String getContact(Context context, String phoneNumber) { // 初始化或获取联系人缓存 @@ -57,7 +71,23 @@ public class Contact { new String[]{phoneNumber}, null); + /* + *context.getContentResolver()获取应用的内容解析器对象,然后调用query()方法进行查询, + *接受了Data.CONTENT_URI等参数,其中Data.CONTENT_URI表示联系人数据的URI; + *new String []{Phone.DISPLAY_NAME}表示联系人的显示名称; + *selection表示查询的条件; + *new String[] {phoneNumber}表示替换前的原始电话号码,也是查询的参数; + *null表示没有排序方式 + */ + + //如果查询结果不为空,将第一个结果的显示名称存储在缓存中,并返回该名称;否则,记录到错误日志并返回null。 if (cursor != null && cursor.moveToFirst()) { + /* + * 语句块功能:是尝试获取联系人的名称,并且存储在name变量中,再将电话号码和对应联系人名字放到sContactCache缓存中去 + * 如果获取失败,发生IndexOutOfBoundsException报错,那么把错误信息按照错误级别写进日志,有利于debug的进行。 + * 为什么:通过使用缓存和try-catch-finally语句块,可以确保在获取联系人姓名时不会因为异常而导致程序崩溃,并且在结束查询后及时释放资源,提高了程序的稳定性和效率。 + * 同时错误信息被写进日志文件,可以有助于开发人员调试和故障排除时找到问题所在。 + */ try { // 从查询结果中获取联系人名称并加入缓存 String name = cursor.getString(0); @@ -65,7 +95,7 @@ public class Contact { return name; } catch (IndexOutOfBoundsException e) { // 处理查询结果异常 - Log.e(TAG, " Cursor get string error " + e.toString()); + Log.e(TAG, " Cursor get string error " + e.toString());//调用Log.e()方法,把错误信息写到日志。 return null; } finally { // 关闭游标 diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/data/Notes.java b/xiaomi-src/app/src/main/java/net/micode/notes/data/Notes.java index 226763b..110feaa 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/data/Notes.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/data/Notes.java @@ -18,7 +18,19 @@ package net.micode.notes.data; import android.net.Uri; -// Notes类定义了与笔记和文件夹相关的常量和数据列接口 + +/** + * @Package: net.micode.notes.data + * @ClassName: Notes + * @Description: + * Notes类是一个笔记应用的数据类,用于定义笔记和文件夹的属性和操作。它包括一些常量定义、URI定义和接口定义,以及文本笔记和通话记录笔记的数据列定义。 + * 在这个类中,定义了一些常量用来标记; + * 还定义了一些 常量,用于传递数据。 + * 以及一些数据列的定义,包括笔记和文件夹的 ID、创建日期、修改日期、提醒日期、内容摘要、小部件 ID、小部件类型、背景颜色ID等。 + * 这个类的功能是定义了笔记应用中笔记和文件夹的数据结构,并提供了相关的常量、URI 和接口定义,以及文本笔记和通话记录笔记的数据列定义,方便应用程序对这些数据进行操作和管理。 + * @Author: Xinqi Qin + * @CreateDate: 12/22/2024 22:53 AM + */ public class Notes { public static final String AUTHORITY = "micode_notes"; // 用于标识内容提供者的授权名称 public static final String TAG = "Notes"; // 日志标签 @@ -48,7 +60,7 @@ public class Notes { public static final int TYPE_WIDGET_2X = 0; // 2x小部件类型 public static final int TYPE_WIDGET_4X = 1; // 4x小部件类型 - public static class DataConstants { + public static class DataConstants { //定义了一个静态内部类DataConstants,包含2个变量NOTE和CALL_NOTE,前者用于表示数据类型为文本笔记类型;后者用于表示数据类型为通话类型 public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; // 笔记的内容项类型 public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; // 通话记录的内容项类型 } @@ -63,8 +75,7 @@ public class Notes { */ public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); - // 笔记和文件夹的公共列接口 - public interface NoteColumns { + public interface NoteColumns {//定义了一个接口NoteColumns,其中包含一些用于表示数据库中笔记,文件夹各种属性的常量。 /** * 行的唯一ID *

类型: INTEGER (long)

@@ -237,8 +248,7 @@ public class Notes { public static final String DATA5 = "data5"; } - // 文本笔记类,实现了DataColumns接口 - public static final class TextNote implements DataColumns { + public static final class TextNote implements DataColumns {//定义了一个接口DataColumns,其中包含了一些用来表示笔记和文件及的数据列的常量 /** * 模式,指示文本是否在检查列表模式中 *

类型: INTEGER 1:检查列表模式 0: 正常模式

@@ -252,13 +262,12 @@ public class Notes { public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); // 内容URI定义 } - // 通话记录笔记类,实现了DataColumns接口 - public static final class CallNote implements DataColumns { + public static final class CallNote implements DataColumns {//CallNote是一个静态内部类,实现了接口DataColumns,定义了一些常量和方法来表示通话笔记的属性和操作 /** * 通话日期 *

类型: INTEGER (long)

*/ - public static final String CALL_DATE = DATA1; + public static final String CALL_DATE = DATA1;//表示通话笔记的通话日期 /** * 电话号码 diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java index 67ad506..0b09903 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -13,6 +13,16 @@ import net.micode.notes.data.Notes.DataColumns; import net.micode.notes.data.Notes.DataConstants; import net.micode.notes.data.Notes.NoteColumns; +/** + * @Package: net.micode.notes.data + * @ClassName: NotesDatabaseHelper + * @Description: + * NotesDatabaseHelper类是一个数据库辅助类,用于管理Notes应用的数据库。它继承自SQLiteOpenHelper类,并实现了数据库的创建和版本管理。 + *类当中包含了5大部分,分别是常量的定义,表结构的创建,触发器的创建,系统文件夹创建以及数据库表的创建 + *该类是整个小米便签软件中用于数据库管理的核心类。 + * @Author: Xinqi Qin + * @CreateDate: 12/22/2024 22:53 AM + */ public class NotesDatabaseHelper extends SQLiteOpenHelper { // 数据库名称 @@ -54,7 +64,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" + - ")"; + ")";//这是用于创建便签表的SQL语句,定义了便签表的结构,包含便签各种属性和字段,存储了用户创建的所有便签的信息。 // 创建DATA表的SQL语句 private static final String CREATE_DATA_TABLE_SQL = @@ -70,7 +80,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { DataColumns.DATA3 + " TEXT NOT NULL DEFAULT ''," + DataColumns.DATA4 + " TEXT NOT NULL DEFAULT ''," + DataColumns.DATA5 + " TEXT NOT NULL DEFAULT ''" + - ")"; + ")";//这是用于定义数据表结构的SQL语句,存储了与便签相关的数据信息,包括了各种附加数据,用来扩展便签功能。 // 创建DATA表的NOTE_ID索引的SQL语句 private static final String CREATE_DATA_NOTE_ID_INDEX_SQL = @@ -170,7 +180,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + " END"; - // 当NOTE移动到回收站文件夹时,将所有子NOTE也移动到回收站 + //将已经被移动到回收站文件夹的文件夹中的便签也一并移动到回收站文件夹 private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER = "CREATE TRIGGER folder_move_notes_on_trash " + " AFTER UPDATE ON " + TABLE.NOTE + diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesProvider.java b/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesProvider.java index c38d7b3..96ab82a 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesProvider.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/data/NotesProvider.java @@ -2,6 +2,16 @@ * 该类是Notes应用的内容提供者,负责管理Notes的数据,包括查询、插入、更新和删除操作。 * 它与数据库交互,将操作转换为对数据库的相应操作。 */ + +/** + * @Package: net.micode.notes.data + * @ClassName: NotesDatabaseHelper + * @Description: + * 该类是Notes应用的内容提供者,负责管理Notes的数据,包括查询、插入、更新和删除操作。 + * 它与数据库交互,将操作转换为对数据库的相应操作。该类继承自ContentProvider类,并实现了其抽象方法。 + * @Author: Xinqi Qin + * @CreateDate: 12/22/2024 22:53 AM + */ package net.micode.notes.data; import android.app.SearchManager; @@ -17,13 +27,13 @@ import android.text.TextUtils; import android.util.Log; import net.micode.notes.R; -import net.micode.notes.data.Notes.DataColumns; -import net.micode.notes.data.Notes.NoteColumns; -import net.micode.notes.data.NotesDatabaseHelper.TABLE; +import net.micode.notes.data.Notes.DataColumns;//定义了一些常量,表示数据库表的列名。 +import net.micode.notes.data.Notes.NoteColumns;//定义了一些常量,表示笔记表的列名。 +import net.micode.notes.data.NotesDatabaseHelper.TABLE;//定义了一个枚举类型,表示数据库表的名称。 -public class NotesProvider extends ContentProvider { - private static final UriMatcher mMatcher; +public class NotesProvider extends ContentProvider {//android中的ContentProvider类,用于提供数据给其他应用程序访问。 + private static final UriMatcher mMatcher;//UriMatcher是Android中的一个类,用于匹配URI。 private NotesDatabaseHelper mHelper; @@ -40,14 +50,17 @@ public class NotesProvider extends ContentProvider { // 初始化UriMatcher,用于匹配不同的URI请求 static { mMatcher = new UriMatcher(UriMatcher.NO_MATCH); + //创建一个UriMatcher对象mMatcher,初始值为UriMatcher.NO_MATCH,表示没有任何匹配规则。 mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE); + //第一个参数是authority(授权),第二个参数是路径,第三个参数是匹配的URI类型。 mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM); mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA); mMatcher.addURI(Notes.AUTHORITY, "data/#", URI_DATA_ITEM); mMatcher.addURI(Notes.AUTHORITY, "search", URI_SEARCH); mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY, URI_SEARCH_SUGGEST); mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", URI_SEARCH_SUGGEST); - } + }//根据不同的URI路径,确定应该调用哪个处理程序来处理请求 + //例如,当用户访问"http://example.com/note"时,mMatcher会匹配到第一个规则 /** * 在搜索结果中,为了显示更多信息,我们会去除标题和内容中的'\n'和空白字符。 @@ -60,7 +73,8 @@ public class NotesProvider extends ContentProvider { + "'" + Intent.ACTION_VIEW + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_ACTION + "," + "'" + Notes.TextNote.CONTENT_TYPE + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA; - // 用于搜索查询的SQL语句 + //是一个SQL查询语句,用于从数据库中检索与给定搜索条件匹配的笔记 + //用于搜索笔记的投影字段列表。这个投影字段列表可以用于构建SQL查询语句,以便在数据库中搜索和检索相关笔记。 private static String NOTES_SNIPPET_SEARCH_QUERY = "SELECT " + NOTES_SEARCH_PROJECTION + " FROM " + TABLE.NOTE + " WHERE " + NoteColumns.SNIPPET + " LIKE ?" @@ -92,10 +106,10 @@ public class NotesProvider extends ContentProvider { public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { Cursor c = null; - SQLiteDatabase db = mHelper.getReadableDatabase(); + SQLiteDatabase db = mHelper.getReadableDatabase();//获取可读数据库 String id = null; // 根据URI匹配查询类型 - switch (mMatcher.match(uri)) { + switch (mMatcher.match(uri)) {//匹配数据库中相应条目 case URI_NOTE: c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null, sortOrder); @@ -118,7 +132,7 @@ public class NotesProvider extends ContentProvider { case URI_SEARCH_SUGGEST: // 处理搜索建议的特殊逻辑 if (sortOrder != null || projection != null) { - throw new IllegalArgumentException( + throw new IllegalArgumentException(//异常情况 "do not specify sortOrder, selection, selectionArgs, or projection" + "with this query"); } @@ -189,7 +203,10 @@ public class NotesProvider extends ContentProvider { getContext().getContentResolver().notifyChange( ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null); } - + //它通过调用getContentResolver().notifyChange()方法来实现这个功能。 + //在这段代码中,首先检查noteId和dataId是否大于0,以确保它们是有效的ID。然后,使用ContentUris.withAppendedId()方法来构建对应的URI, + // 其中Notes.CONTENT_NOTE_URI和Notes.CONTENT_DATA_URI分别表示笔记和数据的URI。 + // 最后,调用getContext().getContentResolver().notifyChange()方法并传入构建好的URI,以通知系统该URI所对应的资源已经发生了变化。 return ContentUris.withAppendedId(uri, insertedId); } @@ -237,7 +254,7 @@ public class NotesProvider extends ContentProvider { default: throw new IllegalArgumentException("Unknown URI " + uri); } - // 通知URI改变 + // 通知URI改变,即系统相关数据已经发生变化,以便进行相应的更新或处理。 if (count > 0) { if (deleteData) { getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java index 7bbf671..9d619f1 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/MetaData.java @@ -1,5 +1,7 @@ /** * MetaData类,继承自Task类,用于处理与任务相关的元数据。 + * @Author: Xinqi Qin + * @CreateDate: 12/21/2024 18:31 PM */ package net.micode.notes.gtask.data; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/Node.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/Node.java index 171da32..46b102a 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/Node.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/Node.java @@ -1,6 +1,8 @@ /* * Node类定义了一个节点的基本属性和操作,用于数据同步时的表现和转换。 * 它是用于表示通用数据节点的抽象类,具体的数据操作和格式转换由其子类实现。 + * @Author: Xinqi Qin + * @CreateDate: 12/23/2024 10:31 PM */ package net.micode.notes.gtask.data; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java index 7381072..e3aa178 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/SqlData.java @@ -1,4 +1,5 @@ /* + * * SqlData 类用于操作和管理数据库中的数据项。 * 提供了从 JSON 对象设置内容,从数据库 Cursor 加载数据,以及提交数据更新到数据库的功能。 */ diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java index b2e5d38..5813f50 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/data/TaskList.java @@ -14,6 +14,14 @@ * limitations under the License. */ +/* +*@Classname:TaskList +* TaskList类定义了一个任务列表的基本属性和操作,用于数据同步时的表现和转换。 + *@Author: Xinqi Qin + *@CreateDate: 12/24/2024 18:31 PM + * + */ + package net.micode.notes.gtask.data; import android.database.Cursor; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java index 4921f05..7631874 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java @@ -5,6 +5,8 @@ * 这个类主要是为了处理任务或动作执行失败的情况,提供了一个通用的方式来报告和处理这类错误。 * * 许可证信息: 见类文件头部的版权声明 + * @Author: Xinqi Qin + * @CreateDate: 12/24/2024 9:31 PM */ package net.micode.notes.gtask.exception; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java index fc6d53f..52ba3cd 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java @@ -3,6 +3,8 @@ * * 该异常类用于表示网络操作失败的异常。它是 Exception 的子类,可用来捕获和处理应用程序中发生的网络错误。 * 可以通过不同的构造函数来创建包含详细信息或不包含详细信息的 NetworkFailureException 实例。 + * @Author: Xinqi Qin + * @CreateDate: 12/23/2024 9:31 PM */ package net.micode.notes.gtask.exception; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java index 9e6ccae..e6cc2ab 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java @@ -2,6 +2,8 @@ * GTaskASyncTask 类说明: * 这是一个继承自AsyncTask的类,用于在后台执行Google任务同步操作。它可以在一个独立的线程中执行同步任务,并通过通知栏通知用户同步的状态(成功、失败、取消等)。 * 同时,它提供了接口供调用者监听同步任务的完成。 + * @Author: Xinqi Qin + * @CreateDate: 12/24/2024 9:31 PM */ package net.micode.notes.gtask.remote; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/model/Note.java b/xiaomi-src/app/src/main/java/net/micode/notes/model/Note.java index 9734a4c..038850f 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/model/Note.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/model/Note.java @@ -14,6 +14,17 @@ * limitations under the License. */ + +/* +* +* @Classname: Note +* @Description: Note 类的注释 +* Note 类是一个表示笔记的类,它包含了笔记的基本信息和操作方法。它包括一个笔记的ID、标题、内容、创建日期、修改日期、类型、本地修改标记、父文件夹ID、数据URI和笔记数据对象。 +* 它还提供了一些方法来操作笔记,例如更新笔记、删除笔记、获取笔记的URI等。 +* 具体调用逻辑和接口见下 +* @Author: Xinqi Qin +* @CreateDate: 12/24/2024 12:31 PM +* */ package net.micode.notes.model; import android.content.ContentProviderOperation; diff --git a/xiaomi-src/app/src/main/java/net/micode/notes/model/WorkingNote.java b/xiaomi-src/app/src/main/java/net/micode/notes/model/WorkingNote.java index 6220068..b7076e3 100644 --- a/xiaomi-src/app/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/xiaomi-src/app/src/main/java/net/micode/notes/model/WorkingNote.java @@ -14,6 +14,14 @@ * limitations under the License. */ +/* +* +* @Classname: WorkingNote +* @Description: WorkingNote 类用于管理笔记的相关信息 +* 顾名思义,运行着的便签,即当前正在使用的便签 +* @Author: Xinqi Qin +* @CreateDate: 12/24/2024 12:31 PM +* */ package net.micode.notes.model; import android.appwidget.AppWidgetManager; @@ -31,7 +39,6 @@ import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.TextNote; import net.micode.notes.tool.ResourceParser.NoteBgResources; -// WorkingNote类用于管理笔记的相关信息 public class WorkingNote { // 笔记对象,包含笔记的详细信息 private Note mNote;