Type: INTEGER (long)
*/ + // 行的唯一ID public static final String ID = "_id"; /** * The parent's id for note or folder *Type: INTEGER (long)
*/ + // 笔记或文件夹的父ID public static final String PARENT_ID = "parent_id"; /** * Created data for note or folder *Type: INTEGER (long)
*/ + // 创建日期 public static final String CREATED_DATE = "created_date"; /** * Latest modified date *Type: INTEGER (long)
*/ + // 最后修改日期 public static final String MODIFIED_DATE = "modified_date"; @@ -91,30 +111,35 @@ public class Notes { * Alert date *Type: INTEGER (long)
*/ + // 提醒日期 public static final String ALERTED_DATE = "alert_date"; /** * Folder's name or text content of note *Type: TEXT
*/ + // 文件夹名称或笔记的文本内容 public static final String SNIPPET = "snippet"; /** * Note's widget id *Type: INTEGER (long)
*/ + // 笔记的小部件ID public static final String WIDGET_ID = "widget_id"; /** * Note's widget type *Type: INTEGER (long)
*/ + // 笔记的小部件类型 public static final String WIDGET_TYPE = "widget_type"; /** * Note's background color's id *Type: INTEGER (long)
*/ + // 笔记的背景颜色ID public static final String BG_COLOR_ID = "bg_color_id"; /** @@ -122,86 +147,102 @@ public class Notes { * note, it has at least one attachment *Type: INTEGER
*/ + // 笔记是否有附件 public static final String HAS_ATTACHMENT = "has_attachment"; /** * Folder's count of notes *Type: INTEGER (long)
*/ + // 文件夹中的笔记数量 public static final String NOTES_COUNT = "notes_count"; /** * The file type: folder or note *Type: INTEGER
*/ + // 文件类型:文件夹或笔记 public static final String TYPE = "type"; /** * The last sync id *Type: INTEGER (long)
*/ + // 最后同步ID public static final String SYNC_ID = "sync_id"; /** * Sign to indicate local modified or not *Type: INTEGER
*/ + // 本地修改标志 public static final String LOCAL_MODIFIED = "local_modified"; /** * Original parent id before moving into temporary folder *Type : INTEGER
*/ + // 移动到临时文件夹之前的原始父ID public static final String ORIGIN_PARENT_ID = "origin_parent_id"; /** * The gtask id *Type : TEXT
*/ + // Gtask ID public static final String GTASK_ID = "gtask_id"; /** * The version code *Type : INTEGER (long)
*/ + // 版本号 public static final String VERSION = "version"; - } + }//这些常量主要是定义便签的属性的 + // 数据列的接口 + // 定义DataColumns的常量,用于后面创建数据库的表头 public interface DataColumns { /** * The unique ID for a row *Type: INTEGER (long)
*/ + // 行的唯一ID public static final String ID = "_id"; /** * The MIME type of the item represented by this row. *Type: Text
*/ + // 该行所代表项的MIME类型 public static final String MIME_TYPE = "mime_type"; /** * The reference id to note that this data belongs to *Type: INTEGER (long)
*/ + // 该数据所属笔记的引用ID public static final String NOTE_ID = "note_id"; /** * Created data for note or folder *Type: INTEGER (long)
*/ + // 创建日期 public static final String CREATED_DATE = "created_date"; /** * Latest modified date *Type: INTEGER (long)
*/ + // 最后修改日期 public static final String MODIFIED_DATE = "modified_date"; /** * Data's content *Type: TEXT
*/ + // 数据内容 public static final String CONTENT = "content"; @@ -210,6 +251,7 @@ public class Notes { * integer data type *Type: INTEGER
*/ + // 通用数据列,意义由MIME类型决定,用于整型数据类型 public static final String DATA1 = "data1"; /** @@ -217,6 +259,7 @@ public class Notes { * integer data type *Type: INTEGER
*/ + // 通用数据列,意义由MIME类型决定,用于整型数据类型 public static final String DATA2 = "data2"; /** @@ -224,6 +267,7 @@ public class Notes { * TEXT data type *Type: TEXT
*/ + // 通用数据列,意义由MIME类型决定,用于整型数据类型 public static final String DATA3 = "data3"; /** @@ -231,6 +275,7 @@ public class Notes { * TEXT data type *Type: TEXT
*/ + // 通用数据列,意义由MIME类型决定,用于整型数据类型 public static final String DATA4 = "data4"; /** @@ -238,14 +283,18 @@ public class Notes { * TEXT data type *Type: TEXT
*/ + // 通用数据列,意义由MIME类型决定,用于整型数据类型 public static final String DATA5 = "data5"; } + // 文本笔记的数据列 + //主要是定义存储便签内容数据的 public static final class TextNote implements DataColumns { /** * Mode to indicate the text in check list mode or not *Type: Integer 1:check list mode 0: normal mode
*/ + // 表示文本为检查列表模式或非检查列表模式的模式 public static final String MODE = DATA1; public static final int MODE_CHECK_LIST = 1; @@ -255,19 +304,22 @@ public class Notes { public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note"; public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); - } + }//文本内容的数据结构 + // 通话笔记的数据列 public static final class CallNote implements DataColumns { /** * Call date for this record *Type: INTEGER (long)
*/ + // 记录的通话日期 public static final String CALL_DATE = DATA1; /** * Phone number for this record *Type: TEXT
*/ + // 记录的电话号码 public static final String PHONE_NUMBER = DATA3; public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; @@ -275,5 +327,13 @@ public class Notes { public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note"; public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note"); - } + }//电话内容的数据结构 } +/* +在这段Java代码中,我们有一个名为 Notes 的类,它包含了一些常量和内部类,用于定义笔记应用中的各种数据列、MIME类型和URI。以下是对代码中各部分的注释: + +定义了一系列常量,包括权限、日志标签、笔记类型、系统文件夹的标识符等。 +定义了 NoteColumns 和 DataColumns 接口,用于表示笔记和数据的列。 +定义了 TextNote 和 CallNote 内部类,用于表示文本笔记和通话笔记的数据列,并包含了相应的MIME类型和内容提供者URI。 +这个类的主要作用是定义笔记应用中的数据结构和相关常量。 +* */ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data/NotesDatabaseHelper.java b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data/NotesDatabaseHelper.java index ffe5d57..dbafe7b 100644 --- a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data/NotesDatabaseHelper.java +++ b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data/NotesDatabaseHelper.java @@ -28,10 +28,13 @@ import net.micode.notes.data.Notes.NoteColumns; public class NotesDatabaseHelper extends SQLiteOpenHelper { + // 数据库名称 private static final String DB_NAME = "note.db"; - + // 数据库版本 private static final int DB_VERSION = 4; + // 数据表 + public interface TABLE { public static final String NOTE = "note"; @@ -360,3 +363,12 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { + " INTEGER NOT NULL DEFAULT 0"); } } +/* +*在这段Java代码中,我们有一个名为 NotesDatabaseHelper 的类,它继承自 SQLiteOpenHelper。以下是对代码中各部分的注释: + +定义了数据库名称和版本常量,以及数据表的接口。 +包含了一系列SQL语句,用于创建笔记表、数据表和触发器。 +包含了方法,用于创建笔记表、重新创建笔记表触发器、创建系统文件夹、创建数据表、重新创建数据表触发器,以及获取数据库帮助类的实例。 +包含了 onCreate 和 onUpgrade 方法,用于在数据库创建和升级时执行相应的操作。 +包含了私有方法,用于升级数据库到不同的版本。 +* */ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_contact.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_contact.docx new file mode 100644 index 0000000..1f434ec Binary files /dev/null and b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_contact.docx differ diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_notes.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_notes.docx new file mode 100644 index 0000000..890193b Binary files /dev/null and b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_notes.docx differ diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_notesdatabasegelper.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/data_notesdatabasegelper.docx new file mode 100644 index 0000000..e69de29 diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception..docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception..docx new file mode 100644 index 0000000..e69de29 diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception.ActionFailureExcept.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception.ActionFailureExcept.docx new file mode 100644 index 0000000..e69de29 diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception.ActionFailureException.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception.ActionFailureException.docx new file mode 100644 index 0000000..e69de29 diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception.NetworkFailureException.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/exception.NetworkFailureException.docx new file mode 100644 index 0000000..e69de29 diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/ActionFailureException.java b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/ActionFailureException.java index 15504be..188261f 100644 --- a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/ActionFailureException.java +++ b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/ActionFailureException.java @@ -16,18 +16,31 @@ package net.micode.notes.gtask.exception; +// 自定义异常类,表示操作失败 public class ActionFailureException extends RuntimeException { private static final long serialVersionUID = 4425249765923293627L; + // 无参构造函数 public ActionFailureException() { super(); } + // 带有错误信息的构造函数 public ActionFailureException(String paramString) { super(paramString); } + // 带有错误信息和原因的构造函数 public ActionFailureException(String paramString, Throwable paramThrowable) { super(paramString, paramThrowable); } } +/* +* +* 在这段Java代码中,我们有一个名为 ActionFailureException 的类,它继承自 RuntimeException。以下是对代码中各部分的注释: + +ActionFailureException:自定义异常类,用于表示操作失败。 +serialVersionUID:序列化版本UID。 +ActionFailureException():无参构造函数。 +ActionFailureException(String paramString):带有错误信息的构造函数。 +ActionFailureException(String paramString, Throwable paramThrowable):带有错误信息和原因的构造函数。*/ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/NetworkFailureException.java b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/NetworkFailureException.java index b08cfb1..08e72ca 100644 --- a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/NetworkFailureException.java +++ b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/gtask/exception/NetworkFailureException.java @@ -16,18 +16,30 @@ package net.micode.notes.gtask.exception; +// 自定义异常类,表示网络操作失败 public class NetworkFailureException extends Exception { private static final long serialVersionUID = 2107610287180234136L; + // 无参构造函数 public NetworkFailureException() { super(); } + // 带有错误信息的构造函数 public NetworkFailureException(String paramString) { super(paramString); } + // 带有错误信息和原因的构造函数 public NetworkFailureException(String paramString, Throwable paramThrowable) { super(paramString, paramThrowable); } } +/* +* 在这段Java代码中,我们有一个名为 NetworkFailureException 的类,它继承自 Exception。以下是对代码中各部分的注释: + +NetworkFailureException:自定义异常类,用于表示网络操作失败。 +serialVersionUID:序列化版本UID。 +NetworkFailureException():无参构造函数。 +NetworkFailureException(String paramString):带有错误信息的构造函数。 +NetworkFailureException(String paramString, Throwable paramThrowable):带有错误信息和原因的构造函数。*/ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider.java b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider.java index ec6f819..a08d2b8 100644 --- a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider.java +++ b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider.java @@ -32,19 +32,23 @@ import net.micode.notes.tool.ResourceParser; import net.micode.notes.ui.NoteEditActivity; import net.micode.notes.ui.NotesListActivity; +// 抽象类,用于管理便签小部件 public abstract class NoteWidgetProvider extends AppWidgetProvider { + // 定义用于查询数据库时需要的字段 public static final String [] PROJECTION = new String [] { NoteColumns.ID, NoteColumns.BG_COLOR_ID, NoteColumns.SNIPPET }; + // 定义查询结果的列索引 public static final int COLUMN_ID = 0; public static final int COLUMN_BG_COLOR_ID = 1; public static final int COLUMN_SNIPPET = 2; private static final String TAG = "NoteWidgetProvider"; + // 当小部件被删除时调用,更新数据库中与小部件相关的记录 @Override public void onDeleted(Context context, int[] appWidgetIds) { ContentValues values = new ContentValues(); @@ -57,6 +61,7 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider { } } + // 从数据库中获取特定小部件的信息 private Cursor getNoteWidgetInfo(Context context, int widgetId) { return context.getContentResolver().query(Notes.CONTENT_NOTE_URI, PROJECTION, @@ -65,10 +70,12 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider { null); } + // 更新小部件 protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { update(context, appWidgetManager, appWidgetIds, false); } + // 更新小部件的具体实现 private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds, boolean privacyMode) { for (int i = 0; i < appWidgetIds.length; i++) { @@ -104,7 +111,7 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider { rv.setImageViewResource(R.id.widget_bg_image, getBgResourceId(bgId)); intent.putExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, bgId); /** - * Generate the pending intent to start host for the widget + * 生成启动小部件宿主应用的待定意图 */ PendingIntent pendingIntent = null; if (privacyMode) { @@ -124,9 +131,22 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider { } } + // 获取小部件背景资源ID的抽象方法 protected abstract int getBgResourceId(int bgId); + // 获取小部件布局ID的抽象方法 protected abstract int getLayoutId(); + // 获取小部件类型的抽象方法 protected abstract int getWidgetType(); } +/* +* 在这段Java代码中,我们有一个名为 NoteWidgetProvider 的抽象类,它继承自 AppWidgetProvider。以下是对代码中各部分的注释: + +NoteWidgetProvider:抽象类,用于管理便签小部件。 +PROJECTION:定义了用于查询数据库时需要的字段。 +COLUMN_ID、COLUMN_BG_COLOR_ID、COLUMN_SNIPPET:定义了查询结果的列索引。 +onDeleted 方法:当小部件被删除时调用,更新数据库中与小部件相关的记录。 +getNoteWidgetInfo 方法:从数据库中获取特定小部件的信息。 +update 方法:更新小部件的具体实现。 +getBgResourceId、getLayoutId、getWidgetType:抽象方法,用于获取小部件背景资源ID、布局ID和小部件类型。*/ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_2x.java b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_2x.java index adcb2f7..d5df828 100644 --- a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_2x.java +++ b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_2x.java @@ -24,24 +24,38 @@ import net.micode.notes.data.Notes; import net.micode.notes.tool.ResourceParser; +// 便签小部件提供程序,用于2x大小的小部件 public class NoteWidgetProvider_2x extends NoteWidgetProvider { + + // 当小部件更新时调用 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.update(context, appWidgetManager, appWidgetIds); } + // 获取小部件布局ID @Override protected int getLayoutId() { return R.layout.widget_2x; } + // 获取小部件背景资源ID @Override protected int getBgResourceId(int bgId) { return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId); } + // 获取小部件类型 @Override protected int getWidgetType() { return Notes.TYPE_WIDGET_2X; } } +/*在这段Java代码中,我们有一个名为 NoteWidgetProvider_2x 的类,它继承自 NoteWidgetProvider。以下是对代码中各部分的注释: + +NoteWidgetProvider_2x:便签小部件提供程序,用于2x大小的小部件。 +onUpdate 方法:当小部件更新时调用。 +getLayoutId 方法:获取小部件布局ID。 +getBgResourceId 方法:获取小部件背景资源ID。 +getWidgetType 方法:获取小部件类型。 +*/ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_4x.java b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_4x.java index c12a02e..807c605 100644 --- a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_4x.java +++ b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/widget/NoteWidgetProvider_4x.java @@ -24,23 +24,38 @@ import net.micode.notes.data.Notes; import net.micode.notes.tool.ResourceParser; +// 便签小部件提供程序,用于4x大小的小部件 public class NoteWidgetProvider_4x extends NoteWidgetProvider { + + // 当小部件更新时调用 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.update(context, appWidgetManager, appWidgetIds); } + // 获取小部件布局ID protected int getLayoutId() { return R.layout.widget_4x; } + // 获取小部件背景资源ID @Override protected int getBgResourceId(int bgId) { return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId); } + // 获取小部件类型 @Override protected int getWidgetType() { return Notes.TYPE_WIDGET_4X; } } +/* +* 在这段Java代码中,我们有一个名为 NoteWidgetProvider_2x 的类,它继承自 NoteWidgetProvider。以下是对代码中各部分的注释: + +NoteWidgetProvider_2x:便签小部件提供程序,用于2x大小的小部件。 +onUpdate 方法:当小部件更新时调用。 +getLayoutId 方法:获取小部件布局ID。 +getBgResourceId 方法:获取小部件背景资源ID。 +getWidgetType 方法:获取小部件类型。 +* */ \ No newline at end of file diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/~$teWidgetProvider.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/~$teWidgetProvider.docx new file mode 100644 index 0000000..a17f377 Binary files /dev/null and b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/~$teWidgetProvider.docx differ diff --git a/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/新建 Microsoft Word 文档.docx b/小米标签及案例/源程序代码-小米便签-Notes-master/Notes-master/src/net/micode/notes/新建 Microsoft Word 文档.docx new file mode 100644 index 0000000..e69de29