diff --git a/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/MetaData.java b/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/MetaData.java index 3a2050b..c1f897e 100644 --- a/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/MetaData.java +++ b/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/MetaData.java @@ -14,48 +14,51 @@ * limitations under the License. */ -package net.micode.notes.gtask.data; +package net.micode.notes.gtask.data;//包名声明:路径"net.micode.notes.gtask.data",文件中定义的类和接口都归属于这个包 -import android.database.Cursor; -import android.util.Log; +import android.database.Cursor;//导入Android平台的数据库Cursor类的语句 +import android.util.Log;//引入工具类Log来存放一些通用的、与业务逻辑无关的工具方法 import net.micode.notes.tool.GTaskStringUtils; -import org.json.JSONException; -import org.json.JSONObject; +import org.json.JSONException; //引入"org.json.JSONException"类,用于处理JSON格式数据的异常 +import org.json.JSONObject; //表示和操作JSON对象 public class MetaData extends Task { - private final static String TAG = MetaData.class.getSimpleName(); + private final static String TAG = MetaData.class.getSimpleName(); //用于在日志中标识当前类的名称 private String mRelatedGid = null; public void setMeta(String gid, JSONObject metaInfo) { - try { - metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); - } catch (JSONException e) { + try { + metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); + } catch (JSONException e) { //如果出现 JSONException 异常,则会捕获并记录日志 Log.e(TAG, "failed to put related gid"); } + // try-catch 块中,将键值对 (GTaskStringUtils.META_HEAD_GTASK_ID, gid) 添加到传入的 metaInfo JSON 对象中。 + setNotes(metaInfo.toString()); setName(GTaskStringUtils.META_NOTE_NAME); } public String getRelatedGid() { return mRelatedGid; - } + } @Override + //是一个Java注解,用于告诉编译器该方法是重写父类或接口中的方法。 public boolean isWorthSaving() { return getNotes() != null; } @Override public void setContentByRemoteJSON(JSONObject js) { - super.setContentByRemoteJSON(js); + super.setContentByRemoteJSON(js); //调用父类的方法,传入参数js if (getNotes() != null) { try { - JSONObject metaInfo = new JSONObject(getNotes().trim()); - mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); + JSONObject metaInfo = new JSONObject(getNotes().trim());//转化为JSONObject对象 + mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); //提取特征字段 } catch (JSONException e) { Log.w(TAG, "failed to get related gid"); mRelatedGid = null; @@ -63,6 +66,7 @@ public class MetaData extends Task { } } + //以下三段表示不应该被调用,如果调用了,抛出了一个IllegalAccessError异常,并提供了错误消息 @Override public void setContentByLocalJSON(JSONObject js) { // this function should not be called diff --git a/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/Node.java b/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/Node.java index 63950e0..202d2fe 100644 --- a/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/Node.java +++ b/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/Node.java @@ -38,33 +38,35 @@ public abstract class Node { public static final int SYNC_ACTION_UPDATE_CONFLICT = 7; public static final int SYNC_ACTION_ERROR = 8; + //不同数字表示进行不同操作 - private String mGid; + private String mGid; private String mName; - private long mLastModified; + private long mLastModified; private boolean mDeleted; + //节点的相关信息 public Node() { mGid = null; mName = ""; mLastModified = 0; mDeleted = false; - } + }//初始化 public abstract JSONObject getCreateAction(int actionId); public abstract JSONObject getUpdateAction(int actionId); - public abstract void setContentByRemoteJSON(JSONObject js); + public abstract void setContentByRemoteJSON(JSONObject js); //根据远程的 JSON 对象设置内容 public abstract void setContentByLocalJSON(JSONObject js); - public abstract JSONObject getLocalJSONFromContent(); + public abstract JSONObject getLocalJSONFromContent(); //返回一个 JSON 对象,表示从当前内容中获取本地 JSON 数据 - public abstract int getSyncAction(Cursor c); + public abstract int getSyncAction(Cursor c); //根据给定的 Cursor 返回一个 JSON 对象,表示同步操作 public void setGid(String gid) { this.mGid = gid; diff --git a/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/SqlData.java b/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/SqlData.java index d3ec3be..e298c62 100644 --- a/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/SqlData.java +++ b/源程序代码-小米便签-Notes-master (1)/Notes-master/src/net/micode/notes/gtask/data/SqlData.java @@ -16,7 +16,7 @@ package net.micode.notes.gtask.data; -import android.content.ContentResolver; +import android.content.ContentResolver; //应用程序需要访问其他应用的数据或者系统提供的数据时,就会使用ContentResolver来进行数据访问操作 import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; @@ -36,13 +36,18 @@ import org.json.JSONObject; public class SqlData { - private static final String TAG = SqlData.class.getSimpleName(); + private static final String TAG = SqlData.class.getSimpleName(); //得到类的简写名称存入字符串TAG中 private static final int INVALID_ID = -99999; public static final String[] PROJECTION_DATA = new String[] { DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1, DataColumns.DATA3 + //DataColumns.ID:表示查询结果中每个数据行的唯一标识符。 + //DataColumns.MIME_TYPE:表示查询结果中每个数据行的MIME类型。 + //DataColumns.CONTENT:表示查询结果中每个数据行的内容。 标识不同的数据列 + //DataColumns.DATA1:表示查询结果中每个数据行的第一个数据项。 + //DataColumns.DATA3:表示查询结果中每个数据行的第三个数据项。 }; public static final int DATA_ID_COLUMN = 0; @@ -54,6 +59,7 @@ public class SqlData { public static final int DATA_CONTENT_DATA_1_COLUMN = 3; public static final int DATA_CONTENT_DATA_3_COLUMN = 4; +//每个数据行中各个信息的位置 private ContentResolver mContentResolver; @@ -80,7 +86,7 @@ public class SqlData { mDataContentData1 = 0; mDataContentData3 = ""; mDiffDataValues = new ContentValues(); - } + } //初始化SqlData对象的字段和属性 public SqlData(Context context, Cursor c) { mContentResolver = context.getContentResolver();