Compare commits

..

No commits in common. 'd7c0e73f5b13192593ecc56a984e06ccd7cce5aa' and 'e233fc51b005dbb0aedf85a58169254435e7ad29' have entirely different histories.

@ -1,12 +1,7 @@
<<<<<<< HEAD <<<<<<< HEAD
<<<<<<< HEAD
# gitProject1 # gitProject1
1.精读小米便签源代码,写泛读报告 1.精读小米便签源代码,写泛读报告
<<<<<<< HEAD
2.
=======
======= =======
<<<<<<< HEAD <<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
@ -20,12 +15,3 @@ abc
# gitProject1 # gitProject1
>>>>>>> 678e0f2fc21bc4a1625205602371ca421396ceee >>>>>>> 678e0f2fc21bc4a1625205602371ca421396ceee
>>>>>>> 856149d31b3fdb3d65ebb0c2da0a49c2b8417f9e >>>>>>> 856149d31b3fdb3d65ebb0c2da0a49c2b8417f9e
=======
# gitProject1
=======
# gitProject1
1.精读小米便签源代码,写泛读报告
>>>>>>> ec5b092c2fe5adbe24627fc2992503627dc1795b
>>>>>>> 5f5cff49fcbaa1b5df8823143d84bbfcc52cd49f
>>>>>>> 63fc6f227a94c2fab6101a51858ced17a7619c89

