作业提交 #16

Merged
p6hp857b2 merged 1 commits from a_branch into main 1 month ago

@ -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<RespondBean>
*/
@FormUrlEncoded
@POST("translate")
Call<RespondBean> 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 // 签名,用于验证请求的合法性
);
}

@ -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<String, String>();
}
// 从缓存中直接获取联系人名称,如果存在。
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,

@ -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);
}

Loading…
Cancel
Save