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.
text123/Notes.java

197 lines
9.8 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;
// 导入Uri类用于处理统一资源标识符
import android.net.Uri;
// Notes类用于定义与笔记应用相关的各种常量、接口和内部类为数据管理和操作提供基础
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; // 系统类型
/*
* 以下是系统文件夹的标识符
* {@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用于构建查询所有笔记和文件夹的内容URI通过内容提供者获取相应数据
// 定义用于查询数据的Uri
public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");
// 此Uri用于构建查询与笔记相关数据的内容URI通过内容提供者获取数据
// 定义一个接口,用于定义笔记相关的列名常量,这些常量用于数据库操作
public interface NoteColumns {
// 行的唯一标识符,在数据库中用于唯一标识一条记录
public static final String ID = "_id";
// 笔记或文件夹的父ID用于表示层级关系确定所属文件夹
public static final String PARENT_ID = "parent_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";
// 笔记关联的小部件ID用于标识与该笔记相关联的小部件
public static final String WIDGET_ID = "widget_id";
// 笔记关联的小部件类型,用于确定小部件的样式和功能
public static final String WIDGET_TYPE = "widget_type";
// 笔记的背景颜色ID用于设置笔记的背景颜色
public static final String BG_COLOR_ID = "bg_color_id";
// 表示笔记是否有附件1表示有附件0表示没有附件
public static final String HAS_ATTACHMENT = "has_attachment";
// 文件夹中包含的笔记数量
public static final String NOTES_COUNT = "notes_count";
// 表示文件类型(文件夹或笔记),通过整型值区分
public static final String TYPE = "type";
// 最后一次同步的ID用于记录数据同步的状态
public static final String SYNC_ID = "sync_id";
// 表示数据是否在本地被修改过的标志1表示本地修改0表示未修改
public static final String LOCAL_MODIFIED = "local_modified";
// 笔记在移动到临时文件夹之前的原始父ID
public static final String ORIGIN_PARENT_ID = "origin_parent_id";
// 与Google Tasks相关的ID用于与Google Tasks进行交互
public static final String GTASK_ID = "gtask_id";
// 数据的版本号,用于数据版本管理和兼容性处理
public static final String VERSION = "version";
}
// 定义一个接口,用于定义与数据相关的列名常量,这些常量用于数据库操作
public interface DataColumns {
// 行的唯一标识符,在数据库中用于唯一标识一条记录
public static final String ID = "_id";
// 该行数据所代表的项目的MIME类型用于标识数据的类型
public static final String MIME_TYPE = "mime_type";
// 此数据所属笔记的ID用于关联数据和笔记
public static final String NOTE_ID = "note_id";
// 数据的创建日期,以时间戳(长整型)表示
public static final String CREATED_DATE = "created_date";
// 数据的最新修改日期,以时间戳(长整型)表示
public static final String MODIFIED_DATE = "modified_date";
// 数据的具体内容
public static final String CONTENT = "content";
// 通用数据列其含义根据MIME类型而定用于存储整数类型的数据
public static final String DATA1 = "data1";
// 通用数据列其含义根据MIME类型而定用于存储整数类型的数据
public static final String DATA2 = "data2";
// 通用数据列其含义根据MIME类型而定用于存储文本类型的数据
public static final String DATA3 = "data3";
// 通用数据列其含义根据MIME类型而定用于存储文本类型的数据
public static final String DATA4 = "data4";
// 通用数据列其含义根据MIME类型而定用于存储文本类型的数据
public static final String DATA5 = "data5";
}
// 定义一个静态内部类表示文本笔记实现了DataColumns接口
public static final class TextNote implements DataColumns {
// 用于表示文本是否处于 checklist 模式的标志1 表示 checklist 模式0 表示正常模式
public static final String MODE = DATA1;
// checklist 模式的标志值
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";
// 文本笔记的内容Uri用于构建查询文本笔记的内容URI
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");
}
// 定义一个静态内部类表示通话笔记实现了DataColumns接口
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";
// 通话笔记的内容Uri用于构建查询通话笔记的内容URI
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note");
}
}