diff --git a/doc/软件工程.docx b/doc/软件工程.docx deleted file mode 100644 index e8259178..00000000 Binary files a/doc/软件工程.docx and /dev/null differ diff --git a/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.bin b/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.bin index 1788ab18..07e99a25 100644 Binary files a/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.bin and b/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.bin differ diff --git a/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.lock b/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.lock index b4d8bd1b..10ff530d 100644 Binary files a/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.lock and b/src/Notes-master1/.gradle/7.5/executionHistory/executionHistory.lock differ diff --git a/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.bin b/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.bin index 38fed90e..5ff10ac2 100644 Binary files a/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.bin and b/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.bin differ diff --git a/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.lock b/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.lock index c7a2c70f..f18b6857 100644 Binary files a/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.lock and b/src/Notes-master1/.gradle/7.5/fileHashes/fileHashes.lock differ diff --git a/src/Notes-master1/.gradle/7.5/fileHashes/resourceHashesCache.bin b/src/Notes-master1/.gradle/7.5/fileHashes/resourceHashesCache.bin index bb1a6347..d483fa00 100644 Binary files a/src/Notes-master1/.gradle/7.5/fileHashes/resourceHashesCache.bin and b/src/Notes-master1/.gradle/7.5/fileHashes/resourceHashesCache.bin differ diff --git a/src/Notes-master1/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/src/Notes-master1/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 5d34a0c0..a3f6a89a 100644 Binary files a/src/Notes-master1/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/src/Notes-master1/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/src/Notes-master1/.gradle/file-system.probe b/src/Notes-master1/.gradle/file-system.probe index f170e1c1..50af9dd5 100644 Binary files a/src/Notes-master1/.gradle/file-system.probe and b/src/Notes-master1/.gradle/file-system.probe differ diff --git a/src/Notes-master1/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties b/src/Notes-master1/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties index dbe2fbf7..85a56d74 100644 --- a/src/Notes-master1/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties +++ b/src/Notes-master1/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties @@ -1,4 +1,4 @@ -#Fri Apr 14 16:03:30 ULAT 2023 +#Fri Apr 14 19:29:13 ULAT 2023 net.micode.notes.app-main-7\:/drawable-hdpi/font_super.png=E\:\\gitProject1\\src\\Notes-master1\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_super.png.flat net.micode.notes.app-main-7\:/drawable-hdpi/call_record.png=E\:\\gitProject1\\src\\Notes-master1\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat net.micode.notes.app-main-7\:/drawable-hdpi/new_note_normal.png=E\:\\gitProject1\\src\\Notes-master1\\app\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class deleted file mode 100644 index 15f1f775..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class deleted file mode 100644 index df71afc5..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class deleted file mode 100644 index dcbdc74a..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmAlertActivity.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class deleted file mode 100644 index 86a2a198..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$1.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class deleted file mode 100644 index 91479b3c..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$2.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class deleted file mode 100644 index 724aa732..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$3.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class deleted file mode 100644 index 8e1f0bf9..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity$HeadViewHolder.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class deleted file mode 100644 index e64cb07e..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditActivity.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class deleted file mode 100644 index 7b1f2a06..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class deleted file mode 100644 index 3b20012b..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListActivity.class and /dev/null differ diff --git a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class b/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class deleted file mode 100644 index a0600941..00000000 Binary files a/src/Notes-master1/app/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class and /dev/null differ diff --git a/src/Notes-master1/app/src/main/java/net/micode/notes/model/WorkingNote.java b/src/Notes-master1/app/src/main/java/net/micode/notes/model/WorkingNote.java index be081e43..a1a24552 100644 --- a/src/Notes-master1/app/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/src/Notes-master1/app/src/main/java/net/micode/notes/model/WorkingNote.java @@ -38,7 +38,7 @@ public class WorkingNote { // Note Id private long mNoteId; // Note content - private String mContent; + public String mContent; // Note mode private int mMode; diff --git a/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 18b173bb..b866e5ed 100644 --- a/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -22,19 +22,29 @@ import android.app.AlertDialog; import android.app.PendingIntent; import android.app.SearchManager; import android.appwidget.AppWidgetManager; +import android.content.ContentResolver; import android.content.ContentUris; +import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Paint; +import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; +import android.provider.DocumentsContract; +import android.provider.MediaStore; +import android.text.Editable; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; import android.text.format.DateUtils; import android.text.style.BackgroundColorSpan; +import android.text.style.ImageSpan; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -66,6 +76,7 @@ import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener; import net.micode.notes.widget.NoteWidgetProvider_2x; import net.micode.notes.widget.NoteWidgetProvider_4x; +import java.io.FileNotFoundException; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -167,7 +178,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent loadImage.addCategory(Intent.CATEGORY_OPENABLE); loadImage.setType("image/*"); - startActivityForResult(loadImage, PHOTO_REQUEST); + startActivityForResult(loadImage,PHOTO_REQUEST); } }); @@ -179,6 +190,152 @@ public class NoteEditActivity extends Activity implements OnClickListener, initResources(); } + //路径字符串格式 转换为 图片image格式 + private void convertToImage() { + NoteEditText noteEditText = (NoteEditText) findViewById(R.id.note_edit_view); //获取当前的edit + Editable editable = noteEditText.getText();//1.获取text + String noteText = editable.toString(); //2.将note内容转换为字符串 + int length = editable.length(); //内容的长度 + //3.截取img片段 [local]+uri+[local],提取uri + for(int i = 0; i < length; i++) { + for(int j = i; j < length; j++) { + String img_fragment = noteText.substring(i, j+1); //img_fragment:关于图片路径的片段 + if(img_fragment.length() > 15 && img_fragment.endsWith("[/local]") && img_fragment.startsWith("[local]")){ + int limit = 7; //[local]为7个字符 + //[local][/local]共15个字符,剩下的为真正的path长度 + int len = img_fragment.length()-15; + //从[local]之后的len个字符就是path + String path = img_fragment.substring(limit,limit+len);//获取到了图片路径 + Bitmap bitmap = null; + Log.d(TAG, "图片的路径是:"+path); + try { + bitmap = BitmapFactory.decodeFile(path);//将图片路径解码为图片格式 + } catch (Exception e) { + e.printStackTrace(); + } + if(bitmap!=null){ //若图片存在 + Log.d(TAG, "图片不为null"); + ImageSpan imageSpan = new ImageSpan(NoteEditActivity.this, bitmap); + //4.创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像 + String ss = "[local]" + path + "[/local]"; + SpannableString spannableString = new SpannableString(ss); + //5.将指定的标记对象附加到文本的开始...结束范围 + spannableString.setSpan(imageSpan, 0, ss.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + Log.d(TAG, "Create spannable string success!"); + Editable edit_text = noteEditText.getEditableText(); + edit_text.delete(i,i+len+15); //6.删掉图片路径的文字 + edit_text.insert(i, spannableString); //7.在路径的起始位置插入图片 + } + } + } + } + } + + //重写onActivityResult()来处理返回的数据 + protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + super.onActivityResult(requestCode, resultCode, intent); + ContentResolver resolver = getContentResolver(); + switch (requestCode) { + case PHOTO_REQUEST: + Uri originalUri = intent.getData(); //1.获得图片的真实路径 + Bitmap bitmap = null; + try { + bitmap = BitmapFactory.decodeStream(resolver.openInputStream(originalUri));//2.解码图片 + } catch (FileNotFoundException e) { + Log.d(TAG, "onActivityResult: get file_exception"); + e.printStackTrace(); + } + + if(bitmap != null){ + //3.根据Bitmap对象创建ImageSpan对象 + Log.d(TAG, "onActivityResult: bitmap is not null"); + ImageSpan imageSpan = new ImageSpan(NoteEditActivity.this, bitmap); + String path = getPath(this,originalUri); + //4.使用[local][/local]将path括起来,用于之后方便识别图片路径在note中的位置 + String img_fragment= "[local]" + path + "[/local]"; + //创建一个SpannableString对象,以便插入用ImageSpan对象封装的图像 + SpannableString spannableString = new SpannableString(img_fragment); + spannableString.setSpan(imageSpan, 0, img_fragment.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + //5.将选择的图片追加到EditText中光标所在位置 + NoteEditText e = (NoteEditText) findViewById(R.id.note_edit_view); + int index = e.getSelectionStart(); //获取光标所在位置 + Log.d(TAG, "Index是: " + index); + Editable edit_text = e.getEditableText(); + edit_text.insert(index, spannableString); //将图片插入到光标所在位置 + + mWorkingNote.mContent = e.getText().toString(); + //6.把改动提交到数据库中,两个数据库表都要改的 + ContentResolver contentResolver = getContentResolver(); + ContentValues contentValues = new ContentValues(); + final long id = mWorkingNote.getNoteId(); + contentValues.put("snippet",mWorkingNote.mContent); + contentResolver.update(Uri.parse("content://micode_notes/note"), contentValues,"_id=?",new String[]{""+id}); + ContentValues contentValues1 = new ContentValues(); + contentValues1.put("content",mWorkingNote.mContent); + contentResolver.update(Uri.parse("content://micode_notes/data"), contentValues1,"mime_type=? and note_id=?", new String[]{"vnd.android.cursor.item/text_note",""+id}); + + }else{ + Toast.makeText(NoteEditActivity.this, "获取图片失败", Toast.LENGTH_SHORT).show(); + } + break; + default: + break; + } + } + + //获取文件的real path + public String getPath(final Context context, final Uri uri) { + + final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; + + // DocumentProvider + if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { + // ExternalStorageProvider +// if (isExternalStorageDocument(uri)) { +// final String docId = DocumentsContract.getDocumentId(uri); +// final String[] split = docId.split(":"); +// final String type = split[0]; +// +// if ("primary".equalsIgnoreCase(type)) { +// return Environment.getExternalStorageDirectory() + "/" + split[1]; +// } +// } +// // DownloadsProvider +// else if (isDownloadsDocument(uri)) { +// final String id = DocumentsContract.getDocumentId(uri); +// final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); +// return getDataColumn(context, contentUri, null, null); + } + // MediaProvider +// else + if (isMediaDocument(uri)) { + final String docId = DocumentsContract.getDocumentId(uri); + final String[] split = docId.split(":"); + final String type = split[0]; + + Uri contentUri = null; + if ("image".equals(type)) { + contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } + + final String selection = "_id=?"; + final String[] selectionArgs = new String[]{split[1]}; + + return getDataColumn(context, contentUri, selection, selectionArgs); + } + } + // Media + else if ("content".equalsIgnoreCase(uri.getScheme())) { + return getDataColumn(context, uri, null, null); + } + // File + else if ("file".equalsIgnoreCase(uri.getScheme())) { + return uri.getPath(); + } + return null; + } + + /** * Current activity may be killed when the memory is low. Once it is killed, for another time * user load this activity, we should restore the former state diff --git a/src/Notes-master1/caches/7.5/executionHistory/executionHistory.bin b/src/Notes-master1/caches/7.5/executionHistory/executionHistory.bin index 3589e0f3..c96fc178 100644 Binary files a/src/Notes-master1/caches/7.5/executionHistory/executionHistory.bin and b/src/Notes-master1/caches/7.5/executionHistory/executionHistory.bin differ diff --git a/src/Notes-master1/caches/7.5/executionHistory/executionHistory.lock b/src/Notes-master1/caches/7.5/executionHistory/executionHistory.lock index a91a6ed0..f3dc4ac6 100644 Binary files a/src/Notes-master1/caches/7.5/executionHistory/executionHistory.lock and b/src/Notes-master1/caches/7.5/executionHistory/executionHistory.lock differ diff --git a/src/Notes-master1/caches/7.5/fileHashes/fileHashes.bin b/src/Notes-master1/caches/7.5/fileHashes/fileHashes.bin index 1f9c8189..7cc34020 100644 Binary files a/src/Notes-master1/caches/7.5/fileHashes/fileHashes.bin and b/src/Notes-master1/caches/7.5/fileHashes/fileHashes.bin differ diff --git a/src/Notes-master1/caches/7.5/fileHashes/fileHashes.lock b/src/Notes-master1/caches/7.5/fileHashes/fileHashes.lock index cbcccd86..f82aef17 100644 Binary files a/src/Notes-master1/caches/7.5/fileHashes/fileHashes.lock and b/src/Notes-master1/caches/7.5/fileHashes/fileHashes.lock differ diff --git a/src/Notes-master1/caches/7.5/javaCompile/javaCompile.lock b/src/Notes-master1/caches/7.5/javaCompile/javaCompile.lock index 40534fc9..717dff71 100644 Binary files a/src/Notes-master1/caches/7.5/javaCompile/javaCompile.lock and b/src/Notes-master1/caches/7.5/javaCompile/javaCompile.lock differ diff --git a/src/Notes-master1/caches/journal-1/file-access.bin b/src/Notes-master1/caches/journal-1/file-access.bin index 6c8ae138..96ea56fd 100644 Binary files a/src/Notes-master1/caches/journal-1/file-access.bin and b/src/Notes-master1/caches/journal-1/file-access.bin differ diff --git a/src/Notes-master1/caches/journal-1/journal-1.lock b/src/Notes-master1/caches/journal-1/journal-1.lock index e1e7b27e..e85ccfbe 100644 Binary files a/src/Notes-master1/caches/journal-1/journal-1.lock and b/src/Notes-master1/caches/journal-1/journal-1.lock differ diff --git a/src/Notes-master1/caches/modules-2/modules-2.lock b/src/Notes-master1/caches/modules-2/modules-2.lock index 35eb55a4..fe46dcc5 100644 Binary files a/src/Notes-master1/caches/modules-2/modules-2.lock and b/src/Notes-master1/caches/modules-2/modules-2.lock differ diff --git a/src/Notes-master1/daemon/7.5/registry.bin b/src/Notes-master1/daemon/7.5/registry.bin index b96bd943..b166df50 100644 Binary files a/src/Notes-master1/daemon/7.5/registry.bin and b/src/Notes-master1/daemon/7.5/registry.bin differ diff --git a/src/Notes-master1/daemon/7.5/registry.bin.lock b/src/Notes-master1/daemon/7.5/registry.bin.lock index 02edd3f6..e3c9499e 100644 Binary files a/src/Notes-master1/daemon/7.5/registry.bin.lock and b/src/Notes-master1/daemon/7.5/registry.bin.lock differ