@ -14,54 +14,48 @@
* limitations under the License. * limitations under the License.
*/ */
package net.micode.notes.model;//创建一个包,用于区别类名的命名空间 package net.micode.notes.model;
import android.content.ContentProviderOperation;//批量的更新、插入、删除数据。 import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;//操作的结果 import android.content.ContentProviderResult;
import android.content.ContentUris;//用于添加和获取Uri后面的ID import android.content.ContentUris;
import android.content.ContentValues;//一种用来存储基本数据类型数据的存储机制 import android.content.ContentValues;
import android.content.Context;//需要用该类来弄清楚调用者的实例 import android.content.Context;
import android.content.OperationApplicationException;//操作应用程序容错 import android.content.OperationApplicationException;
import android.net.Uri;//表示待操作的数据 import android.net.Uri;
import android.os.RemoteException;//远程容错 import android.os.RemoteException;
import android.util.Log;//输出日志,比如说出错、警告等 import android.util.Log;
//引入其余包
import net.micode.notes.data.Notes; import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.CallNote; import net.micode.notes.data.Notes.CallNote;
import net.micode.notes.data.Notes.DataColumns; import net.micode.notes.data.Notes.DataColumns;
import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.data.Notes.TextNote; import net.micode.notes.data.Notes.TextNote;
import java.util.ArrayList;//系统的自带的可变数组的类 import java.util.ArrayList;
public class Note { public class Note {
private ContentValues mNoteDiffValues; private ContentValues mNoteDiffValues;
private NoteData mNoteData; private NoteData mNoteData;
//mNoteDiffValues和mNoteData
private static final String TAG = "Note"; private static final String TAG = "Note";
/** /**
* Create a new note id for adding a new note to databases * 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) {
// Create a new note in the database // Create a new note in the database
// 在数据库中加入一个新的笔记
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
long createdTime = System.currentTimeMillis();//创建一个变量记录创建的时间 long createdTime = System.currentTimeMillis();
values.put(NoteColumns.CREATED_DATE, createdTime);//将创建日期的值付给 CREATED_DATE创建时间 values.put(NoteColumns.CREATED_DATE, createdTime);
values.put(NoteColumns.MODIFIED_DATE, createdTime);//将创建日期的值付给 MODIFIED_DATE修改时间 values.put(NoteColumns.MODIFIED_DATE, createdTime);
values.put(NoteColumns.TYPE, Notes.TYPE_NOTE);//把type的值赋为0 values.put(NoteColumns.TYPE, Notes.TYPE_NOTE);
values.put(NoteColumns.LOCAL_MODIFIED, 1);//把LOCAL_MODIFIED 本地修改 的值赋为1 values.put(NoteColumns.LOCAL_MODIFIED, 1);
values.put(NoteColumns.PARENT_ID, folderId);//把文件夹id赋给PARENT_ID 父类id values.put(NoteColumns.PARENT_ID, folderId);
Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values); Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values);
long noteId = 0; long noteId = 0;
try { try {
noteId = Long.valueOf(uri.getPathSegments().get(1)); noteId = Long.valueOf(uri.getPathSegments().get(1));
} } catch (NumberFormatException e) {
catch (NumberFormatException e) {
Log.e(TAG, "Get note id error :" + e.toString()); Log.e(TAG, "Get note id error :" + e.toString());
noteId = 0; noteId = 0;
} }
@ -159,7 +153,7 @@ public class Note {
} }
void setTextDataId(long id) { void setTextDataId(long id) {
if (id <= 0) { if(id <= 0) {
throw new IllegalArgumentException("Text data id should larger than 0"); throw new IllegalArgumentException("Text data id should larger than 0");
} }
mTextDataId = id; mTextDataId = id;
@ -195,7 +189,7 @@ public class Note {
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>(); ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder builder = null; ContentProviderOperation.Builder builder = null;
if (mTextDataValues.size() > 0) { if(mTextDataValues.size() > 0) {
mTextDataValues.put(DataColumns.NOTE_ID, noteId); mTextDataValues.put(DataColumns.NOTE_ID, noteId);
if (mTextDataId == 0) { if (mTextDataId == 0) {
mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE); mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE);
@ -203,14 +197,12 @@ public class Note {
mTextDataValues); mTextDataValues);
try { try {
setTextDataId(Long.valueOf(uri.getPathSegments().get(1))); setTextDataId(Long.valueOf(uri.getPathSegments().get(1)));
} } catch (NumberFormatException e) {
catch (NumberFormatException e) {
Log.e(TAG, "Insert new text data fail with noteId" + noteId); Log.e(TAG, "Insert new text data fail with noteId" + noteId);
mTextDataValues.clear(); mTextDataValues.clear();
return null; return null;
} }
} } else {
else {
builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mTextDataId)); Notes.CONTENT_DATA_URI, mTextDataId));
builder.withValues(mTextDataValues); builder.withValues(mTextDataValues);
@ -219,7 +211,7 @@ public class Note {
mTextDataValues.clear(); mTextDataValues.clear();
} }
if (mCallDataValues.size() > 0) { if(mCallDataValues.size() > 0) {
mCallDataValues.put(DataColumns.NOTE_ID, noteId); mCallDataValues.put(DataColumns.NOTE_ID, noteId);
if (mCallDataId == 0) { if (mCallDataId == 0) {
mCallDataValues.put(DataColumns.MIME_TYPE, CallNote.CONTENT_ITEM_TYPE); mCallDataValues.put(DataColumns.MIME_TYPE, CallNote.CONTENT_ITEM_TYPE);
@ -227,14 +219,12 @@ public class Note {
mCallDataValues); mCallDataValues);
try { try {
setCallDataId(Long.valueOf(uri.getPathSegments().get(1))); setCallDataId(Long.valueOf(uri.getPathSegments().get(1)));
} } catch (NumberFormatException e) {
catch (NumberFormatException e) {
Log.e(TAG, "Insert new call data fail with noteId" + noteId); Log.e(TAG, "Insert new call data fail with noteId" + noteId);
mCallDataValues.clear(); mCallDataValues.clear();
return null; return null;
} }
} } else {
else {
builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId(
Notes.CONTENT_DATA_URI, mCallDataId)); Notes.CONTENT_DATA_URI, mCallDataId));
builder.withValues(mCallDataValues); builder.withValues(mCallDataValues);
@ -249,12 +239,10 @@ public class Note {
Notes.AUTHORITY, operationList); Notes.AUTHORITY, operationList);
return (results == null || results.length == 0 || results[0] == null) ? null return (results == null || results.length == 0 || results[0] == null) ? null
: ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId); : ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId);
} } catch (RemoteException e) {
catch (RemoteException e) {
Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage()));
return null; return null;
} } catch (OperationApplicationException e) {
catch (OperationApplicationException e) {
Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage()));
return null; return null;
} }

@ -2,7 +2,6 @@
# as it contains information specific to your local configuration. # as it contains information specific to your local configuration.
# #
# Location of the SDK. This is only used by Gradle. # Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the #
# header note. #Tue Mar 28 15:42:34 CST 2023
#Thu Apr 13 00:09:07 CST 2023 sdk.dir=D\:\\programming\\androidstudio\\Sdk
sdk.dir=C\:\\Users\\33398\\AppData\\Local\\Android\\Sdk

Loading…
Cancel
Save