diff --git a/src/app/src/main/java/net/micode/notes/data/BaiduTranslateService.java b/src/app/src/main/java/net/micode/notes/data/BaiduTranslateService.java index 0721c14..0ceec15 100644 --- a/src/app/src/main/java/net/micode/notes/data/BaiduTranslateService.java +++ b/src/app/src/main/java/net/micode/notes/data/BaiduTranslateService.java @@ -4,15 +4,33 @@ import retrofit2.Call; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.POST; + +/** + * BaiduTranslateService 接口定义了与百度翻译 API 交互的方法。 + * 该接口使用 Retrofit 库,通过 HTTP POST 请求发送翻译请求,并接收翻译结果。 + */ public interface BaiduTranslateService { + /** + * translate 方法用于发送翻译请求。 + * 该方法使用 @FormUrlEncoded 注解表示请求体为表单编码格式, + * 并通过 @POST 注解指定请求路径为 "translate"。 + * + * @param query 要翻译的文本内容 + * @param from 源语言代码(例如 "en" 表示英语) + * @param to 目标语言代码(例如 "zh" 表示中文) + * @param appid 百度翻译 API 的应用 ID + * @param salt 随机数,用于生成签名 + * @param sign 签名,用于验证请求的合法性 + * @return Call 对象,表示异步请求的调用 + */ @FormUrlEncoded @POST("translate") Call translate( - @Field("q") String query, - @Field("from") String from, - @Field("to") String to, - @Field("appid") String appid, - @Field("salt") String salt, - @Field("sign") String sign + @Field("q") String query, // 要翻译的文本内容 + @Field("from") String from, // 源语言代码 + @Field("to") String to, // 目标语言代码 + @Field("appid") String appid, // 百度翻译 API 的应用 ID + @Field("salt") String salt, // 随机数,用于生成签名 + @Field("sign") String sign // 签名,用于验证请求的合法性 ); } \ No newline at end of file diff --git a/src/app/src/main/java/net/micode/notes/data/Contact.java b/src/app/src/main/java/net/micode/notes/data/Contact.java index 82a7f40..ad08419 100644 --- a/src/app/src/main/java/net/micode/notes/data/Contact.java +++ b/src/app/src/main/java/net/micode/notes/data/Contact.java @@ -35,22 +35,19 @@ public class Contact { * @return 与电话号码相关联的联系人名称,如果找不到则返回null。 */ public static String getContact(Context context, String phoneNumber) { - // 初始化或获取联系人缓存 - if (sContactCache == null) { + if (sContactCache == null) {// 初始化或获取联系人缓存 sContactCache = new HashMap(); } - // 从缓存中直接获取联系人名称,如果存在。 - if (sContactCache.containsKey(phoneNumber)) { + if (sContactCache.containsKey(phoneNumber)) {// 从缓存中直接获取联系人名称,如果存在。 return sContactCache.get(phoneNumber); } - // 使用PhoneNumberUtils将电话号码格式化为适合查询的形式 - String selection = CALLER_ID_SELECTION.replace("+", - PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); - // 执行查询以获取与电话号码相关联的联系人名称 - Cursor cursor = context.getContentResolver().query( + String selection = CALLER_ID_SELECTION.replace("+",// 使用PhoneNumberUtils将电话号码格式化为适合查询的形式 + PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); + + Cursor cursor = context.getContentResolver().query(// 执行查询以获取与电话号码相关联的联系人名称 Data.CONTENT_URI, new String[]{Phone.DISPLAY_NAME}, selection, diff --git a/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 4437441..b41f557 100644 --- a/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -206,38 +206,32 @@ public class NoteEditActivity extends Activity implements OnClickListener, super.onCreate(savedInstanceState); this.setContentView(R.layout.note_edit); // 设置活动的视图布局 - // 检查实例状态是否被保存,如果未保存且初始化活动状态失败,则结束该活动 - if (savedInstanceState == null && !initActivityState(getIntent())) { + if (savedInstanceState == null && !initActivityState(getIntent())) {// 检查实例状态是否被保存,如果未保存且初始化活动状态失败,则结束该活动 finish(); return; } initResources(); // 初始化资源 - // 获取页面中的编辑文本框控件,并将其赋值给mNoteEditor变量 - mNoteEditor = (EditText) findViewById(R.id.note_edit_view); + mNoteEditor = (EditText) findViewById(R.id.note_edit_view);// 获取页面中的编辑文本框控件,并将其赋值给mNoteEditor变量 -// 获取页面中的翻译按钮控件,并将其赋值给mTranslateButton变量 - mTranslateButton = (Button) findViewById(R.id.translate_button); + mTranslateButton = (Button) findViewById(R.id.translate_button);// 获取页面中的翻译按钮控件,并将其赋值给mTranslateButton变量 // 为翻译按钮设置点击事件监听器 - mTranslateButton.setOnClickListener(new OnClickListener() { + mTranslateButton.setOnClickListener(new OnClickListener() {// 为翻译按钮设置点击事件监听器 // 当按钮被点击时,执行该方法 @Override public void onClick(View v) { - // 调用showTranslationDialog方法,显示翻译对话框 - showTranslationDialog(); + showTranslationDialog();// 调用showTranslationDialog方法,显示翻译对话框 } }); - //根据id获取添加图片按钮 - final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn); - //为点击图片按钮设置监听器 - add_img_btn.setOnClickListener(new OnClickListener() { + + final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn);//根据id获取添加图片按钮 + add_img_btn.setOnClickListener(new 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); + Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT);//ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) //Category属性用于指定当前动作(Action)被执行的环境. //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent loadImage.addCategory(Intent.CATEGORY_OPENABLE); @@ -260,11 +254,10 @@ public class NoteEditActivity extends Activity implements OnClickListener, protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); // 检查是否有保存的状态并且包含必要的UID信息,用于恢复活动状态 - if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) { + if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) {// 检查是否有保存的状态并且包含必要的UID信息,用于恢复活动状态 Intent intent = new Intent(Intent.ACTION_VIEW); intent.putExtra(Intent.EXTRA_UID, savedInstanceState.getLong(Intent.EXTRA_UID)); - // 使用intent尝试恢复活动状态,如果失败则结束该活动 - if (!initActivityState(intent)) { + if (!initActivityState(intent)) {// 使用intent尝试恢复活动状态,如果失败则结束该活动 finish(); return; } @@ -286,22 +279,19 @@ public class NoteEditActivity extends Activity implements OnClickListener, long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0); mUserQuery = ""; - // 从搜索结果开始 - if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) { + if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) {// 从搜索结果开始 noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY)); mUserQuery = intent.getStringExtra(SearchManager.USER_QUERY); } - // 检查指定的笔记在数据库中是否可见 - if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) { + if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) {// 检查指定的笔记在数据库中是否可见 Intent jump = new Intent(this, NotesListActivity.class); startActivity(jump); showToast(R.string.error_note_not_exist); finish(); return false; } else { - // 加载指定ID的笔记 - mWorkingNote = WorkingNote.load(this, noteId); + mWorkingNote = WorkingNote.load(this, noteId);// 加载指定ID的笔记 if (mWorkingNote == null) { Log.e(TAG, "load note failed with note id" + noteId); finish(); @@ -313,8 +303,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); } else if (TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) { - // 处理新建或编辑笔记的情况 - long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0); + long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0);// 处理新建或编辑笔记的情况 int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); int widgetType = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, @@ -322,27 +311,23 @@ public class NoteEditActivity extends Activity implements OnClickListener, int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, ResourceParser.getDefaultBgId(this)); - // 解析通话记录笔记 - String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); + String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);// 解析通话记录笔记 long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0); if (callDate != 0 && phoneNumber != null) { - // 根据电话号码和通话日期尝试获取已有笔记ID - if (TextUtils.isEmpty(phoneNumber)) { + if (TextUtils.isEmpty(phoneNumber)) {// 根据电话号码和通话日期尝试获取已有笔记ID Log.w(TAG, "The call record number is null"); } long noteId = 0; if ((noteId = DataUtils.getNoteIdByPhoneNumberAndCallDate(getContentResolver(), phoneNumber, callDate)) > 0) { - // 加载该笔记 - mWorkingNote = WorkingNote.load(this, noteId); + mWorkingNote = WorkingNote.load(this, noteId);// 加载该笔记 if (mWorkingNote == null) { Log.e(TAG, "load call note failed with note id" + noteId); finish(); return false; } } else { - // 创建新的通话记录笔记 - mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, + mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId,// 创建新的通话记录笔记 widgetType, bgResId); mWorkingNote.convertToCallNote(phoneNumber, callDate); }