添加注释

pull/1/head
ZYP 1 year ago
parent a3ccc7c6ec
commit e99ba549ae

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
// 该类定义了访问本地 SQLite 数据库中笔记数据表的方法
package net.micode.notes.gtask.data; package net.micode.notes.gtask.data;
import android.content.ContentResolver; import android.content.ContentResolver;
@ -36,11 +36,11 @@ import org.json.JSONObject;
public class SqlData { 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; private static final int INVALID_ID = -99999;// 无效的数据 ID
public static final String[] PROJECTION_DATA = new String[] { public static final String[] PROJECTION_DATA = new String[] {// 数据表中常用的列
DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1, DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1,
DataColumns.DATA3 DataColumns.DATA3
}; };
@ -55,10 +55,10 @@ public class SqlData {
public static final int DATA_CONTENT_DATA_3_COLUMN = 4; public static final int DATA_CONTENT_DATA_3_COLUMN = 4;
private ContentResolver mContentResolver; private ContentResolver mContentResolver;// ContentResolver 用于访问本地数据库
private boolean mIsCreate;
private boolean mIsCreate;// 是否为新建的数据
// 数据的各个列的值
private long mDataId; private long mDataId;
private String mDataMimeType; private String mDataMimeType;
@ -69,9 +69,9 @@ public class SqlData {
private String mDataContentData3; private String mDataContentData3;
private ContentValues mDiffDataValues; private ContentValues mDiffDataValues; // 修改时的差异数据
public SqlData(Context context) { public SqlData(Context context) {// 构造方法1用于新建数据
mContentResolver = context.getContentResolver(); mContentResolver = context.getContentResolver();
mIsCreate = true; mIsCreate = true;
mDataId = INVALID_ID; mDataId = INVALID_ID;
@ -82,14 +82,14 @@ public class SqlData {
mDiffDataValues = new ContentValues(); mDiffDataValues = new ContentValues();
} }
public SqlData(Context context, Cursor c) { public SqlData(Context context, Cursor c) {// 构造方法2用于从数据库中读取数据
mContentResolver = context.getContentResolver(); mContentResolver = context.getContentResolver();
mIsCreate = false; mIsCreate = false;
loadFromCursor(c); loadFromCursor(c);
mDiffDataValues = new ContentValues(); mDiffDataValues = new ContentValues();
} }
private void loadFromCursor(Cursor c) { private void loadFromCursor(Cursor c) {// 从 Cursor 中读取数据
mDataId = c.getLong(DATA_ID_COLUMN); mDataId = c.getLong(DATA_ID_COLUMN);
mDataMimeType = c.getString(DATA_MIME_TYPE_COLUMN); mDataMimeType = c.getString(DATA_MIME_TYPE_COLUMN);
mDataContent = c.getString(DATA_CONTENT_COLUMN); mDataContent = c.getString(DATA_CONTENT_COLUMN);
@ -97,7 +97,7 @@ public class SqlData {
mDataContentData3 = c.getString(DATA_CONTENT_DATA_3_COLUMN); mDataContentData3 = c.getString(DATA_CONTENT_DATA_3_COLUMN);
} }
public void setContent(JSONObject js) throws JSONException { public void setContent(JSONObject js) throws JSONException {//建立连接
long dataId = js.has(DataColumns.ID) ? js.getLong(DataColumns.ID) : INVALID_ID; long dataId = js.has(DataColumns.ID) ? js.getLong(DataColumns.ID) : INVALID_ID;
if (mIsCreate || mDataId != dataId) { if (mIsCreate || mDataId != dataId) {
mDiffDataValues.put(DataColumns.ID, dataId); mDiffDataValues.put(DataColumns.ID, dataId);
@ -144,8 +144,13 @@ public class SqlData {
return js; return js;
} }
public void commit(long noteId, boolean validateVersion, long version) { public void commit(long noteId, boolean validateVersion, long version) {//提交数据更改
/* mIsCreate true
mDataId
mDiffDataValues DataColumns.ID
noteId mDiffDataValues
mContentResolver mDiffDataValues Notes.CONTENT_DATA_URI
Long mDataId */
if (mIsCreate) { if (mIsCreate) {
if (mDataId == INVALID_ID && mDiffDataValues.containsKey(DataColumns.ID)) { if (mDataId == INVALID_ID && mDiffDataValues.containsKey(DataColumns.ID)) {
mDiffDataValues.remove(DataColumns.ID); mDiffDataValues.remove(DataColumns.ID);
@ -159,7 +164,15 @@ public class SqlData {
Log.e(TAG, "Get note id error :" + e.toString()); Log.e(TAG, "Get note id error :" + e.toString());
throw new ActionFailureException("create note failed"); throw new ActionFailureException("create note failed");
} }
} else { }
/* mIsCreate true
mDiffDataValues 0
mContentResolver
mDataId
使 NoteColumns.ID NoteColumns.VERSION
noteId version mContentResolver
0 */
else {
if (mDiffDataValues.size() > 0) { if (mDiffDataValues.size() > 0) {
int result = 0; int result = 0;
if (!validateVersion) { if (!validateVersion) {
@ -183,7 +196,7 @@ public class SqlData {
mIsCreate = false; mIsCreate = false;
} }
public long getId() { public long getId() {//获取ID
return mDataId; return mDataId;
} }
} }

Loading…
Cancel
Save