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

247 lines
9.5 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;
// 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;
/**
* Following IDs are system folders' identifiers
* {@link Notes#ID_ROOT_FOLDER } is default folder
* {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder
* {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records
*/
// 根文件夹ID默认文件夹
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;
// 用于传递提醒日期的Intent额外数据键
public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date";
// 用于传递背景颜色ID的Intent额外数据键
public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id";
// 用于传递小部件ID的Intent额外数据键
public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id";
// 用于传递小部件类型的Intent额外数据键
public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type";
// 用于传递文件夹ID的Intent额外数据键
public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id";
// 用于传递通话日期的Intent额外数据键
public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date";
// 无效的小部件类型
public static final int TYPE_WIDGET_INVALIDE = -1;
// 2x小部件类型
public static final int TYPE_WIDGET_2X = 0;
// 4x小部件类型
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 to query all notes and folders
*/
// 用于查询所有笔记和文件夹的Uri
public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");
/**
* Uri to query data
*/
// 用于查询数据的Uri
public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");
// 内部接口,用于定义笔记列的常量
public interface NoteColumns {
/**
* The unique ID for a row
* <P> Type: INTEGER (long) </P>
*/
public static final String ID = "_id";
/**
* The parent's id for note or folder
* <P> Type: INTEGER (long) </P>
*/
public static final String PARENT_ID = "parent_id";
/**
* Created data for note or folder
* <P> Type: INTEGER (long) </P>
*/
public static final String CREATED_DATE = "created_date";
/**
* Latest modified date
* <P> Type: INTEGER (long) </P>
*/
public static final String MODIFIED_DATE = "modified_date";
/**
* Alert date
* <P> Type: INTEGER (long) </P>
*/
public static final String ALERTED_DATE = "alert_date";
/**
* Folder's name or text content of note
* <P> Type: TEXT </P>
*/
public static final String SNIPPET = "snippet";
/**
* Note's widget id
* <P> Type: INTEGER (long) </P>
*/
public static final String WIDGET_ID = "widget_id";
/**
* Note's widget type
* <P> Type: INTEGER (long) </P>
*/
public static final String WIDGET_TYPE = "widget_type";
/**
* Note's background color's id
* <P> Type: INTEGER (long) </P>
*/
public static final String BG_COLOR_ID = "bg_color_id";
/**
* For text note, it doesn't has attachment, for multi-media
* note, it has at least one attachment
* <P> Type: INTEGER </P>
*/
public static final String HAS_ATTACHMENT = "has_attachment";
/**
* Folder's count of notes
* <P> Type: INTEGER (long) </P>
*/
public static final String NOTES_COUNT = "notes_count";
/**
* The file type: folder or note
* <P> Type: INTEGER </P>
*/
public static final String TYPE = "type";
/**
* The last sync id
* <P> Type: INTEGER (long) </P>
*/
public static final String SYNC_ID = "sync_id";
/**
* Sign to indicate local modified or not
* <P> Type: INTEGER </P>
*/
public static final String LOCAL_MODIFIED = "local_modified";
/**
* Original parent id before moving into temporary folder
* <P> Type : INTEGER </P>
*/
public static final String ORIGIN_PARENT_ID = "origin_parent_id";
/**
* The gtask id
* <P> Type : TEXT </P>
*/
public static final String GTASK_ID = "gtask_id";
/**
* The version code
* <P> Type : INTEGER (long) </P>
*/
public static final String VERSION = "version";
}
// 内部接口,用于定义数据列的常量
public interface DataColumns {
/**
* The unique ID for a row
* <P> Type: INTEGER (long) </P>
*/
public static final String ID = "_id";
/**
* The MIME type of the item represented by this row.
* <P> Type: Text </P>
*/
public static final String MIME_TYPE = "mime_type";
/**
* The reference id to note that this data belongs to
* <P> Type: INTEGER (long) </P>
*/
public static final String NOTE_ID = "note_id";
/**
* Created data for note or folder
* <P> Type: INTEGER (long) </P>
*/
public static final String CREATED_DATE = "created_date";
/**
* Latest modified date
* <P> Type: INTEGER (long) </P>
*/
public static final String MODIFIED_DATE = "modified_date";
// 数据的内容
public static final String CONTENT = "content";
// 通用数据列含义取决于MIME_TYPE用于整数数据类型
public static final String DATA1 = "data1";
// 通用数据列含义取决于MIME_TYPE用于整数数据类型
public static final String DATA2 = "data2";
// 通用数据列含义取决于MIME_TYPE用于文本数据类型
public static privacy control and customization of note-related data and UI elements in an Android application
public static final String DATA3 = "data3";
// 通用数据列含义取决于MIME_TYPE用于文本数据类型
public static final String DATA4 = "data4";
// 通用数据列含义取决于MIME_TYPE用于文本数据类型
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_nose";
// 用于查询文本笔记的Uri
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");
}
// 内部类,用于定义通话笔记相关的常量和接口
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
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note");
}
}