diff --git a/.DS_Store b/.DS_Store index 3ef22ac..52a2946 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/doc/.~实践模板-开源软件泛读报告文档.docx b/doc/.~实践模板-开源软件泛读报告文档.docx new file mode 100644 index 0000000..61fc516 Binary files /dev/null and b/doc/.~实践模板-开源软件泛读报告文档.docx differ diff --git a/src/.DS_Store b/src/.DS_Store index 8cc54c5..4859d70 100644 Binary files a/src/.DS_Store and b/src/.DS_Store differ diff --git a/src/Notes-master/src/net/micode/notes/.DS_Store b/src/Notes-master/src/net/micode/notes/.DS_Store index 64d2b9a..0cfba85 100644 Binary files a/src/Notes-master/src/net/micode/notes/.DS_Store and b/src/Notes-master/src/net/micode/notes/.DS_Store differ 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 46b12cb..3447ff6 100644 --- a/src/Notes-master/src/net/micode/notes/ui/AlarmAlertActivity.java +++ b/src/Notes-master/src/net/micode/notes/ui/AlarmAlertActivity.java @@ -39,10 +39,12 @@ import net.micode.notes.tool.DataUtils; import java.io.IOException; - +/** + * 功能:实现闹铃提醒界面 + */ public class AlarmAlertActivity extends Activity implements OnClickListener, OnDismissListener { private long mNoteId; - private String mSnippet;//闹钟提示时出现的文本 + private String mSnippet; private static final int SNIPPET_PREW_MAX_LEN = 60; MediaPlayer mPlayer; @@ -54,12 +56,15 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD final Window win = getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + /* + 判断闹钟启动时屏幕是否点亮,若未点亮,激活闹钟时开启手机屏幕 + */ if (!isScreenOn()) { win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR); - }//激活闹钟时开启手机屏幕 + } Intent intent = getIntent(); @@ -82,6 +87,7 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD finish();//完成闹钟动作 } } + /*判断屏幕是否处于锁定状态 */ private boolean isScreenOn() { PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); @@ -126,9 +132,10 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD dialog.setTitle(R.string.app_name);//对话框标题 dialog.setMessage(mSnippet);//对话框内容 dialog.setPositiveButton(R.string.notealert_ok, this);//“是”按钮 + //“否”按钮 if (isScreenOn()) { dialog.setNegativeButton(R.string.notealert_enter, this); - }//“否”按钮 + } dialog.show().setOnDismissListener(this); } 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 afad859..a1e091b 100644 --- a/src/Notes-master/src/net/micode/notes/ui/AlarmInitReceiver.java +++ b/src/Notes-master/src/net/micode/notes/ui/AlarmInitReceiver.java @@ -27,13 +27,16 @@ import android.database.Cursor; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; - +/** + * 功能:闹铃提醒启动消息接收器 + */ public class AlarmInitReceiver extends BroadcastReceiver { + /*操作数据库调用ID与闹钟时间 */ private static final String [] PROJECTION = new String [] { NoteColumns.ID, NoteColumns.ALERTED_DATE - };//操作数据库调用ID与闹钟时间 + }; private static final int COLUMN_ID = 0; private static final int COLUMN_ALERTED_DATE = 1; 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 bbe11cc..bf3afaf 100644 --- a/src/Notes-master/src/net/micode/notes/ui/AlarmReceiver.java +++ b/src/Notes-master/src/net/micode/notes/ui/AlarmReceiver.java @@ -20,13 +20,14 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +/** + * 闹钟提醒接收器 + */ public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - intent.setClass(context, AlarmAlertActivity.class); - //启动AlarmAlertActivity + intent.setClass(context, AlarmAlertActivity.class);//启动AlarmAlertActivity intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); - //创建一个栈并将新的activity装入其中 + context.startActivity(intent);//创建一个栈并将新的activity装入其中 } } 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 e1f56eb..2214b14 100644 --- a/src/Notes-master/src/net/micode/notes/ui/DateTimePicker.java +++ b/src/Notes-master/src/net/micode/notes/ui/DateTimePicker.java @@ -28,6 +28,9 @@ import android.view.View; import android.widget.FrameLayout; import android.widget.NumberPicker; +/** + *设置提醒时间的部件 + */ public class DateTimePicker extends FrameLayout { private static final boolean DEFAULT_ENABLE_STATE = true; @@ -46,11 +49,12 @@ public class DateTimePicker extends FrameLayout { private static final int AMPM_SPINNER_MIN_VAL = 0; private static final int AMPM_SPINNER_MAX_VAL = 1; + //四个设置闹钟时间所需的变量 private final NumberPicker mDateSpinner; private final NumberPicker mHourSpinner; private final NumberPicker mMinuteSpinner; private final NumberPicker mAmPmSpinner; - //四个设置闹钟时间所需的变量 + private Calendar mDate;//用于操作时间 private String[] mDateDisplayValues = new String[DAYS_IN_ALL_WEEK]; diff --git a/src/Notes-master/src/net/micode/notes/ui/DateTimePickerDialog.java b/src/Notes-master/src/net/micode/notes/ui/DateTimePickerDialog.java index c11de32..7133a24 100644 --- a/src/Notes-master/src/net/micode/notes/ui/DateTimePickerDialog.java +++ b/src/Notes-master/src/net/micode/notes/ui/DateTimePickerDialog.java @@ -12,17 +12,19 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.text.format.DateFormat; import android.text.format.DateUtils; - + +/** + * 实现设置提醒时间的对话框 + */ public class DateTimePickerDialog extends AlertDialog implements OnClickListener { - - private Calendar mDate = Calendar.getInstance(); //创建一个Calendar类型的变量 mDate,方便时间的操作 + private Calendar mDate = Calendar.getInstance(); private boolean mIs24HourView; - private OnDateTimeSetListener mOnDateTimeSetListener; //声明一个时间日期滚动选择控件 mOnDateTimeSetListener - private DateTimePicker mDateTimePicker; + private OnDateTimeSetListener mOnDateTimeSetListener; //DateTimePicker控件,控件一般用于让用户可以从日期列表中选择单个值。 //运行时,单击控件边上的下拉箭头,会显示为两个部分:一个下拉列表,一个用于选择日期的 + private DateTimePicker mDateTimePicker; public interface OnDateTimeSetListener { void OnDateTimeSet(AlertDialog dialog, long date); @@ -47,16 +49,12 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener updateTitle(mDate.getTimeInMillis()); } }); - mDate.setTimeInMillis(date); - //得到系统时间 - mDate.set(Calendar.SECOND, 0); - //将秒数设置为0 + mDate.setTimeInMillis(date);//得到系统时间 + mDate.set(Calendar.SECOND, 0);//将秒数设置为0 mDateTimePicker.setCurrentDate(mDate.getTimeInMillis()); setButton(context.getString(R.string.datetime_dialog_ok), this); - setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)null); - //设置按钮 - set24HourView(DateFormat.is24HourFormat(this.getContext())); - //时间标准化打印 + setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)null);//设置按钮 + set24HourView(DateFormat.is24HourFormat(this.getContext()));//时间标准化打印 updateTitle(mDate.getTimeInMillis()); } @@ -64,10 +62,12 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener mIs24HourView = is24HourView; } + /*将时间日期滚动选择控件实例化*/ public void setOnDateTimeSetListener(OnDateTimeSetListener callBack) { mOnDateTimeSetListener = callBack; - }//将时间日期滚动选择控件实例化 + } + /*android开发中常见日期管理工具类(API)——DateUtils:按照上下午显示时间*/ private void updateTitle(long date) { int flag = DateUtils.FORMAT_SHOW_YEAR | @@ -75,13 +75,14 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener DateUtils.FORMAT_SHOW_TIME; flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR; setTitle(DateUtils.formatDateTime(this.getContext(), date, flag)); - }//android开发中常见日期管理工具类(API)——DateUtils:按照上下午显示时间 + } + /*第一个参数arg0是接收到点击事件的对话框 + 第二个参数arg1是该对话框上的按钮*/ public void onClick(DialogInterface arg0, int arg1) { if (mOnDateTimeSetListener != null) { mOnDateTimeSetListener.OnDateTimeSet(this, mDate.getTimeInMillis()); } - }//第一个参数arg0是接收到点击事件的对话框 - //第二个参数arg1是该对话框上的按钮 + } } \ No newline at end of file diff --git a/src/Notes-master/src/net/micode/notes/ui/DropdownMenu.java b/src/Notes-master/src/net/micode/notes/ui/DropdownMenu.java index 4c4cf90..fee24dd 100644 --- a/src/Notes-master/src/net/micode/notes/ui/DropdownMenu.java +++ b/src/Notes-master/src/net/micode/notes/ui/DropdownMenu.java @@ -13,19 +13,17 @@ import net.micode.notes.R; public class DropdownMenu { private Button mButton; - private PopupMenu mPopupMenu; - //声明一个下拉菜单 + private PopupMenu mPopupMenu;//声明一个下拉菜单 private Menu mMenu; public DropdownMenu(Context context, Button button, int menuId) { mButton = button; - mButton.setBackgroundResource(R.drawable.dropdown_icon); - //设置这个view的背景 + mButton.setBackgroundResource(R.drawable.dropdown_icon);//设置这个view的背景 mPopupMenu = new PopupMenu(context, mButton); mMenu = mPopupMenu.getMenu(); - mPopupMenu.getMenuInflater().inflate(menuId, mMenu); //MenuInflater是用来实例化Menu目录下的Menu布局文件 //根据ID来确认menu的内容选项 + mPopupMenu.getMenuInflater().inflate(menuId, mMenu); mButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { mPopupMenu.show(); @@ -33,17 +31,20 @@ public class DropdownMenu { }); } + /*设置菜单的监听 */ public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) { if (mPopupMenu != null) { mPopupMenu.setOnMenuItemClickListener(listener); - }//设置菜单的监听 + } } + /*对于菜单选项的初始化,根据索引搜索菜单需要的选项 */ public MenuItem findItem(int id) { return mMenu.findItem(id); - }//对于菜单选项的初始化,根据索引搜索菜单需要的选项 + } + /*布局文件,设置标题 */ public void setTitle(CharSequence title) { mButton.setText(title); - }//布局文件,设置标题 + } } \ No newline at end of file diff --git a/src/Notes-master/src/net/micode/notes/ui/FoldersListAdapter.java b/src/Notes-master/src/net/micode/notes/ui/FoldersListAdapter.java index 4fbe285..4464971 100644 --- a/src/Notes-master/src/net/micode/notes/ui/FoldersListAdapter.java +++ b/src/Notes-master/src/net/micode/notes/ui/FoldersListAdapter.java @@ -12,54 +12,59 @@ import net.micode.notes.R; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; - +/** + * CursorAdapter是Cursor和ListView的接口 + FoldersListAdapter继承了CursorAdapter的类 + 主要作用是便签数据库和用户的交互 + 这里就是用folder(文件夹)的形式展现给用户 + */ + + /*调用数据库中便签的ID和片段 */ public class FoldersListAdapter extends CursorAdapter { - //CursorAdapter是Cursor和ListView的接口 - //FoldersListAdapter继承了CursorAdapter的类 - //主要作用是便签数据库和用户的交互 - //这里就是用folder(文件夹)的形式展现给用户 public static final String [] PROJECTION = { NoteColumns.ID, NoteColumns.SNIPPET - };//调用数据库中便签的ID和片段 + }; public static final int ID_COLUMN = 0; public static final int NAME_COLUMN = 1; + /*数据库操作 */ public FoldersListAdapter(Context context, Cursor c) { super(context, c); // TODO Auto-generated constructor stub - }//数据库操作 + } @Override + /*创建一个文件夹,对于各文件夹中子标签的初始化 */ public View newView(Context context, Cursor cursor, ViewGroup parent) { //ViewGroup是容器 return new FolderListItem(context); - }//创建一个文件夹,对于各文件夹中子标签的初始化 + } @Override + /*将各个布局文件绑定起来 */ public void bindView(View view, Context context, Cursor cursor) { if (view instanceof FolderListItem) { String folderName = (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context .getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN); ((FolderListItem) view).bind(folderName); } - }//将各个布局文件绑定起来 + } + /*根据数据库中标签的ID得到标签的各项内容 */ public String getFolderName(Context context, int position) { Cursor cursor = (Cursor) getItem(position); return (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context .getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN); - }//根据数据库中标签的ID得到标签的各项内容 + } private class FolderListItem extends LinearLayout { private TextView mName; public FolderListItem(Context context) { - super(context); - //操作数据库 - inflate(context, R.layout.folder_list_item, this); - //根据布局文件的名字等信息将其找出来 + super(context);//操作数据库 + inflate(context, R.layout.folder_list_item, this);//根据布局文件的名字等信息将其找出来 mName = (TextView) findViewById(R.id.tv_folder_name); } diff --git a/src/Notes-master/src/net/micode/notes/ui/NoteEditActivity.java b/src/Notes-master/src/net/micode/notes/ui/NoteEditActivity.java index 35c9bad..3844539 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NoteEditActivity.java +++ b/src/Notes-master/src/net/micode/notes/ui/NoteEditActivity.java @@ -55,11 +55,13 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; - +/** + * 该类主要是针对标签的编辑 + 继承了系统内部许多和监听有关的类 + */ public class NoteEditActivity extends Activity implements OnClickListener, NoteSettingChangedListener, OnTextViewChangeListener { - //该类主要是针对标签的编辑 - //继承了系统内部许多和监听有关的类 + /*使用Map实现数据存储 */ private class HeadViewHolder { public TextView tvModified; @@ -69,7 +71,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, public ImageView ibSetBgColor; } - //使用Map实现数据存储 + private static final Map sBgSelectorBtnsMap = new HashMap(); static { sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW); @@ -112,24 +114,17 @@ public class NoteEditActivity extends Activity implements OnClickListener, private HeadViewHolder mNoteHeaderHolder; - private View mHeadViewPanel; - //私有化一个界面操作mHeadViewPanel,对表头的操作 - private View mNoteBgColorSelector; - //私有化一个界面操作mNoteBgColorSelector,对背景颜色的操作 - private View mFontSizeSelector; - //私有化一个界面操作mFontSizeSelector,对标签字体的操作 - private EditText mNoteEditor; - //声明编辑控件,对文本操作 - private View mNoteEditorPanel; - //私有化一个界面操作mNoteEditorPanel,文本编辑的控制板 + private View mHeadViewPanel;//私有化一个界面操作mHeadViewPanel,对表头的操作 + private View mNoteBgColorSelector;//私有化一个界面操作mNoteBgColorSelector,对背景颜色的操作 + private View mFontSizeSelector;//私有化一个界面操作mFontSizeSelector,对标签字体的操作 + private EditText mNoteEditor;//声明编辑控件,对文本操作 + private View mNoteEditorPanel;//私有化一个界面操作mNoteEditorPanel,文本编辑的控制板 //private WorkingNote mWorkingNote; - public WorkingNote mWorkingNote; - //对模板WorkingNote的初始化 - private SharedPreferences mSharedPrefs; + public WorkingNote mWorkingNote;//对模板WorkingNote的初始化 //私有化SharedPreferences的数据存储方式 //它的本质是基于XML文件存储key-value键值对数据 - private int mFontSizeId; - //用于操作字体的大小 + private SharedPreferences mSharedPrefs; + private int mFontSizeId;//用于操作字体的大小 private static final String PREFERENCE_FONT_SIZE = "pref_font_size"; private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; @@ -137,16 +132,14 @@ public class NoteEditActivity extends Activity implements OnClickListener, public static final String TAG_CHECKED = String.valueOf('\u221A'); public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); - private LinearLayout mEditTextList; - //线性布局 + private LinearLayout mEditTextList;//线性布局 private String mUserQuery; private Pattern mPattern; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - this.setContentView(R.layout.note_edit); - //对数据库的访问操作 + this.setContentView(R.layout.note_edit);//对数据库的访问操作 if (savedInstanceState == null && !initActivityState(getIntent())) { finish(); return; diff --git a/src/Notes-master/src/net/micode/notes/ui/NoteEditText.java b/src/Notes-master/src/net/micode/notes/ui/NoteEditText.java index 2afe2a8..7e18f7a 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NoteEditText.java +++ b/src/Notes-master/src/net/micode/notes/ui/NoteEditText.java @@ -37,6 +37,9 @@ import net.micode.notes.R; import java.util.HashMap; import java.util.Map; +/** + * 实现便签编辑活动 + */ public class NoteEditText extends EditText { private static final String TAG = "NoteEditText"; private int mIndex; diff --git a/src/Notes-master/src/net/micode/notes/ui/NoteItemData.java b/src/Notes-master/src/net/micode/notes/ui/NoteItemData.java index 7b9be8d..4e0e4a2 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NoteItemData.java +++ b/src/Notes-master/src/net/micode/notes/ui/NoteItemData.java @@ -9,7 +9,9 @@ import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.tool.DataUtils; - +/** + * 便签项数据 + */ public class NoteItemData { static final String [] PROJECTION = new String [] { NoteColumns.ID, @@ -25,7 +27,7 @@ public class NoteItemData { NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, }; - //常量标记和数据就不一一标记了,意义翻译基本就知道 + private static final int ID_COLUMN = 0; private static final int ALERTED_DATE_COLUMN = 1; private static final int BG_COLOR_ID_COLUMN = 2; @@ -122,7 +124,7 @@ public class NoteItemData { } } } -///以下都是获取标记没什么好说的,不过倒数第二个需要说明下,很具体看下面 +///以下都是获取标记 public boolean isOneFollowingFolder() { return mIsOneNoteFollowingFolder; } diff --git a/src/Notes-master/src/net/micode/notes/ui/NotesListActivity.java b/src/Notes-master/src/net/micode/notes/ui/NotesListActivity.java index e843aec..b1d9e4a 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NotesListActivity.java +++ b/src/Notes-master/src/net/micode/notes/ui/NotesListActivity.java @@ -78,6 +78,9 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashSet; +/** + * 主界面,实现处理文件夹列表的功能 + */ public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; 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 08a8017..99196f0 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NotesListItem.java +++ b/src/Notes-master/src/net/micode/notes/ui/NotesListItem.java @@ -14,7 +14,9 @@ import net.micode.notes.tool.DataUtils; import net.micode.notes.tool.ResourceParser.NoteItemBgResources; -//创建便签列表项目选项 +/** + * 创建便签列表项目选项 + */ public class NotesListItem extends LinearLayout { private ImageView mAlert;//闹钟图片 private TextView mTitle; //标题 @@ -23,7 +25,9 @@ public class NotesListItem extends LinearLayout { private NoteItemData mItemData; //标签数据 private CheckBox mCheckBox; //打钩框 - /*初始化基本信息*/ + /** + *初始化基本信息 + */ public NotesListItem(Context context) { super(context); //super()它的主要作用是调整调用父类构造函数的顺序 inflate(context, R.layout.note_item, this);//Inflate可用于将一个xml中定义的布局控件找出来,这里的xml是r。layout 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 226eb1f..6d45259 100644 --- a/src/Notes-master/src/net/micode/notes/ui/NotesPreferenceActivity.java +++ b/src/Notes-master/src/net/micode/notes/ui/NotesPreferenceActivity.java @@ -36,26 +36,16 @@ import net.micode.notes.gtask.remote.GTaskSyncService; * 继承了PreferenceActivity主要功能为对系统信息和配置进行自动保存的Activity */ public class NotesPreferenceActivity extends PreferenceActivity { - public static final String PREFERENCE_NAME = "notes_preferences"; - //优先名 - public static final String PREFERENCE_SYNC_ACCOUNT_NAME = "pref_key_account_name"; - //同步账号 - public static final String PREFERENCE_LAST_SYNC_TIME = "pref_last_sync_time"; - //同步时间 + public static final String PREFERENCE_NAME = "notes_preferences";//优先名 + public static final String PREFERENCE_SYNC_ACCOUNT_NAME = "pref_key_account_name";//同步账号 + public static final String PREFERENCE_LAST_SYNC_TIME = "pref_last_sync_time";//同步时间 public static final String PREFERENCE_SET_BG_COLOR_KEY = "pref_key_bg_random_appear"; - - private static final String PREFERENCE_SYNC_ACCOUNT_KEY = "pref_sync_account_key"; - //同步密码 - private static final String AUTHORITIES_FILTER_KEY = "authorities"; - //本地密码 - private PreferenceCategory mAccountCategory; - //账户分组 - private GTaskReceiver mReceiver; - //同步任务接收器 - private Account[] mOriAccounts; - //账户 - private boolean mHasAddedAccount; - //账户的hash标记 + private static final String PREFERENCE_SYNC_ACCOUNT_KEY = "pref_sync_account_key";//同步密码 + private static final String AUTHORITIES_FILTER_KEY = "authorities";//本地密码 + private PreferenceCategory mAccountCategory;//账户分组 + private GTaskReceiver mReceiver;//同步任务接收器 + private Account[] mOriAccounts;//账户 + private boolean mHasAddedAccount;//账户的hash标记 @Override /*创建一个activity*/ @@ -231,19 +221,13 @@ public class NotesPreferenceActivity extends PreferenceActivity { } } } - /* - *函数功能:刷新标签界面 - *函数实现:调用上文设置账号和设置按键两个函数来实现 - */ + /*函数功能:刷新标签界面*/ private void refreshUI() { loadAccountPreference(); loadSyncButton(); } - /* - * 函数功能:显示账户选择的对话框并进行账户的设置 - * 函数实现:如下注释 - */ + /*函数功能:显示账户选择的对话框并进行账户的设置*/ private void showSelectAccountAlertDialog() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); //创建一个新的对话框 @@ -313,10 +297,7 @@ public class NotesPreferenceActivity extends PreferenceActivity { //建立新加账户对话框的监听器 } - /* - * 函数功能:显示账户选择对话框和相关账户操作 - * 函数实现:如下注释 - */ + /*函数功能:显示账户选择对话框和相关账户操作*/ private void showChangeAccountConfirmAlertDialog() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); //创建一个新的对话框 @@ -353,19 +334,13 @@ public class NotesPreferenceActivity extends PreferenceActivity { //显示对话框 } - /* - *函数功能:获取谷歌账户 - *函数实现:通过账户管理器直接获取 - */ + /*函数功能:获取谷歌账户*/ private Account[] getGoogleAccounts() { AccountManager accountManager = AccountManager.get(this); return accountManager.getAccountsByType("com.google"); } - /* - * 函数功能:设置同步账户 - * 函数实现:如下注释: - */ + /*函数功能:设置同步账户*/ private void setSyncAccount(String account) { if (!getSyncAccountName(this).equals(account)) { //假如该账号不在同步账号列表中 @@ -403,10 +378,7 @@ public class NotesPreferenceActivity extends PreferenceActivity { //将toast的文本信息置为“设置账户成功”并显示出来 } } - /* - * 函数功能:删除同步账户 - * 函数实现:如下注释: - */ + /*函数功能:删除同步账户*/ private void removeSyncAccount() { SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); @@ -435,20 +407,14 @@ public class NotesPreferenceActivity extends PreferenceActivity { //重置当地同步任务的信息 } - /* - * 函数功能:获取同步账户名称 - * 函数实现:通过共享的首选项里的信息直接获取 - */ + /*函数功能:获取同步账户名称*/ public static String getSyncAccountName(Context context) { SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); return settings.getString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); } - /* - * 函数功能:设置最终同步的时间 - * 函数实现:如下注释 - */ + /*函数功能:设置最终同步的时间*/ public static void setLastSyncTime(Context context, long time) { SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); @@ -458,10 +424,7 @@ public class NotesPreferenceActivity extends PreferenceActivity { editor.commit(); //编辑最终同步时间并提交更新 } - /* - * 函数功能:获取最终同步时间 - * 函数实现:通过共享的首选项里的信息直接获取 - */ + /* 函数功能:获取最终同步时间*/ public static long getLastSyncTime(Context context) { SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);