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

256 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.

package net.micode.notes.data; // 定义包名表示这个类属于net.micode.notes.data包。
import android.net.Uri; // 导入Android的Uri类用于处理URI。
public class Notes {
// 定义一些常量,用于应用程序的不同部分。
public static final String AUTHORITY = "micode_notes"; // 定义authority用于URI的构建。
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。
/**
* 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
*/
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注意这里有个拼写错误应该是FOLDER
// 定义Intent的额外数据键用于在Activity之间传递数据。
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 {
// 定义数据常量类包含笔记和通话记录的MIME类型。
public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; // 文本笔记的内容项类型。
public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; // 通话笔记的内容项类型。
}
// 定义用于查询所有笔记和文件夹的Uri。
/**
* Uri to query all notes and folders
*/
public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");
// 定义用于查询数据的Uri。
/**
* Uri to query data
*/
public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");
// 定义NoteColumns接口包含笔记或文件夹的列。
public interface NoteColumns {
/**
* The unique ID for a row
* <P> Type: INTEGER (long) </P>
*/
public static final String ID = "_id"; // 行的唯一ID。
/**
* The parent's id for note or folder
* <P> Type: INTEGER (long) </P>
*/
public static final String PARENT_ID = "parent_id"; // 父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"; // 小部件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"; // 背景颜色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"; // 最后同步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"; // 移动到临时文件夹之前的原始父ID。
/**
* The gtask id
* <P> Type : TEXT </P>
*/
public static final String GTASK_ID = "gtask_id"; // gtask ID。
/**
* The version code
* <P> Type : INTEGER (long) </P>
*/
public static final String VERSION = "version"; // 版本号。
}
// 定义DataColumns接口包含数据的列。
public interface DataColumns {
/**
* The unique ID for a row
* <P> Type: INTEGER (long) </P>
*/
public static final String ID = "_id"; // 行的唯一ID。
/**
* The MIME type of the item represented by this row.
* <P> Type: Text </P>
*/
public static final String MIME_TYPE = "mime_type"; // 项目的MIME类型。
/**
* The reference id to note that this data belongs to
* <P> Type: INTEGER (long) </P>
*/
public static final String NOTE_ID = "note_id"; // 笔记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"; // 最后修改日期。
/**
* Data's content
* <P> Type: TEXT </P>
*/
public static final String CONTENT = "content"; // 数据内容。
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* integer data type
* <P> Type: INTEGER </P>
*/
public static final String DATA1 = "data1"; // 用于整数数据类型的通用数据列。
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* integer data type
* <P> Type: INTEGER </P>
*/
public static final String DATA2 = "data2"; // 同上。
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type
* <P> Type: TEXT </P>
*/
public static final String DATA3 = "data3"; // 用于文本数据类型的通用数据列。
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type
* <P> Type: TEXT </P>
*/
public static final String DATA4 = "data4"; // 同上。
/**
* Generic data column, the meaning is {@link #MIMETYPE} specific, used for
* TEXT data type
* <P> Type: TEXT </P>
*/
public static final String DATA5 = "data5"; // 同上。
}
// 定义TextNote类实现DataColumns接口用于文本笔记。
public static final class TextNote implements DataColumns {
/**
* Mode to indicate the text in check list mode or not
* <P> Type: Integer 1:check list mode 0: normal mode </P>
*/
public static final String MODE = DATA1; // 模式,用于检查列表模式或普通模式。
public static final int MODE_CHECK_LIST = 1; // 检查列表模式。
/**
* MIME type for a directory of text notes
*/
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note"; // 文本笔记的目录MIME类型。
/**
* MIME type for a single text note
*/
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note"; // 单个文本笔记的MIME类型。
/**
* The content URI for text notes
*/
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); // 文本笔记的内容URI。
}
// 定义CallNote类实现DataColumns接口用于通话记录笔记。
public static final class CallNote implements DataColumns {
/**
* Call date for this record
* <P> Type: INTEGER (long) </P>
*/
public static final String CALL_DATE = DATA1; // 通话日期。
/**
* Phone number for this record
* <P> Type: TEXT </P>
*/
public static final String PHONE_NUMBER = DATA3; // 电话号码。
/**
* MIME type for a directory of call notes
*/
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; // 通话记录的目录MIME类型。
/**
* MIME type for a single call note
*/
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note"; // 单个通话记录的MIME类型。
/**
* The content URI for call notes
*/
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note"); // 通话记录的内容URI。
}
}