From 246d7b67950ab84b6757a5e270efe3f9c4708ecd Mon Sep 17 00:00:00 2001 From: "1172104155@qq.com" <1172104155@qq.com> Date: Thu, 20 Oct 2022 10:45:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=97=E8=AF=BB=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E3=80=81=E6=8F=92=E5=9B=BE=E3=80=81=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/model/WorkingNote.java | 4 +- src/main/java/ui/NoteEditActivity.java | 232 +++++++++++++++++++++++-- src/main/res/drawable-hdpi/laba1.png | Bin 0 -> 7566 bytes src/main/res/drawable-hdpi/photo.png | Bin 0 -> 7224 bytes src/main/res/drawable-hdpi/photo1.png | Bin 0 -> 6534 bytes src/main/res/drawable-hdpi/voice.png | Bin 0 -> 5994 bytes src/main/res/layout/note_edit.xml | 12 +- 7 files changed, 233 insertions(+), 15 deletions(-) create mode 100644 src/main/res/drawable-hdpi/laba1.png create mode 100644 src/main/res/drawable-hdpi/photo.png create mode 100644 src/main/res/drawable-hdpi/photo1.png create mode 100644 src/main/res/drawable-hdpi/voice.png diff --git a/src/main/java/model/WorkingNote.java b/src/main/java/model/WorkingNote.java index 0886c78..f71a797 100644 --- a/src/main/java/model/WorkingNote.java +++ b/src/main/java/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; @@ -203,7 +203,7 @@ public class WorkingNote { public synchronized boolean saveNote() { if (isWorthSaving()) { //是否值得保存 if (!existInDatabase()) { // 是否存在数据库中 - if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { + if ((mNoteId = net.micode.notes.model.Note.getNewNoteId(mContext, mFolderId)) == 0) { Log.e(TAG, "Create new note fail with id:" + mNoteId); return false; } diff --git a/src/main/java/ui/NoteEditActivity.java b/src/main/java/ui/NoteEditActivity.java index aa5db14..969f313 100644 --- a/src/main/java/ui/NoteEditActivity.java +++ b/src/main/java/ui/NoteEditActivity.java @@ -18,6 +18,17 @@ package net.micode.notes.ui; import android.Manifest; +import android.annotation.SuppressLint; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.database.Cursor; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Build; +import android.os.Environment; +import android.provider.DocumentsContract; +import android.provider.MediaStore; import android.speech.tts.TextToSpeech.OnInitListener; import android.app.AlarmManager; import android.app.AlertDialog; @@ -42,6 +53,7 @@ import android.text.TextUtils; import android.text.TextWatcher; 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; @@ -74,6 +86,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.Locale; @@ -163,6 +176,8 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; + private static final int PHOTO_REQUEST=1; + public static final String TAG_CHECKED = String.valueOf('\u221A'); public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); @@ -187,6 +202,24 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen initResources(); count(); read(); + + //根据id获取添加图片按钮 + final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn); + //为点击图片按钮设置监听器 + add_img_btn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Log.d(TAG, "onClick: click add image button"); + //ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) + Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT); + //Category属性用于指定当前动作(Action)被执行的环境. + //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent + loadImage.addCategory(Intent.CATEGORY_OPENABLE); + loadImage.setType("image/*"); + startActivityForResult(loadImage, PHOTO_REQUEST); + + } + }); } /** @@ -311,6 +344,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen mNoteEditor.setTextAppearance(this, TextAppearanceResources .getTexAppearanceResource(mFontSizeId)); //设置外观 + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { switchToListMode(mWorkingNote.getContent()); } else { @@ -332,6 +366,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen * TODO: Add the menu for setting alert. Currently disable it because the DateTimePicker * is not ready */ + convertToImage(); showAlertHeader(); } //设置闹钟的显示 @@ -580,14 +615,6 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { //根据菜单的id来编剧相关项目 - case R.id.action_insert_image: - //绑定按钮的点击响应,获取危险权限,这里的100是申请码,可以自己定义,整数即可 - ActivityCompat.requestPermissions(NoteEditActivity.this, mPermissionList, 100); -//用于获取焦点,否则插入图片时没有响应 - mNoteEditor.getFocusable(); - mNoteEditor.insertImage(realPathFromUri, realPathFromUri + "\" style=\"max-width:100%"); - break; - case R.id.menu_new_note: //创建一个新的便签 createNewNote(); @@ -1133,8 +1160,8 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen int flag1 = -1; int flag2 = -1; do{//不计入表示图片的字符 - flag1 = stringBuffer.indexOf(""); + flag1 = stringBuffer.indexOf("[local]"); + flag2 = stringBuffer.indexOf("[/local]")+7; if (flag1 != -1 && flag2 != -1){ stringBuffer = stringBuffer.replace(flag1,flag2+1,""); } @@ -1189,7 +1216,7 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen read.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - mTTS.speak(mNoteEditor.getText().toString(),TextToSpeech.QUEUE_FLUSH,null); + mTTS.speak(TextChange(mNoteEditor.getText().toString()),TextToSpeech.QUEUE_FLUSH,null); } }); @@ -1207,4 +1234,187 @@ public class NoteEditActivity extends AppCompatActivity implements OnClickListen // } // }); + + //路径字符串格式 转换为 图片image格式 + private void convertToImage() { + net.micode.notes.ui.NoteEditText noteEditText = (net.micode.notes.ui.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中光标所在位置 + net.micode.notes.ui.NoteEditText e = (net.micode.notes.ui.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 + + @SuppressLint("NewApi") + public static String getPath(final Context context, final Uri uri) { + if (uri == null) { + return null; + } + // 判斷是否為Android 4.4之後的版本 + final boolean after44 = Build.VERSION.SDK_INT >= 19; + if (after44 && DocumentsContract.isDocumentUri(context, uri)) { + // 如果是Android 4.4之後的版本,而且屬於文件URI + final String authority = uri.getAuthority(); + // 判斷Authority是否為本地端檔案所使用的 + if ("com.android.externalstorage.documents".equals(authority)) { + // 外部儲存空間 + final String docId = DocumentsContract.getDocumentId(uri); + final String[] divide = docId.split(":"); + final String type = divide[0]; + if ("primary".equals(type)) { + String path = Environment.getExternalStorageDirectory().getAbsolutePath().concat("/").concat(divide[1]); + return path; + } else { + String path = "/storage/".concat(type).concat("/").concat(divide[1]); + return path; + } + } else if ("com.android.providers.downloads.documents".equals(authority)) { + // 下載目錄 + final String docId = DocumentsContract.getDocumentId(uri); + if (docId.startsWith("raw:")) { + final String path = docId.replaceFirst("raw:", ""); + return path; + } + final Uri downloadUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.parseLong(docId)); + String path = queryAbsolutePath(context, downloadUri); + return path; + } else if ("com.android.providers.media.documents".equals(authority)) { + // 圖片、影音檔案 + final String docId = DocumentsContract.getDocumentId(uri); + final String[] divide = docId.split(":"); + final String type = divide[0]; + Uri mediaUri = null; + if ("image".equals(type)) { + mediaUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } else if ("video".equals(type)) { + mediaUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; + } else if ("audio".equals(type)) { + mediaUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; + } else { + return null; + } + mediaUri = ContentUris.withAppendedId(mediaUri, Long.parseLong(divide[1])); + String path = queryAbsolutePath(context, mediaUri); + return path; + } + } else { + // 如果是一般的URI + final String scheme = uri.getScheme(); + String path = null; + if ("content".equals(scheme)) { + // 內容URI + path = queryAbsolutePath(context, uri); + } else if ("file".equals(scheme)) { + // 檔案URI + path = uri.getPath(); + } + return path; + } + return null; + } + + public static String queryAbsolutePath(final Context context, final Uri uri) { + final String[] projection = {MediaStore.MediaColumns.DATA}; + Cursor cursor = null; + try { + cursor = context.getContentResolver().query(uri, projection, null, null, null); + if (cursor != null && cursor.moveToFirst()) { + final int index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA); + return cursor.getString(index); + } + } catch (final Exception ex) { + ex.printStackTrace(); + if (cursor != null) { + cursor.close(); + } + } + return null; + } + } diff --git a/src/main/res/drawable-hdpi/laba1.png b/src/main/res/drawable-hdpi/laba1.png new file mode 100644 index 0000000000000000000000000000000000000000..0a14a7d44428910fc7c93c8873684f104b36cc21 GIT binary patch literal 7566 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 literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-hdpi/photo.png b/src/main/res/drawable-hdpi/photo.png new file mode 100644 index 0000000000000000000000000000000000000000..57d9d19e2044c4baf4c46b7d8d0cfe2946991512 GIT binary patch literal 7224 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 Uort?6^PKFFA_`gb(EP>!0MZv!jQ{`u literal 0 HcmV?d00001 diff --git a/src/main/res/layout/note_edit.xml b/src/main/res/layout/note_edit.xml index 9a562c4..9cbda0a 100644 --- a/src/main/res/layout/note_edit.xml +++ b/src/main/res/layout/note_edit.xml @@ -42,12 +42,19 @@ android:layout_marginRight="8dip" android:textAppearance="@style/TextAppearanceSecondaryItem" /> - + @@ -100,6 +107,7 @@ android:layout_height="7dip" android:background="@drawable/bg_color_btn_mask" /> +