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.
genji/src/data/Notes.java

292 lines
9.4 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.

/*
* 版权所有 (c) 2010-2011, The MiCode 开源社区 (www.micode.net)
*
* 根据 Apache 许可证 2.0 版本授权
* 除非遵守许可证要求,否则不得使用此文件
* 您可以在以下网址获取许可证副本:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 除非适用法律要求或书面同意,软件按"原样"分发
* 没有任何明示或暗示的担保或条件
* 请参阅许可证了解具体权限和限制
*/
package net.micode.notes.data;
import android.net.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定义
* {@link Notes#ID_ROOT_FOLDER} 根文件夹(默认文件夹)
* {@link Notes#ID_TEMPARAY_FOLDER} 临时文件夹(存放未分类笔记)
* {@link Notes#ID_CALL_RECORD_FOLDER} 通话记录文件夹
*/
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
// 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"; // 背景颜色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 {
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"); // 数据查询URI
/**
* 笔记数据表列名定义接口
*/
public interface NoteColumns {
/**
* 行唯一ID
* <P> 类型: INTEGER (long) </P>
*/
public static final String ID = "_id";
/**
* 父项ID用于笔记或文件夹的层级关系
* <P> 类型: INTEGER (long) </P>
*/
public static final String PARENT_ID = "parent_id";
/**
* 创建日期
* <P> 类型: INTEGER (long) </P>
*/
public static final String CREATED_DATE = "created_date";
/**
* 最后修改日期
* <P> 类型: INTEGER (long) </P>
*/
public static final String MODIFIED_DATE = "modified_date";
/**
* 提醒日期
* <P> 类型: INTEGER (long) </P>
*/
public static final String ALERTED_DATE = "alert_date";
/**
* 文件夹名称或笔记内容摘要
* <P> 类型: TEXT </P>
*/
public static final String SNIPPET = "snippet";
/**
* 关联的小部件ID
* <P> 类型: INTEGER (long) </P>
*/
public static final String WIDGET_ID = "widget_id";
/**
* 小部件类型
* <P> 类型: INTEGER (long) </P>
*/
public static final String WIDGET_TYPE = "widget_type";
/**
* 背景颜色ID
* <P> 类型: INTEGER (long) </P>
*/
public static final String BG_COLOR_ID = "bg_color_id";
/**
* 是否有附件0-无1-有)
* <P> 类型: INTEGER </P>
*/
public static final String HAS_ATTACHMENT = "has_attachment";
/**
* 文件夹中的笔记数量
* <P> 类型: INTEGER (long) </P>
*/
public static final String NOTES_COUNT = "notes_count";
/**
* 类型标识(笔记/文件夹/系统文件夹)
* <P> 类型: INTEGER </P>
*/
public static final String TYPE = "type";
/**
* 同步ID用于数据同步
* <P> 类型: INTEGER (long) </P>
*/
public static final String SYNC_ID = "sync_id";
/**
* 本地修改标记0-未修改1-已修改)
* <P> 类型: INTEGER </P>
*/
public static final String LOCAL_MODIFIED = "local_modified";
/**
* 原始父ID移动前的位置
* <P> 类型: INTEGER </P>
*/
public static final String ORIGIN_PARENT_ID = "origin_parent_id";
/**
* Google任务ID用于与Google Tasks同步
* <P> 类型: TEXT </P>
*/
public static final String GTASK_ID = "gtask_id";
/**
* 数据版本号
* <P> 类型: INTEGER (long) </P>
*/
public static final String VERSION = "version";
}
/**
* 数据表列名定义接口
*/
public interface DataColumns {
/**
* 行唯一ID
* <P> 类型: INTEGER (long) </P>
*/
public static final String ID = "_id";
/**
* MIME类型标识
* <P> 类型: TEXT </P>
*/
public static final String MIME_TYPE = "mime_type";
/**
* 关联的笔记ID
* <P> 类型: INTEGER (long) </P>
*/
public static final String NOTE_ID = "note_id";
/**
* 创建日期
* <P> 类型: INTEGER (long) </P>
*/
public static final String CREATED_DATE = "created_date";
/**
* 最后修改日期
* <P> 类型: INTEGER (long) </P>
*/
public static final String MODIFIED_DATE = "modified_date";
/**
* 数据内容
* <P> 类型: TEXT </P>
*/
public static final String CONTENT = "content";
/**
* 通用数据列1具体含义由MIME_TYPE决定通常用于整数类型
* <P> 类型: INTEGER </P>
*/
public static final String DATA1 = "data1";
/**
* 通用数据列2具体含义由MIME_TYPE决定通常用于整数类型
* <P> 类型: INTEGER </P>
*/
public static final String DATA2 = "data2";
/**
* 通用数据列3具体含义由MIME_TYPE决定通常用于文本类型
* <P> 类型: TEXT </P>
*/
public static final String DATA3 = "data3";
/**
* 通用数据列4具体含义由MIME_TYPE决定通常用于文本类型
* <P> 类型: TEXT </P>
*/
public static final String DATA4 = "data4";
/**
* 通用数据列5具体含义由MIME_TYPE决定通常用于文本类型
* <P> 类型: TEXT </P>
*/
public static final String DATA5 = "data5";
}
/**
* 文本笔记数据定义
*/
public static final class TextNote implements DataColumns {
/**
* 模式标识0-普通模式1-清单模式)
* <P> 类型: INTEGER </P>
*/
public static final String MODE = DATA1;
public static final int MODE_CHECK_LIST = 1; // 清单模式
// MIME类型定义
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"; // 单项目类型
// 内容URI
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");
}
/**
* 通话记录笔记数据定义
*/
public static final class CallNote implements DataColumns {
/**
* 通话日期
* <P> 类型: INTEGER (long) </P>
*/
public static final String CALL_DATE = DATA1;
/**
* 电话号码
* <P> 类型: TEXT </P>
*/
public static final String PHONE_NUMBER = DATA3;
// MIME类型定义
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"; // 单项目类型
// 内容URI
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note");
}
}