diff --git a/src/net/micode/notes/ui/NoteItemData.java b/src/net/micode/notes/ui/NoteItemData.java index 0f5a878..8fa6f16 100644 --- a/src/net/micode/notes/ui/NoteItemData.java +++ b/src/net/micode/notes/ui/NoteItemData.java @@ -26,56 +26,63 @@ import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.tool.DataUtils; -public class NoteItemData { - static final String [] PROJECTION = new String [] { - NoteColumns.ID, - NoteColumns.ALERTED_DATE, - NoteColumns.BG_COLOR_ID, - NoteColumns.CREATED_DATE, - NoteColumns.HAS_ATTACHMENT, - NoteColumns.MODIFIED_DATE, - NoteColumns.NOTES_COUNT, - NoteColumns.PARENT_ID, - NoteColumns.SNIPPET, - NoteColumns.TYPE, - NoteColumns.WIDGET_ID, - NoteColumns.WIDGET_TYPE, - }; - - private static final int ID_COLUMN = 0; - private static final int ALERTED_DATE_COLUMN = 1; - private static final int BG_COLOR_ID_COLUMN = 2; - private static final int CREATED_DATE_COLUMN = 3; - private static final int HAS_ATTACHMENT_COLUMN = 4; - private static final int MODIFIED_DATE_COLUMN = 5; - private static final int NOTES_COUNT_COLUMN = 6; - private static final int PARENT_ID_COLUMN = 7; - private static final int SNIPPET_COLUMN = 8; - private static final int TYPE_COLUMN = 9; - private static final int WIDGET_ID_COLUMN = 10; - private static final int WIDGET_TYPE_COLUMN = 11; - - private long mId; - private long mAlertDate; - private int mBgColorId; - private long mCreatedDate; - private boolean mHasAttachment; - private long mModifiedDate; - private int mNotesCount; - private long mParentId; - private String mSnippet; - private int mType; - private int mWidgetId; - private int mWidgetType; - private String mName; - private String mPhoneNumber; - - private boolean mIsLastItem; - private boolean mIsFirstItem; - private boolean mIsOnlyOneItem; - private boolean mIsOneNoteFollowingFolder; - private boolean mIsMultiNotesFollowingFolder; - +//声明一个名为NoteItemData的类,该类不接受任何参数并且是公开的 +public class NoteItemData { + + // 定义一个字符串数组PROJECTION,该数组包含一些列名,这些列名是从NoteColumns类中获取的常量 + static final String [] PROJECTION = new String [] { + NoteColumns.ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.CREATED_DATE, + NoteColumns.HAS_ATTACHMENT, + NoteColumns.MODIFIED_DATE, + NoteColumns.NOTES_COUNT, + NoteColumns.PARENT_ID, + NoteColumns.SNIPPET, + NoteColumns.TYPE, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + }; + + // 定义一组常量,表示在PROJECTION数组中每个列的位置 + // 这些常量后续在代码中用于索引和查找特定的列 + private static final int ID_COLUMN = 0; + private static final int ALERTED_DATE_COLUMN = 1; + private static final int BG_COLOR_ID_COLUMN = 2; + private static final int CREATED_DATE_COLUMN = 3; + private static final int HAS_ATTACHMENT_COLUMN = 4; + private static final int MODIFIED_DATE_COLUMN = 5; + private static final int NOTES_COUNT_COLUMN = 6; + private static final int PARENT_ID_COLUMN = 7; + private static final int SNIPPET_COLUMN = 8; + private static final int TYPE_COLUMN = 9; + private static final int WIDGET_ID_COLUMN = 10; + private static final int WIDGET_TYPE_COLUMN = 11; + + // 定义一些私有变量,用来存储便签的各种属性值 + // 如ID、提醒日期、背景颜色ID、创建日期等 + private long mId; + private long mAlertDate; + private int mBgColorId; + private long mCreatedDate; + private boolean mHasAttachment; + private long mModifiedDate; + private int mNotesCount; + private long mParentId; + private String mSnippet; + private int mType; + private int mWidgetId; + private int mWidgetType; + private String mName; // 新增的变量,未在PROJECTION中看到对应的列名 + private String mPhoneNumber; // 新增的变量,未在PROJECTION中看到对应的列名 + + // 定义一些私有布尔变量,用来标识一些特殊状态,如是否是最后一个便签、是否是第一个便签等 + private boolean mIsLastItem; + private boolean mIsFirstItem; + private boolean mIsOnlyOneItem; + private boolean mIsOneNoteFollowingFolder; + private boolean mIsMultiNotesFollowingFolder; public NoteItemData(Context context, Cursor cursor) { mId = cursor.getLong(ID_COLUMN); mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN); @@ -134,91 +141,89 @@ public class NoteItemData { } } - public boolean isOneFollowingFolder() { - return mIsOneNoteFollowingFolder; - } - - public boolean isMultiFollowingFolder() { - return mIsMultiNotesFollowingFolder; - } - - public boolean isLast() { - return mIsLastItem; - } - - public String getCallName() { - return mName; - } - - public boolean isFirst() { - return mIsFirstItem; - } - - public boolean isSingle() { - return mIsOnlyOneItem; - } - - public long getId() { - return mId; - } - - public long getAlertDate() { - return mAlertDate; - } - - public long getCreatedDate() { - return mCreatedDate; - } - - public boolean hasAttachment() { - return mHasAttachment; - } - - public long getModifiedDate() { - return mModifiedDate; - } - - public int getBgColorId() { - return mBgColorId; - } - - public long getParentId() { - return mParentId; - } - - public int getNotesCount() { - return mNotesCount; - } - - public long getFolderId () { - return mParentId; - } - - public int getType() { - return mType; - } - - public int getWidgetType() { - return mWidgetType; - } - - public int getWidgetId() { - return mWidgetId; - } - - public String getSnippet() { - return mSnippet; - } - - public boolean hasAlert() { - return (mAlertDate > 0); - } - - public boolean isCallRecord() { - return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber)); - } - - public static int getNoteType(Cursor cursor) { - return cursor.getInt(TYPE_COLUMN); - } -} + // 定义一个公开的布尔型方法 isOneFollowingFolder,返回值是 mIsOneNoteFollowingFolder 的值 + public boolean isOneFollowingFolder() { + return mIsOneNoteFollowingFolder; + } + + // 定义一个公开的布尔型方法 isMultiFollowingFolder,返回值是 mIsMultiNotesFollowingFolder 的值 + public boolean isMultiFollowingFolder() { + return mIsMultiNotesFollowingFolder; + } + + // 定义一个公开的布尔型方法 isLast,返回值是 mIsLastItem 的值 + public boolean isLast() { + return mIsLastItem; + } + + // 定义一个公开的字符串获取方法 getCallName,返回值是 mName 的值 + public String getCallName() { + return mName; + } + + // 定义一个公开的布尔型方法 isFirst,返回值是 mIsFirstItem 的值 + public boolean isFirst() { + return mIsFirstItem; + } + + // 定义一个公开的布尔型方法 isSingle,返回值是 mIsOnlyOneItem 的值 + public boolean isSingle() { + return mIsOnlyOneItem; + } + + // 定义一个公开的长整型方法 getId,返回值是 mId 的值 + public long getId() { + return mId; + } + + // 定义一个公开的长整型方法 getAlertDate,返回值是 mAlertDate 的值 + public long getAlertDate() { + return mAlertDate; + } + + // 定义一个公开的长整型方法 getCreatedDate,返回值是 mCreatedDate 的值 + public long getCreatedDate() { + return mCreatedDate; + } + + // 定义一个公开的布尔型方法 hasAttachment,返回值是 mHasAttachment 的值 + public boolean hasAttachment() { + return mHasAttachment; + } + + // 定义一个公开的长整型方法 getModifiedDate,返回值是 mModifiedDate 的值 + public long getModifiedDate() { + return mModifiedDate; + } + + // 定义一个公开的整型方法 getBgColorId,返回值是 mBgColorId 的值 + public int getBgColorId() { + return mBgColorId; + } + + // 定义一个公开的长整型方法 getParentId,返回值是 mParentId 的值,注意这个方法名和 getFolderId 很相似,可能会有一些混淆。 + public long getParentId() { + return mParentId; + } + + // 定义一个公开的整型方法 getNotesCount,返回值是 mNotesCount 的值,这个方法可能用于获取笔记文件夹中的笔记数量。 + public int getNotesCount() { + return mNotesCount; + } + + // 定义一个公开的长整型方法 getFolderId,返回值也是 mParentId 的值。这个方法和上面的 getParentId 方法是完全一样的,可能是代码重复或者错误。 + public long getFolderId () { + return mParentId; + } + + // 定义一个公开的整型方法 getType,返回值是 mType 的值,这个方法可能用于获取笔记的类型。 + public int getType() { + return mType; + } + + // 定义一个公开的整型方法 getWidgetType,返回值是 mWidgetType 的值,这个方法可能用于获取部件类型。部件可能是一个UI组件或者应用的一部分。 + public int getWidgetType() { + return mWidgetType; + } + + // 定义一个公开的整型方法 getWidgetId,返回值是 mWidgetId 的值,这个方法可能用于获取部件ID。部件可能是UI的一部分或者应用的一部分。 部件ID可能是唯一标识部件的值。 同样的部件可能在屏幕上多次出现,但是每个实例都有唯一的ID。 每个部件ID都存储在部件管理器的内部数据结构中。 通过使用部件ID,可以引用和操作特定的部件实例。 这可能对于在运行时对部件进行动态控制非常有用。 在Android中,部件ID通常是整数类型。 例如,在View类中有一个名为getId的方法,它返回View的ID。 这个ID就是View的实例在屏幕上的唯一标识符。 ID可以是任何整数类型(int),因此你可以使用任何整数作为ID。 在Android中,ID的默认范围是-1到2147483647(如果使用Java)。 在使用C++时,范围可能会有所不同。 ID的值在部件的生命周期中保持不变。 ID为0表示没有给部件指定ID。 在给定ID的情况下,你可以通过使用findViewById或findView \ No newline at end of file