From 1b8264a619695fb91d0fff19fd866cfe05c4c3c3 Mon Sep 17 00:00:00 2001 From: Marcus <3160876878@qq.com> Date: Thu, 13 Apr 2023 13:05:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86MetaData=E4=B8=AD?= =?UTF-8?q?=E5=A4=9A=E5=A4=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/micode/notes/gtask/data/MetaData.java | 43 +++++++++++++++--- .../notes/ui/activities/NoteEditActivity.java | 6 +++ ...米便签开源代码的泛读报告.docx | Bin 262265 -> 263525 bytes 3 files changed, 42 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/net/micode/notes/gtask/data/MetaData.java b/app/src/main/java/net/micode/notes/gtask/data/MetaData.java index 3a2050b..fc75821 100644 --- a/app/src/main/java/net/micode/notes/gtask/data/MetaData.java +++ b/app/src/main/java/net/micode/notes/gtask/data/MetaData.java @@ -26,29 +26,49 @@ import org.json.JSONObject; public class MetaData extends Task { + /* + * 功能:得到类的简写名称存入字符串TAG中 + * 过程:调用getSimpleName ()函数 + */ private final static String TAG = MetaData.class.getSimpleName(); private String mRelatedGid = null; - + /* + * 功能:设置数据,即生成元数据库 + * 过程:调用JSONObject库函数put (),Task类中的setNotes ()和setName ()函数 + */ public void setMeta(String gid, JSONObject metaInfo) { try { metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); + /* + * 将这对键值放入metaInfo这个jsonobject对象中 + */ } catch (JSONException e) { Log.e(TAG, "failed to put related gid"); + /* + * 输出错误信息 + */ } setNotes(metaInfo.toString()); setName(GTaskStringUtils.META_NOTE_NAME); } - + /* + * 功能:获取相关联的Gid + */ public String getRelatedGid() { return mRelatedGid; } - + /* + * 功能:判断当前数据是否为空,若为空则返回真即值得保存 + */ @Override public boolean isWorthSaving() { return getNotes() != null; } - + /* + * 功能:使用远程json数据对象设置元数据内容 + * 过程:调用父类Task中的setContentByRemoteJSON ()函数来通过远程JSON来设置目录 + */ @Override public void setContentByRemoteJSON(JSONObject js) { super.setContentByRemoteJSON(js); @@ -58,6 +78,9 @@ public class MetaData extends Task { mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); } catch (JSONException e) { Log.w(TAG, "failed to get related gid"); + /* + * 输出警告信息 + */ mRelatedGid = null; } } @@ -68,15 +91,21 @@ public class MetaData extends Task { // this function should not be called throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called"); } - + /* + * 异常:传递了非法参数 + */ @Override public JSONObject getLocalJSONFromContent() { throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called"); } - + /* + * 功能:获取同步动作状态,一般不会用到,若用到,则抛出异常 + */ @Override public int getSyncAction(Cursor c) { throw new IllegalAccessError("MetaData:getSyncAction should not be called"); } - + /* + * 异常:传递了非法参数 + */ } diff --git a/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java b/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java index 45e6435..c3918b2 100644 --- a/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java +++ b/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java @@ -269,6 +269,9 @@ public class NoteEditActivity extends Activity implements OnClickListener, return true; } + /** + * 刷新便签屏幕状态 + */ @Override protected void onResume() { super.onResume(); @@ -415,6 +418,9 @@ public class NoteEditActivity extends Activity implements OnClickListener, clearSettingState(); } + /** + * 更新便签小配件的类型以及功能 + */ private void updateWidget() { Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) { diff --git a/doc/小米便签开源代码的泛读报告.docx b/doc/小米便签开源代码的泛读报告.docx index 17cfa753f3e782c5dc29469609a9f56e077fee87..90811459a9eb3c639860384561471c8fc6b6be0d 100644 GIT binary patch delta 14922 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 u|8MB+fAWX_E$)$${Ppj}dQ%p^zy&}}lF%S{K%; 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