diff --git a/MetaData.java b/MetaData.java deleted file mode 100644 index cef06db..0000000 --- a/MetaData.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -//定义该类所在的包。包是 Java 中组织类的方式,有助于代码的组织和管理。 -package net.micode.notes.gtask.data; -//导入 Android 的 Cursor 类,Cursor 是用于访问和操作数据库查询结果的工具。 -import android.database.Cursor; -//导入 Android 的 Log 类,用于在代码中输出日志信息。 -import android.util.Log; - -//导入一个自定义的工具类 GTaskStringUtils,它包含与 Google Tasks 相关的常量和方法。 -import net.micode.notes.tool.GTaskStringUtils; - -//导入 JSON 处理类。JSONObject 用于创建和解析 JSON 数据,JSONException 用于捕获解析 JSON 时的错误。 -import org.json.JSONException; -import org.json.JSONObject; - - - -//定义一个公共类 MetaData,该类继承自 Task 类,表示与 Google 任务相关的元数据(例如任务的 gid)。 -public class MetaData extends Task { - - //定义一个 TAG 字符串常量,存储当前类的简短类名 "MetaData",用于在日志中输出调试信息。 - private final static String TAG = MetaData.class.getSimpleName(); - - - //声明一个私有成员变量 mRelatedGid,用于保存与任务相关的 Google 任务 ID(gid)。初始值为 null。 - private String mRelatedGid = null; - - -// 定义一个公共方法 setMeta,用于设置任务的元数据。接收两个参数: -// gid:一个字符串,表示任务的 Google ID。 -// metaInfo:一个 JSONObject,包含其他元数据(如任务的附加信息)。 - public void setMeta(String gid, JSONObject metaInfo) { - -// 尝试将传入的 gid 插入到 metaInfo 中。GTaskStringUtils.META_HEAD_GTASK_ID 是用于存储任务 ID 的常量。 -// 如果插入失败,捕获 JSONException 异常并打印错误日志。 - try { - metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); - } catch (JSONException e) { - Log.e(TAG, "failed to put related gid"); - } - //将 metaInfo 转换为字符串并调用 setNotes() 方法保存。这将任务的元数据作为字符串保存在任务的 notes 字段中。 - setNotes(metaInfo.toString()); - //调用 setName() 设置任务的名称为 GTaskStringUtils.META_NOTE_NAME。这个名称可能是一个预定义的常量,表示任务的默认名称。 - setName(GTaskStringUtils.META_NOTE_NAME); - } - - - //定义一个公共方法 getRelatedGid,用于获取与任务相关的 Google 任务 ID。 - // return mRelatedGid;:返回之前保存的 mRelatedGid。 - public String getRelatedGid() { - return mRelatedGid; - } - - - - //@Override:表示该方法是重写父类 Task 中的方法。 - //public boolean isWorthSaving():定义一个方法 isWorthSaving,用于判断当前任务是否值得保存。通常,它会根据某些条件来判断任务是否需要被同步或保存到数据库中。 - //return getNotes() != null;:判断任务的 notes 字段是否为 null。如果 notes 字段不为空,说明任务有有效内容,返回 true;否则返回 false。 - @Override - public boolean isWorthSaving() { - return getNotes() != null; - } - @Override - //定义方法 setContentByRemoteJSON,用于从远程获取 JSON 数据并设置任务内容。 - public void setContentByRemoteJSON(JSONObject js) { - //调用父类的同名方法来处理远程 JSON 数据的基本设置。 - super.setContentByRemoteJSON(js); - //检查任务的 notes 字段是否不为空。 - if (getNotes() != null) { - //如果 notes 不为空,尝试将其转换为 JSONObject。 - //然后,从中提取出 gid 并保存到 mRelatedGid 中。 - // 如果解析过程中出现错误(例如格式问题),会捕获 JSONException 并输出警告日志,同时将 mRelatedGid 设为 null。 - try { - JSONObject metaInfo = new JSONObject(getNotes().trim()); - mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); - } catch (JSONException e) { - Log.w(TAG, "failed to get related gid"); - mRelatedGid = null; - } - } - } - - - //@Override: - //public void setContentByLocalJSON(JSONObject js): - //throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called");: - @Override - //该方法定义了从本地 JSON 数据设置任务内容的行为。 - public void setContentByLocalJSON(JSONObject js) { - // this function should not be called - //该方法被设计为不可调用,如果被调用,抛出 IllegalAccessError 异常。 - // 该类不允许使用本地 JSON 数据设置任务内容,因此抛出异常来提醒开发者 - throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called"); - } - - - - //表示重写父类的方法。 - @Override - //该方法定义了获取本地 JSON 数据的行为。 - public JSONObject getLocalJSONFromContent() { - //与 setContentByLocalJSON 类似,该方法不应该被调用,如果被调用,抛出 IllegalAccessError 异常. - throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called"); - } - - - - -//表示重写父类的方法。 - @Override - //定义获取同步操作的方法,通常会返回一个与同步操作相关的标志值。 - public int getSyncAction(Cursor c) { - //该方法不应被调用,抛出 IllegalAccessError 异常。 - throw new IllegalAccessError("MetaData:getSyncAction should not be called"); - } - -}