From 4d0993208333304183b94de91c5ff47a5bcc56fc Mon Sep 17 00:00:00 2001 From: PickupRAIN <1610526863@qq.com> Date: Tue, 26 Dec 2023 23:35:33 +0800 Subject: [PATCH] 1111 --- .../net/micode/notes/model/WorkingNote.java | 77 +++++++++++++----- ...源软件的质量分析报告文档.docx | Bin 0 -> 19893 bytes 2 files changed, 55 insertions(+), 22 deletions(-) create mode 100644 实践模板-开源软件的质量分析报告文档.docx 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 0000000000000000000000000000000000000000..f1f07f3ea9e82330cf81473fb8a57097378744de GIT binary patch literal 19893 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 O0NTfjp)jf6zWsmlkMYO= literal 0 HcmV?d00001