|
|
|
@ -41,72 +41,73 @@ public class Note {
|
|
|
|
|
/**
|
|
|
|
|
* Create a new note id for adding a new note to databases为将新笔记添加到数据库中创建一个新的笔记ID
|
|
|
|
|
*/
|
|
|
|
|
public static synchronized long getNewNoteId(Context context, long folderId) {
|
|
|
|
|
public static synchronized long getNewNoteId(Context context, long folderId) {//定义一个公共的静态同步方法,用于获取新的笔记ID。该方法接受两个参数:Context对象和folderId。
|
|
|
|
|
// Create a new note in the database在数据库中创建一个新的笔记
|
|
|
|
|
ContentValues values = new ContentValues();
|
|
|
|
|
long createdTime = System.currentTimeMillis();
|
|
|
|
|
values.put(NoteColumns.CREATED_DATE, createdTime);
|
|
|
|
|
values.put(NoteColumns.MODIFIED_DATE, createdTime);
|
|
|
|
|
values.put(NoteColumns.TYPE, Notes.TYPE_NOTE);
|
|
|
|
|
values.put(NoteColumns.LOCAL_MODIFIED, 1);
|
|
|
|
|
values.put(NoteColumns.PARENT_ID, folderId);
|
|
|
|
|
Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values);
|
|
|
|
|
|
|
|
|
|
long noteId = 0;
|
|
|
|
|
try {
|
|
|
|
|
noteId = Long.valueOf(uri.getPathSegments().get(1));
|
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
|
Log.e(TAG, "Get note id error :" + e.toString());
|
|
|
|
|
noteId = 0;
|
|
|
|
|
ContentValues values = new ContentValues();//创建一个新的ContentValues对象,用于存储要插入数据库的值。
|
|
|
|
|
long createdTime = System.currentTimeMillis();//获取当前系统时间的毫秒表示。
|
|
|
|
|
values.put(NoteColumns.CREATED_DATE, createdTime);//将创建时间添加到ContentValues对象中。
|
|
|
|
|
values.put(NoteColumns.MODIFIED_DATE, createdTime);//将修改时间添加到ContentValues对象中,此时与创建时间相同。
|
|
|
|
|
values.put(NoteColumns.TYPE, Notes.TYPE_NOTE);//将笔记类型添加到ContentValues对象中
|
|
|
|
|
values.put(NoteColumns.LOCAL_MODIFIED, 1);//将本地修改标志添加到ContentValues对象中,设置为1。
|
|
|
|
|
values.put(NoteColumns.PARENT_ID, folderId);//将父文件夹ID添加到ContentValues对象中。
|
|
|
|
|
|
|
|
|
|
Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values);//通过ContentResolver的insert方法将ContentValues对象中的值插入到笔记数据库中,并返回新笔记的URI。
|
|
|
|
|
|
|
|
|
|
long noteId = 0;//初始化一个long类型的变量noteId,用于存储新笔记的ID
|
|
|
|
|
try {//开始一个try块,用于捕获异常
|
|
|
|
|
noteId = Long.valueOf(uri.getPathSegments().get(1));//从URI中获取新笔记的ID。
|
|
|
|
|
} catch (NumberFormatException e) {//捕获NumberFormatException类型的异常
|
|
|
|
|
Log.e(TAG, "Get note id error :" + e.toString());//如果捕获到异常,则记录错误信息到日志中。
|
|
|
|
|
noteId = 0;//将noteId设置为0,表示获取ID失败
|
|
|
|
|
}
|
|
|
|
|
if (noteId == -1) {
|
|
|
|
|
throw new IllegalStateException("Wrong note id:" + noteId);
|
|
|
|
|
throw new IllegalStateException("Wrong note id:" + noteId);//如果noteId为-1,则抛出一个IllegalStateException,表示获取到错误的笔记ID。
|
|
|
|
|
}
|
|
|
|
|
return noteId;
|
|
|
|
|
return noteId;//返回获取到的新笔记ID
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Note() {
|
|
|
|
|
mNoteDiffValues = new ContentValues();
|
|
|
|
|
mNoteData = new NoteData();
|
|
|
|
|
mNoteDiffValues = new ContentValues();//创建新的ContentValues对象
|
|
|
|
|
mNoteData = new NoteData();//创建新的笔记数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setNoteValue(String key, String value) {
|
|
|
|
|
mNoteDiffValues.put(key, value);
|
|
|
|
|
mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1);
|
|
|
|
|
mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis());
|
|
|
|
|
public void setNoteValue(String key, String value) {//定义了一个公共的方法setNoteValue,该方法用于设置笔记的数值。它接受两个参数:key和value。
|
|
|
|
|
mNoteDiffValues.put(key, value);//将键值对(key, value)添加到mNoteDiffValues中。
|
|
|
|
|
mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1);//将本地修改标志设置为1,表示笔记已被修改。
|
|
|
|
|
mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis());//将修改日期设置为当前系统时间的毫秒表示。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setTextData(String key, String value) {
|
|
|
|
|
mNoteData.setTextData(key, value);
|
|
|
|
|
}
|
|
|
|
|
public void setTextData(String key, String value) {//定义了一个公共的方法setTextData,用于设置笔记的文本数据。它接受两个参数:key和value。
|
|
|
|
|
mNoteData.setTextData(key, value);}//调用mNoteData对象的setTextData方法,将键值对(key, value)添加到笔记数据中
|
|
|
|
|
|
|
|
|
|
public void setTextDataId(long id) {
|
|
|
|
|
mNoteData.setTextDataId(id);
|
|
|
|
|
public void setTextDataId(long id) {//定义了一个公共的方法setTextDataId,用于设置笔记文本数据的ID。它接受一个参数:id。
|
|
|
|
|
mNoteData.setTextDataId(id);//调用mNoteData对象的setTextDataId方法,设置笔记文本数据的ID。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public long getTextDataId() {
|
|
|
|
|
return mNoteData.mTextDataId;
|
|
|
|
|
}
|
|
|
|
|
return mNoteData.mTextDataId;//返回mNoteData对象中的文本数据ID
|
|
|
|
|
}//定义了一个公共的方法getTextDataId,用于获取笔记文本数据的ID
|
|
|
|
|
|
|
|
|
|
public void setCallDataId(long id) {
|
|
|
|
|
mNoteData.setCallDataId(id);
|
|
|
|
|
}
|
|
|
|
|
mNoteData.setCallDataId(id);//调用mNoteData对象的setCallDataId方法,设置笔记通话数据的ID。
|
|
|
|
|
}//定义了一个公共的方法setCallDataId,用于设置笔记通话数据的ID。它接受一个参数:id。
|
|
|
|
|
|
|
|
|
|
public void setCallData(String key, String value) {
|
|
|
|
|
mNoteData.setCallData(key, value);
|
|
|
|
|
}
|
|
|
|
|
mNoteData.setCallData(key, value);//调用mNoteData对象的setCallData方法,将键值对(key, value)添加到笔记通话数据中。
|
|
|
|
|
}//定义了一个公共的方法setCallData,用于设置笔记的通话数据。它接受两个参数:key和value。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean isLocalModified() {
|
|
|
|
|
return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified();
|
|
|
|
|
public boolean isLocalModified() {//定义了一个公共的方法isLocalModified,用于检查笔记是否被本地修改。
|
|
|
|
|
return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified();//返回一个布尔值,表示mNoteDiffValues的大小是否大于0,或者mNoteData是否被本地修改。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean syncNote(Context context, long noteId) {
|
|
|
|
|
public boolean syncNote(Context context, long noteId) {//定义了一个公共的方法syncNote,用于同步笔记。
|
|
|
|
|
if (noteId <= 0) {
|
|
|
|
|
throw new IllegalArgumentException("Wrong note id:" + noteId);
|
|
|
|
|
throw new IllegalArgumentException("Wrong note id:" + noteId);//如果笔记ID小于等于0,则抛出一个IllegalArgumentException,表示获取到错误的笔记ID。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!isLocalModified()) {
|
|
|
|
|
return true;
|
|
|
|
|
if (!isLocalModified()) {//检查笔记是否被本地修改
|
|
|
|
|
return true;//如果笔记没有被本地修改,则返回true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|