From b4c9926f61a68cede8bcbf50f1a98ccaeb5f0bbe Mon Sep 17 00:00:00 2001 From: FXH <230007021@qq.com> Date: Tue, 17 Sep 2024 15:54:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=A5=E6=AE=B5=E4=BB=A3=E7=A0=81=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=98=AF=E5=AE=9A=E4=B9=89=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AANotes=E7=B1=BB=EF=BC=8C=E5=AE=83=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E4=BA=86=E5=A4=84=E7=90=86=E7=AC=94=E8=AE=B0=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E5=B8=B8=E9=87=8F=E3=80=81URI?= =?UTF-8?q?=E3=80=81=E5=88=97=E5=AE=9A=E4=B9=89=E5=92=8C=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E7=89=B9=E5=AE=9A=E7=9A=84=E7=AC=94=E8=AE=B0=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=EF=BC=88=E5=A6=82=E6=96=87=E6=9C=AC=E7=AC=94=E8=AE=B0=E5=92=8C?= =?UTF-8?q?=E9=80=9A=E8=AF=9D=E8=AE=B0=E5=BD=95=E7=AC=94=E8=AE=B0=EF=BC=89?= =?UTF-8?q?=E3=80=82=E8=BF=99=E4=BA=9B=E5=AE=9A=E4=B9=89=E8=A2=AB=E7=94=A8?= =?UTF-8?q?=E6=9D=A5=E5=9C=A8=E5=BA=94=E7=94=A8=E7=A8=8B=E5=BA=8F=E7=9A=84?= =?UTF-8?q?=E4=B8=8D=E5=90=8C=E9=83=A8=E5=88=86=E4=B9=8B=E9=97=B4=E5=85=B1?= =?UTF-8?q?=E4=BA=AB=E5=92=8C=E6=93=8D=E4=BD=9C=E7=AC=94=E8=AE=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Notes.java | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 Notes.java diff --git a/Notes.java b/Notes.java new file mode 100644 index 0000000..9e5b561 --- /dev/null +++ b/Notes.java @@ -0,0 +1,256 @@ +package net.micode.notes.data; // 定义包名,表示这个类属于net.micode.notes.data包。 + +import android.net.Uri; // 导入Android的Uri类,用于处理URI。 + +public class Notes { + // 定义一些常量,用于应用程序的不同部分。 + public static final String AUTHORITY = "micode_notes"; // 定义authority,用于URI的构建。 + public static final String TAG = "Notes"; // 定义日志标签。 + public static final int TYPE_NOTE = 0; // 笔记类型。 + public static final int TYPE_FOLDER = 1; // 文件夹类型。 + public static final int TYPE_SYSTEM = 2; // 系统类型。 + + // 定义系统文件夹的ID。 + /** + * Following IDs are system folders' identifiers + * {@link Notes#ID_ROOT_FOLDER } is default folder + * {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder + * {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records + */ + public static final int ID_ROOT_FOLDER = 0; // 根文件夹的ID。 + public static final int ID_TEMPARAY_FOLDER = -1; // 临时文件夹的ID。 + public static final int ID_CALL_RECORD_FOLDER = -2; // 通话记录文件夹的ID。 + public static final int ID_TRASH_FOLER = -3; // 回收站文件夹的ID(注意:这里有个拼写错误,应该是FOLDER)。 + + // 定义Intent的额外数据键,用于在Activity之间传递数据。 + public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date"; // 闹钟日期。 + public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id"; // 背景颜色ID。 + public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id"; // 小部件ID。 + public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type"; // 小部件类型。 + public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id"; // 文件夹ID。 + public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date"; // 通话日期。 + + // 定义小部件类型的常量。 + public static final int TYPE_WIDGET_INVALIDE = -1; // 无效的小部件类型。 + public static final int TYPE_WIDGET_2X = 0; // 2x小部件类型。 + public static final int TYPE_WIDGET_4X = 1; // 4x小部件类型。 + + public static class DataConstants { + // 定义数据常量类,包含笔记和通话记录的MIME类型。 + public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; // 文本笔记的内容项类型。 + public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; // 通话笔记的内容项类型。 + } + + // 定义用于查询所有笔记和文件夹的Uri。 + /** + * Uri to query all notes and folders + */ + public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); + // 定义用于查询数据的Uri。 + /** + * Uri to query data + */ + public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); + + // 定义NoteColumns接口,包含笔记或文件夹的列。 + public interface NoteColumns { + /** + * The unique ID for a row + *

Type: INTEGER (long)

+ */ + public static final String ID = "_id"; // 行的唯一ID。 + /** + * The parent's id for note or folder + *

Type: INTEGER (long)

+ */ + public static final String PARENT_ID = "parent_id"; // 父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"; // 最后修改日期。 + /** + * 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)

+ */ + public static final String WIDGET_ID = "widget_id"; // 小部件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)

+ */ + public static final String BG_COLOR_ID = "bg_color_id"; // 背景颜色ID。 + /** + * For text note, it doesn't has attachment, for multi-media + * 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)

+ */ + public static final String SYNC_ID = "sync_id"; // 最后同步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

+ */ + public static final String ORIGIN_PARENT_ID = "origin_parent_id"; // 移动到临时文件夹之前的原始父ID。 + /** + * The gtask id + *

Type : TEXT

+ */ + public static final String GTASK_ID = "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)

+ */ + public static final String ID = "_id"; // 行的唯一ID。 + /** + * The MIME type of the item represented by this row. + *

Type: Text

+ */ + public static final String MIME_TYPE = "mime_type"; // 项目的MIME类型。 + /** + * The reference id to note that this data belongs to + *

Type: INTEGER (long)

+ */ + public static final String NOTE_ID = "note_id"; // 笔记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"; // 数据内容。 + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * integer data type + *

Type: INTEGER

+ */ + public static final String DATA1 = "data1"; // 用于整数数据类型的通用数据列。 + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * integer data type + *

Type: INTEGER

+ */ + public static final String DATA2 = "data2"; // 同上。 + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA3 = "data3"; // 用于文本数据类型的通用数据列。 + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA4 = "data4"; // 同上。 + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA5 = "data5"; // 同上。 + } + + // 定义TextNote类,实现DataColumns接口,用于文本笔记。 + 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; // 检查列表模式。 + /** + * MIME type for a directory of text notes + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note"; // 文本笔记的目录MIME类型。 + /** + * MIME type for a single text note + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note"; // 单个文本笔记的MIME类型。 + /** + * The content URI for text notes + */ + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); // 文本笔记的内容URI。 + } + + // 定义CallNote类,实现DataColumns接口,用于通话记录笔记。 + 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; // 电话号码。 + /** + * MIME type for a directory of call notes + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; // 通话记录的目录MIME类型。 + /** + * MIME type for a single call note + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note"; // 单个通话记录的MIME类型。 + /** + * The content URI for call notes + */ + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note"); // 通话记录的内容URI。 + } +} \ No newline at end of file