diff --git a/src/main/java/net/micode/notes/model/WorkingNote.java b/src/main/java/net/micode/notes/model/WorkingNote.java index 6fa818c..aab673a 100644 --- a/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/main/java/net/micode/notes/model/WorkingNote.java @@ -31,11 +31,27 @@ import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.TextNote; import net.micode.notes.tool.ResourceParser.NoteBgResources; - +/** + * + * @ProjectName: xiaomibianqian + * @Package: model + * @ClassName: WorkingNote + * @Description: 创建了一个正在工作的便签类,其中有大量的参数,包括参量类、布尔值类、区分类的变量 + * 另外,封装了一系列的函数,其中有返回私有变量的,与数据库进行操作的,在不同情况下操作的(如新建的便签与修改的便签) + * 主要交互的包、类:NoteEditActivities,Notes(from data)Note NoteListActivity SqlData + * 另外,有创建一些接口,比如NoteSettingChangedListener,在NoteEditActivities中具体实现 + * + * @Author: zhoushiyu_br + * @CreateDate: 2023.12.16 + * @UpdateUser: 更新者: + * @UpdateDate: 2023.12.21 + * @UpdateRemark: 更新说明: + * @Version: 这次更新主要是修改了之前代码批注不够规范的问题,结合上课毛教员对于问题的指出,对格式进行了优化——PickupRAIN + */ public class WorkingNote { // Note for the working note - //这个在Note里面定义了Note类的基本类型 - private Note mNote; + + private Note mNote;//这个在Note里面定义了Note类的基本类型, // Note Id private long mNoteId; // Note content @@ -44,27 +60,32 @@ public class WorkingNote { private int mMode; private long mAlertDate; -//最后的修改日期 - private long mModifiedDate; -//定义的颜色的ID - private int mBgColorId; -//定义了一个int类型,用来定位到哪一个小组件被使用 - private int mWidgetId; -//定义了一个int类型,用来区分使用了什么类型的小组件 - private int mWidgetType; -//用来定位便签放在哪个文件夹 - private long mFolderId; + + private long mModifiedDate;//最后的修改日期 + + private int mBgColorId;//定义的颜色的ID + + private int mWidgetId;//定义了一个int类型,用来定位到哪一个小组件被使用 + + private int mWidgetType;//定义了一个int类型,用来区分使用了什么类型的小组件 + + private long mFolderId;//用来定位便签放在哪个文件夹 private Context mContext; -//定义为静态变量,保证不能再被更改。防止数据出现异常 - private static final String TAG = "WorkingNote"; -//定义一个布尔变量,用来保存是否要被删除。通过查看用法,发现在后面保存|修改的时候要进行判断。 - private boolean mIsDeleted; -//后面定义的,暂时还不知道是啥,貌似是个接口 - private NoteSettingChangedListener mNoteSettingStatusListener; -//定义一个数组,保存DataColumn数组当中的一些列变量。关于DataColumn的注解我写在了定义处。 -//之所以用一个字符串数组来调用DataColumn接口,是为了“方便在进行数据库操作时可以一次性指定需要查询的列”? - //不过他只在定义cursor的时候调用了就是了。 + + private static final String TAG = "WorkingNote";//定义为静态变量,保证不能再被更改。防止数据出现异常 + + private boolean mIsDeleted;//定义一个布尔变量,用来保存是否要被删除。通过查看用法,发现在后面保存|修改的时候要进行判断。 + + private NoteSettingChangedListener mNoteSettingStatusListener;//定义了一个接口,具体是在NoteEditActivities中实现,实现对于便签是否修改的监听 + /** + * 定义一个数组,保存DataColumn数组当中的一些列变量。关于DataColumn的注解我写在了定义处。 + * 之所以用一个字符串数组来调用DataColumn接口,是为了“方便在进行数据库操作时可以一次性指定需要查询的列”? + * 这个数组只有在loadNoteData这个函数的时候进行了调用。将数据加载到 + * 12.22更新,我学习了getContentResolver()的用法 + * 实际上,getContentResolver是用来查询数据库的,这里定义的Projection是所有属性的集合。数据库查询,按列进行 + * 在按列查询时,在数据库访问到底,只需要在数组中继续访问即可。关于函数详解我会写在函数的定义处; + */ public static final String[] DATA_PROJECTION = new String[] { DataColumns.ID,//在Note里面定义一个接口类型 DataColumns.CONTENT, @@ -131,6 +152,18 @@ public class WorkingNote { loadNote(); } + /** + * @author: zhoushiyu_PickupRAIN + * @methodsName: loadNote + * @description: 创建游标,对数据库进行操作。首先从传入的URI中找到数据库地址,对元素数组进行逐列筛选。 + * @param: 虽然没传入,,但是说明一下 + * ->Notes.CONTENT_NOTE_URI:数据库的地址,根据URI找到相应数据库 + * ->NOTE_PROJECTION :属性列表,包含了所有的表头 + * ->这里就能很容易理解为什么NOTE_PROJECTION为什么只在这里调用,也没有初始化。 + * @return: String + * @throws: Nopes + * + */ private void loadNote() { //定义一个cursor游标,用来操作数据。这里传入了很多量,如URI、Id、和来自Projection的一系列。 Cursor cursor = mContext.getContentResolver().query( diff --git a/实践模板-开源软件的质量分析报告文档.docx b/实践模板-开源软件的质量分析报告文档.docx new file mode 100644 index 0000000..f1f07f3 Binary files /dev/null and b/实践模板-开源软件的质量分析报告文档.docx differ