From 9f451086c203adb3ea00efa628c438cdcb926688 Mon Sep 17 00:00:00 2001 From: zcx <1078327420@qq.com> Date: Sat, 23 Dec 2023 16:04:43 +0800 Subject: [PATCH] =?UTF-8?q?12.23=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../micode/notes/ui/AlarmAlertActivity.java | 11 +- .../micode/notes/ui/AlarmInitReceiver.java | 6 +- .../net/micode/notes/ui/AlarmReceiver.java | 7 +- .../net/micode/notes/ui/DateTimePicker.java | 121 +++++++++++------- .../net/micode/notes/ui/NotesListItem.java | 77 ++++++----- .../notes/ui/NotesPreferenceActivity.java | 94 +++++++------- 6 files changed, 178 insertions(+), 138 deletions(-) diff --git a/src/Notes-master/src/net/micode/notes/ui/AlarmAlertActivity.java b/src/Notes-master/src/net/micode/notes/ui/AlarmAlertActivity.java index 5c10be4..b8620c2 100644 --- a/src/Notes-master/src/net/micode/notes/ui/AlarmAlertActivity.java +++ b/src/Notes-master/src/net/micode/notes/ui/AlarmAlertActivity.java @@ -75,15 +75,14 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD */ try { mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1)); - mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId); - //根据ID从数据库中获取标签的内容; - //getContentResolver()是实现数据共享,实例存储。 + mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId);//根据ID从数据库中获取标签的内容,getContentResolver是实现数据共享,实例存储 + mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0, SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info) - : mSnippet; - //判断标签片段是否达到符合长度 + : mSnippet;//判断标签片段是否达到符合长度 + } catch (IllegalArgumentException e) { - e.printStackTrace(); + e.printStackTrace();//打印出异常,并且输出在哪里出现的异常 return; } diff --git a/src/Notes-master/src/net/micode/notes/ui/AlarmInitReceiver.java b/src/Notes-master/src/net/micode/notes/ui/AlarmInitReceiver.java index 377ba09..fd8eb62 100644 --- a/src/Notes-master/src/net/micode/notes/ui/AlarmInitReceiver.java +++ b/src/Notes-master/src/net/micode/notes/ui/AlarmInitReceiver.java @@ -35,8 +35,8 @@ public class AlarmInitReceiver extends BroadcastReceiver { NoteColumns.ID, NoteColumns.ALERTED_DATE }; - private static final int COLUMN_ID = 0; - private static final int COLUMN_ALERTED_DATE = 1; + private static final int COLUMN_ID = 0;//设置ID + private static final int COLUMN_ALERTED_DATE = 1;//设置时间常量 //Broadcast Receiver是Android中的四大组件之一。 AlarmInitReceiver的配置“android.intent.action.BOOT_COMPLETED”,表明 //Android手机开机后,会发送android.intent.action.BOOT_COMPLETED广播,监听这个广播就能监听开机。 @@ -68,7 +68,7 @@ public class AlarmInitReceiver extends BroadcastReceiver { } c.close(); } - //通过网上查找资料发现,对于闹钟机制的启动,通常需要上面的几个步骤 + //通过查找资料发现,对于闹钟机制的启动,通常需要上面的几个步骤 //如新建Intent、PendingIntent以及AlarmManager等 } } \ No newline at end of file diff --git a/src/Notes-master/src/net/micode/notes/ui/AlarmReceiver.java b/src/Notes-master/src/net/micode/notes/ui/AlarmReceiver.java index 525e120..c83e47f 100644 --- a/src/Notes-master/src/net/micode/notes/ui/AlarmReceiver.java +++ b/src/Notes-master/src/net/micode/notes/ui/AlarmReceiver.java @@ -20,14 +20,15 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +//功能:接收闹钟触发的广播接收器 +//实现:接收到闹钟触发的广播时被调用,在onReceive方法中,我们可以执行操作 public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { intent.setClass(context, AlarmAlertActivity.class); //启动AlarmAlertActivity intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - //activity要存在于activity的栈中,而非activity的途径启动activity时必然不存在一个activity的栈 - //所以要新起一个栈装入启动的activity - context.startActivity(intent); + + context.startActivity(intent);//activity要存在于activity的栈中,而非activity的途径启动activity时必然不存在一个activity的栈,所以要新起一个栈装入启动的activity } } \ No newline at end of file diff --git a/src/Notes-master/src/net/micode/notes/ui/DateTimePicker.java b/src/Notes-master/src/net/micode/notes/ui/DateTimePicker.java index 7f72dc8..400a6b5 100644 --- a/src/Notes-master/src/net/micode/notes/ui/DateTimePicker.java +++ b/src/Notes-master/src/net/micode/notes/ui/DateTimePicker.java @@ -19,6 +19,7 @@ package net.micode.notes.ui; import java.text.DateFormatSymbols; import java.util.Calendar; import net.micode.notes.R; +import net.micode.notes.ui.DateTimePicker.OnDateTimeChangedListener; import android.content.Context; import android.text.format.DateFormat; import android.view.View; @@ -142,21 +143,24 @@ public class DateTimePicker extends FrameLayout { } //hour改变对日期的影响 + // 如果偏移量不为零,则通过添加偏移量(以小时为单位)来调整日期 if (offset != 0) { - mDate.add(Calendar.HOUR_OF_DAY, offset); - mHourSpinner.setValue(getCurrentHour()); - updateDateControl(); + mDate.add(Calendar.HOUR_OF_DAY, offset);// 更新小时选择器以反映当前小时 + mHourSpinner.setValue(getCurrentHour());// 根据更改更新日期控件 + updateDateControl();// 获取调整后的新小时 int newHour = getCurrentHourOfDay(); + + // 检查新小时是否在一天的后半部分 if (newHour >= HOURS_IN_HALF_DAY) { - mIsAm = false; - updateAmPmControl(); + mIsAm = false;// 将时间设置为下午 + updateAmPmControl();// 更新上午/下午控件以反映更改 } else { mIsAm = true; updateAmPmControl(); } } - mDate.set(Calendar.MINUTE, newVal); - onDateTimeChanged(); + mDate.set(Calendar.MINUTE, newVal);// 将日期中的分钟设置为新值 + onDateTimeChanged();//通知时间和日期已更改 } }; @@ -165,11 +169,11 @@ public class DateTimePicker extends FrameLayout { @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { - mIsAm = !mIsAm; + mIsAm = !mIsAm; // 切换上午和下午状态 if (mIsAm) { - mDate.add(Calendar.HOUR_OF_DAY, -HOURS_IN_HALF_DAY); + mDate.add(Calendar.HOUR_OF_DAY, -HOURS_IN_HALF_DAY);// 如果是上午,减去半天的小时数 } else { - mDate.add(Calendar.HOUR_OF_DAY, HOURS_IN_HALF_DAY); + mDate.add(Calendar.HOUR_OF_DAY, HOURS_IN_HALF_DAY);// 如果是下午,加上半天的小时数 } updateAmPmControl(); onDateTimeChanged(); @@ -249,12 +253,14 @@ public class DateTimePicker extends FrameLayout { if (mIsEnabled == enabled) { return; } + // 设置日期、分钟、小时、上午/下午控件是否可用 super.setEnabled(enabled); mDateSpinner.setEnabled(enabled); mMinuteSpinner.setEnabled(enabled); mHourSpinner.setEnabled(enabled); mAmPmSpinner.setEnabled(enabled); - mIsEnabled = enabled; + + mIsEnabled = enabled;// 更新控件状态 } @@ -322,12 +328,16 @@ public class DateTimePicker extends FrameLayout { onDateTimeChanged(); } - + /* + * 获取当前月份 + */ public int getCurrentMonth() { return mDate.get(Calendar.MONTH); } - + /* + * 设置当前月份 + */ public void setCurrentMonth(int month) { if (!mInitialising && month == getCurrentMonth()) { return; @@ -337,12 +347,16 @@ public class DateTimePicker extends FrameLayout { onDateTimeChanged(); } - + /* + * 获取当前日期 + */ public int getCurrentDay() { return mDate.get(Calendar.DAY_OF_MONTH); } - + /* + * 设置当前日期 + */ public void setCurrentDay(int dayOfMonth) { if (!mInitialising && dayOfMonth == getCurrentDay()) { return; @@ -352,54 +366,68 @@ public class DateTimePicker extends FrameLayout { onDateTimeChanged(); } - + /* + * 获取当前小时 + */ public int getCurrentHourOfDay() { return mDate.get(Calendar.HOUR_OF_DAY); } - + + /* + * 获取当前小时 + */ private int getCurrentHour() { if (mIs24HourView){ - return getCurrentHourOfDay(); + return getCurrentHourOfDay();// 如果是24小时制,直接返回当前小时 } else { int hour = getCurrentHourOfDay(); if (hour > HOURS_IN_HALF_DAY) { - return hour - HOURS_IN_HALF_DAY; + return hour - HOURS_IN_HALF_DAY;// 如果当前小时大于半天的小时数,返回减去半天后的小时数 } else { - return hour == 0 ? HOURS_IN_HALF_DAY : hour; + return hour == 0 ? HOURS_IN_HALF_DAY : hour;// 如果当前小时为0,则返回半天的小时数,否则返回当前小时 } } } - + + /* + * 设置当前小时 + */ //24小时制 public void setCurrentHour(int hourOfDay) { + // 如果不是初始化过程,并且要设置的小时等于当前小时,则不做任何操作 if (!mInitialising && hourOfDay == getCurrentHourOfDay()) { return; } - mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + mDate.set(Calendar.HOUR_OF_DAY, hourOfDay);// 将日期中的小时设置为新值 + // 如果不是24小时制 if (!mIs24HourView) { if (hourOfDay >= HOURS_IN_HALF_DAY) { - mIsAm = false; + mIsAm = false;// 设置为下午 if (hourOfDay > HOURS_IN_HALF_DAY) { - hourOfDay -= HOURS_IN_HALF_DAY; + hourOfDay -= HOURS_IN_HALF_DAY;// 如果大于半天的小时数,减去半天的小时数 } } else { mIsAm = true; if (hourOfDay == 0) { - hourOfDay = HOURS_IN_HALF_DAY; + hourOfDay = HOURS_IN_HALF_DAY;// 如果小时为0,设置为半天的小时数 } } updateAmPmControl(); } - mHourSpinner.setValue(hourOfDay); + mHourSpinner.setValue(hourOfDay); // 设置小时控件的值为新值 onDateTimeChanged(); } - + /* + * 获取当前分钟 + */ public int getCurrentMinute() { return mDate.get(Calendar.MINUTE); } - + /* + * 设置当前分钟 + */ public void setCurrentMinute(int minute) { if (!mInitialising && minute == getCurrentMinute()) { return; @@ -417,29 +445,30 @@ public class DateTimePicker extends FrameLayout { public void set24HourView(boolean is24HourView) { if (mIs24HourView == is24HourView) { - return; + return; // 如果当前24小时制状态与要设置的状态相同,则不做任何操作 } mIs24HourView = is24HourView; - mAmPmSpinner.setVisibility(is24HourView ? View.GONE : View.VISIBLE); - int hour = getCurrentHourOfDay(); - updateHourControl(); - setCurrentHour(hour); - updateAmPmControl(); + mAmPmSpinner.setVisibility(is24HourView ? View.GONE : View.VISIBLE);// 根据24小时制状态设置上午/下午控件的可见性 + int hour = getCurrentHourOfDay();// 获取当前小时 + updateHourControl();// 更新小时控件 + setCurrentHour(hour);// 设置当前小时 + updateAmPmControl();// 更新上午/下午控件 } // 对于星期几的算法 private void updateDateControl() { Calendar cal = Calendar.getInstance(); - cal.setTimeInMillis(mDate.getTimeInMillis()); - cal.add(Calendar.DAY_OF_YEAR, -DAYS_IN_ALL_WEEK / 2 - 1); - mDateSpinner.setDisplayedValues(null); + cal.setTimeInMillis(mDate.getTimeInMillis());// 获取当前时间 + cal.add(Calendar.DAY_OF_YEAR, -DAYS_IN_ALL_WEEK / 2 - 1);// 将时间向前推移半周减一天 + mDateSpinner.setDisplayedValues(null);// 清空日期控件的显示值 + // 遍历一周的日期 for (int i = 0; i < DAYS_IN_ALL_WEEK; ++i) { cal.add(Calendar.DAY_OF_YEAR, 1); - mDateDisplayValues[i] = (String) DateFormat.format("MM.dd EEEE", cal); + mDateDisplayValues[i] = (String) DateFormat.format("MM.dd EEEE", cal);// 将日期格式化为"月.日 星期"的形式,并存入日期显示值数组 } - mDateSpinner.setDisplayedValues(mDateDisplayValues); - mDateSpinner.setValue(DAYS_IN_ALL_WEEK / 2); - mDateSpinner.invalidate(); + mDateSpinner.setDisplayedValues(mDateDisplayValues); //设置日期控件的显示值为日期显示值数组 + mDateSpinner.setValue(DAYS_IN_ALL_WEEK / 2);//设置日期控件的初始值为一周的中间位置 + mDateSpinner.invalidate();// 使日期控件失效,以便刷新显示 } // 对于AM\PM操作的算法 @@ -454,10 +483,14 @@ public class DateTimePicker extends FrameLayout { } private void updateHourControl() { + //如果是24小时制 + // 设置小时控件的最小值和最大值 if (mIs24HourView) { mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW); mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW); } else { + // 如果是12小时制 + // 设置小时控件的最小值和最大值 mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW); mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW); } @@ -468,11 +501,13 @@ public class DateTimePicker extends FrameLayout { * @param callback 如果 null,则回调将不执行任何操作 */ public void setOnDateTimeChangedListener(OnDateTimeChangedListener callback) { - mOnDateTimeChangedListener = callback; + mOnDateTimeChangedListener = callback;// 设置日期时间变化监听器的回调 } - + // 当日期时间发生变化时触发回调 private void onDateTimeChanged() { + // 如果日期时间变化监听器不为空,则触发回调 if (mOnDateTimeChangedListener != null) { + // 通过回调通知当前年、月、日、小时、分钟的变化 mOnDateTimeChangedListener.onDateTimeChanged(this, getCurrentYear(), getCurrentMonth(), getCurrentDay(), getCurrentHourOfDay(), getCurrentMinute()); } diff --git a/src/Notes-master/src/net/micode/notes/ui/NotesListItem.java b/src/Notes-master/src/net/micode/notes/ui/NotesListItem.java index ff89b0a..1a1fdb0 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NotesListItem.java +++ b/src/Notes-master/src/net/micode/notes/ui/NotesListItem.java @@ -62,48 +62,57 @@ public class NotesListItem extends LinearLayout { mItemData = data; - //下面的语句块设置控件属性,一共三种情况,由data的id和父id是否与保存到文件夹的id一致来决定 - if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { - mCallName.setVisibility(View.GONE); - mAlert.setVisibility(View.VISIBLE); - mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);//设置该textview的style - - mTitle.setText(context.getString(R.string.call_record_folder_name) - + context.getString(R.string.format_folder_files_count, data.getNotesCount()));//settext为设置内容 - mAlert.setImageResource(R.drawable.call_record); + //下面的语句块设置控件属性,一共三种情况,由data的id和父id是否与保存到文件夹的id一致来决定 + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + // 如果数据的ID为通话记录文件夹 + // 隐藏通话名称视图,显示提醒视图 + mCallName.setVisibility(View.GONE); + mAlert.setVisibility(View.VISIBLE); + + mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);// 设置标题文本外观样式 + + mTitle.setText(context.getString(R.string.call_record_folder_name) + + context.getString(R.string.format_folder_files_count, data.getNotesCount()));// 设置标题文本内容为通话记录文件夹名称和文件数量 + + mAlert.setImageResource(R.drawable.call_record);// 设置提醒图标为通话记录图标 + // 如果数据的父ID为通话记录文件夹 } else if (data.getParentId() == Notes.ID_CALL_RECORD_FOLDER) { - mCallName.setVisibility(View.VISIBLE); - mCallName.setText(data.getCallName()); - mTitle.setTextAppearance(context,R.style.TextAppearanceSecondaryItem); + // 显示通话名称视图,并设置通话名称文本 + mCallName.setVisibility(View.VISIBLE); + mCallName.setText(data.getCallName()); + mTitle.setTextAppearance(context, R.style.TextAppearanceSecondaryItem); // 设置标题文本外观样式 + mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet()));// 设置标题文本内容为格式化后的片段 + // 如果数据有提醒,则显示提醒图标,否则隐藏 + if (data.hasAlert()) { + mAlert.setImageResource(R.drawable.clock); + mAlert.setVisibility(View.VISIBLE); + } else { + mAlert.setVisibility(View.GONE); + } + } else { + // 其他情况 + mCallName.setVisibility(View.GONE);// 隐藏通话名称视图 + + mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem);// 设置标题文本外观样式 + if (data.getType() == Notes.TYPE_FOLDER) { + mTitle.setText(data.getSnippet() + + context.getString(R.string.format_folder_files_count, + data.getNotesCount()));// 如果数据类型为文件夹,则设置标题文本内容为文件夹片段和文件数量 + mAlert.setVisibility(View.GONE);// 隐藏提醒图标 + } else { + // 如果数据类型不为文件夹,则设置标题文本内容为格式化后的片段 mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); + // 如果数据有提醒,则显示提醒图标,否则隐藏 if (data.hasAlert()) { - mAlert.setImageResource(R.drawable.clock);//图片来源的设置 + mAlert.setImageResource(R.drawable.clock); mAlert.setVisibility(View.VISIBLE); } else { mAlert.setVisibility(View.GONE); } - } else { - mCallName.setVisibility(View.GONE); - mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); - if (data.getType() == Notes.TYPE_FOLDER) { - mTitle.setText(data.getSnippet() - + context.getString(R.string.format_folder_files_count, - data.getNotesCount())); - mAlert.setVisibility(View.GONE); - } else { - mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); - if (data.hasAlert()) { - mAlert.setImageResource(R.drawable.clock); - mAlert.setVisibility(View.VISIBLE); - } else { - mAlert.setVisibility(View.GONE); - } - } } - - mTime. setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate()));//获取相关时间,从data里编辑的日期中获取 - - setBackground(data); + } + mTime.setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate()));// 设置时间文本为相对时间跨度字符串,从数据的修改日期中获取 + setBackground(data);// 设置背景 } //根据data的文件属性来设置背景 diff --git a/src/Notes-master/src/net/micode/notes/ui/NotesPreferenceActivity.java b/src/Notes-master/src/net/micode/notes/ui/NotesPreferenceActivity.java index 5b8126e..91ddc9d 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NotesPreferenceActivity.java +++ b/src/Notes-master/src/net/micode/notes/ui/NotesPreferenceActivity.java @@ -240,72 +240,68 @@ public class NotesPreferenceActivity extends PreferenceActivity { * 功能:显示账户选择的对话框并进行账户的设置 */ private void showSelectAccountAlertDialog() { - AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); //创建一个新的对话框 - - //设置标题以及子标题的内容 + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); // 创建一个新的对话框 + + // 设置标题以及子标题的内容 View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); - titleTextView.setText(getString(R.string.preferences_dialog_select_account_title)); + titleTextView.setText(getString(R.string.preferences_dialog_select_account_title)); // 设置标题文本 TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); - subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips)); - - dialogBuilder.setCustomTitle(titleView); - dialogBuilder.setPositiveButton(null, null); - - //获取同步账户信息 - Account[] accounts = getGoogleAccounts(); - String defAccount = getSyncAccountName(this); - - mOriAccounts = accounts; - mHasAddedAccount = false; - + subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips)); // 设置子标题文本 + + dialogBuilder.setCustomTitle(titleView); // 设置自定义标题 + dialogBuilder.setPositiveButton(null, null); // 设置积极按钮为空 + + // 获取同步账户信息 + Account[] accounts = getGoogleAccounts(); // 获取Google账户信息 + String defAccount = getSyncAccountName(this); // 获取默认同步账户名称 + + mOriAccounts = accounts; // 保存原始账户信息 + mHasAddedAccount = false; // 将新加账户标志置为false + if (accounts.length > 0) { - CharSequence[] items = new CharSequence[accounts.length]; - final CharSequence[] itemMapping = items; - int checkedItem = -1; + CharSequence[] items = new CharSequence[accounts.length]; // 创建一个CharSequence数组用于存储账户名称 + final CharSequence[] itemMapping = items; // 创建一个最终的CharSequence数组用于映射 + int checkedItem = -1; // 初始化选中的项为-1 int index = 0; for (Account account : accounts) { if (TextUtils.equals(account.name, defAccount)) { - checkedItem = index; //在账户列表中查询到所需账户 - + checkedItem = index; // 如果找到默认账户,设置选中的项为当前索引 } - items[index++] = account.name; + items[index++] = account.name; // 将账户名称添加到数组中 } - - //设置点击后执行的事件,包括检录新同步账户和刷新标签界面 + + // 设置单选列表项,并为每一项设置点击事件 dialogBuilder.setSingleChoiceItems(items, checkedItem, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { - setSyncAccount(itemMapping[which].toString()); - dialog.dismiss();//取消对话框 - - refreshUI(); + setSyncAccount(itemMapping[which].toString()); // 设置选择的同步账户 + dialog.dismiss(); // 关闭对话框 + refreshUI(); // 刷新界面 } - }); } - - View addAccountView = LayoutInflater.from(this).inflate(R.layout.add_account_text, null); - dialogBuilder.setView(addAccountView);//给新加账户对话框设置自定义样式 - - final AlertDialog dialog = dialogBuilder.show();//显示对话框 - - //建立新加账户对话框的监听器 + + View addAccountView = LayoutInflater.from(this).inflate(R.layout.add_account_text, null); // 加载自定义的添加账户视图 + dialogBuilder.setView(addAccountView); // 设置对话框的视图为添加账户视图 + + final AlertDialog dialog = dialogBuilder.show(); // 显示对话框 + + // 设置添加账户视图的点击事件监听器 addAccountView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { - mHasAddedAccount = true;//将新加账户的hash置true - - Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS");//建立网络建立组件 - + mHasAddedAccount = true; // 将新加账户的标志置为true + + Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); // 创建一个添加账户的意图 + intent.putExtra(AUTHORITIES_FILTER_KEY, new String[] { "gmail-ls" }); - startActivityForResult(intent, -1);//跳回上一个选项 - - dialog.dismiss();//关闭一个Dialog对话框 + startActivityForResult(intent, -1); // 启动添加账户的界面,并等待结果返回 + + dialog.dismiss(); // 关闭对话框 } }); - } /* @@ -386,10 +382,10 @@ public class NotesPreferenceActivity extends PreferenceActivity { //重置当地同步任务的信息 new Thread(new Runnable() { public void run() { - ContentValues values = new ContentValues(); - values.put(NoteColumns.GTASK_ID, ""); + ContentValues values = new ContentValues();// 创建ContentValues对象,用于存储要更新的列值 + values.put(NoteColumns.GTASK_ID, "");// 将GTASK_ID列的值设置为空字符串 values.put(NoteColumns.SYNC_ID, 0); - getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); + getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null);// 调用getContentResolver().update方法更新数据库中的数据 } }).start(); @@ -493,8 +489,8 @@ public class NotesPreferenceActivity extends PreferenceActivity { //在主页情况下在创建连接组件intent,发出清空的信号并开始一个相应的activity case android.R.id.home: Intent intent = new Intent(this, NotesListActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - startActivity(intent); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// 添加FLAG_ACTIVITY_CLEAR_TOP标志,清除位于该Activity上方的所有Activity实例 + startActivity(intent);// 启动NotesListActivity return true; default: