/* * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) * 版权声明,说明本代码是由MiCode开源社区提供并遵循Apache 2.0许可证。 */ package net.micode.notes.data; // 包声明,表示该类属于net.micode.notes.data包 import android.net.Uri; // 导入Uri类,用于处理URI public class Notes { // 定义常量,用于表示笔记、文件夹和系统类型 public static final String AUTHORITY = "micode_notes"; 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_ROOT_FOLDER 是默认文件夹 * ID_TEMPARAY_FOLDER 用于存储没有归类的笔记 * ID_CALL_RECORD_FOLDER 用于存储通话记录 */ public static final int ID_ROOT_FOLDER = 0; public static final int ID_TEMPARAY_FOLDER = -1; public static final int ID_CALL_RECORD_FOLDER = -2; public static final int ID_TRASH_FOLER = -3; // 回收站文件夹 // Intent中传递的数据常量 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"; public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_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"; 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; public static final int TYPE_WIDGET_4X = 1; // 数据常量,指示笔记和通话记录的数据类型 public static class DataConstants { public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; // 文本笔记类型 public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; // 通话记录类型 } // 查询所有笔记和文件夹的URI public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); // 查询数据的URI public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); public interface NoteColumns { /** * 定义笔记和文件夹的数据库列 * 每个字段后面有说明其数据类型 */ public static final String ID = "_id"; // 唯一ID public static final String PARENT_ID = "parent_id"; // 父级ID public static final String CREATED_DATE = "created_date"; // 创建日期 public static final String MODIFIED_DATE = "modified_date"; // 修改日期 public static final String ALERTED_DATE = "alert_date"; // 提醒日期 public static final String SNIPPET = "snippet"; // 文件夹名或笔记内容 public static final String WIDGET_ID = "widget_id"; // 小部件ID public static final String WIDGET_TYPE = "widget_type"; // 小部件类型 public static final String BG_COLOR_ID = "bg_color_id"; // 背景颜色ID public static final String HAS_ATTACHMENT = "has_attachment"; // 是否有附件 public static final String NOTES_COUNT = "notes_count"; // 文件夹内笔记数量 public static final String TYPE = "type"; // 类型:笔记或文件夹 public static final String SYNC_ID = "sync_id"; // 同步ID public static final String LOCAL_MODIFIED = "local_modified"; // 本地修改标志 public static final String ORIGIN_PARENT_ID = "origin_parent_id"; // 原始父级ID public static final String GTASK_ID = "gtask_id"; // GTask ID public static final String VERSION = "version"; // 版本 } public interface DataColumns { /** * 定义数据表的列,主要用于存储附件或其他类型的数据 */ public static final String ID = "_id"; // 唯一ID public static final String MIME_TYPE = "mime_type"; // 数据的MIME类型 public static final String NOTE_ID = "note_id"; // 对应笔记的ID public static final String CREATED_DATE = "created_date"; // 创建日期 public static final String MODIFIED_DATE = "modified_date"; // 修改日期 public static final String CONTENT = "content"; // 数据内容 public static final String DATA1 = "data1"; public static final String DATA2 = "data2"; public static final String DATA3 = "data3"; public static final String DATA4 = "data4"; public static final String DATA5 = "data5"; } // 文本笔记的实现 public static final class TextNote implements DataColumns { public static final String MODE = DATA1; // 标记是否为待办事项 public static final int MODE_CHECK_LIST = 1; // 待办事项模式 public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note"; // 文本笔记内容类型 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"); // 文本笔记的URI } // 通话记录笔记的实现 public static final class CallNote implements DataColumns { public static final String CALL_DATE = DATA1; // 通话日期 public static final String PHONE_NUMBER = DATA3; // 电话号码 public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; // 通话记录内容类型 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"); // 通话记录的URI } }