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.
git-test/src/main/java/net/micode/notes/data/Notes.java

365 lines
11 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)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.micode.notes.data;
import android.net.Uri;
/**
* 便签应用的核心数据模型类定义了便签系统的常量、URI和数据结构
* <p>
* 该类包含了便签应用的核心数据定义包括便签类型、系统文件夹ID、意图额外参数、
* 组件类型、以及各种URI定义。同时还定义了便签表和数据表的列名以及文本便签和
* 通话便签的具体数据结构。
* </p>
*/
public class Notes {
/**
* 内容提供者的授权名称用于构建内容URI
*/
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;
/**
* 以下是系统文件夹的标识符
* {@link Notes#ID_ROOT_FOLDER } 是默认文件夹
* {@link Notes#ID_TEMPARAY_FOLDER } 用于存放不属于任何文件夹的便签
* {@link Notes#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;
/**
* 回收站文件夹ID用于存储被删除的便签和文件夹
*/
public static final int ID_TRASH_FOLER = -3;
/**
* 意图额外参数:提醒日期
*/
public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date";
/**
* 意图额外参数背景颜色ID
*/
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";
/**
* 意图额外参数:组件类型
*/
public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type";
/**
* 意图额外参数文件夹ID
*/
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;
/**
* 组件类型2x2大小的便签组件
*/
public static final int TYPE_WIDGET_2X = 0;
/**
* 组件类型4x4大小的便签组件
*/
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 {
/**
* 行的唯一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";
/**
* 对于文本便签,没有附件;对于多媒体便签,至少有一个附件
* <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";
/**
* 表示本地是否修改的标志
* <P> 类型: INTEGER </P>
*/
public static final String LOCAL_MODIFIED = "local_modified";
/**
* 原始父ID
* <P> 类型: INTEGER (long) </P>
*/
public static final String ORIGIN_PARENT_ID = "origin_parent_id";
/**
* GTASK ID
* <P> 类型: TEXT </P>
*/
public static final String GTASK_ID = "gtask_id";
/**
* 版本号
* <P> 类型: INTEGER </P>
*/
public static final String VERSION = "version";
/**
* 置顶状态
* <P> 类型: INTEGER </P>
* <P> 0表示未置顶1表示置顶 </P>
*/
public static final String PINNED = "pinned";
}
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";
/**
* 通用数据列,含义由{@link # MIMETYPE}决定,用于整数数据类型
* <P> 类型: INTEGER </P>
*/
public static final String DATA1 = "data1";
/**
* 通用数据列,含义由{@link # MIMETYPE}决定,用于整数数据类型
* <P> 类型: INTEGER </P>
*/
public static final String DATA2 = "data2";
/**
* 通用数据列,含义由{@link # MIMETYPE}决定,用于文本数据类型
* <P> 类型: TEXT </P>
*/
public static final String DATA3 = "data3";
/**
* 通用数据列,含义由{@link # MIMETYPE}决定,用于文本数据类型
* <P> 类型: TEXT </P>
*/
public static final String DATA4 = "data4";
/**
* 通用数据列,含义由{@link # MIMETYPE}决定,用于文本数据类型
* <P> 类型: TEXT </P>
*/
public static final String DATA5 = "data5";
}
public static final class TextNote implements DataColumns {
/**
* 指示文本是否处于清单模式
* <P> 类型: Integer 1:清单模式 0:普通模式 </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";
/**
* 文本便签的单项MIME类型
*/
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";
/**
* 通话便签的单项MIME类型
*/
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");
}
}