You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
note/Notes.java

115 lines
6.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* 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
}
}