diff --git a/doc/开源软件的质量分析报告.docx b/doc/开源软件的质量分析报告.docx new file mode 100644 index 0000000..acb8898 Binary files /dev/null and b/doc/开源软件的质量分析报告.docx differ diff --git a/代码标注/AlarmAlertActivity.java b/代码标注/AlarmAlertActivity.java index 2016db8..f24364f 100644 --- a/代码标注/AlarmAlertActivity.java +++ b/代码标注/AlarmAlertActivity.java @@ -56,8 +56,9 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); // 设置当前Activity的Window对象的属性,使其在锁定状态时保持常亮 if (!isScreenOn()) { // 判断当前屏幕是否处于锁定状态 - win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON // 如果当前屏幕处于锁定状态,则设置当前Activity的Window对象的属性,使其在锁定状态时保持常亮,并允许锁定屏幕 - | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON + win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON // 如果当前屏幕处于锁定状态, + //则设置当前Activity的Window对象的属性,使其在锁定状态时保持常亮,并允许锁定屏幕 + | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR); } @@ -76,8 +77,10 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD } mPlayer = new MediaPlayer(); // 初始化mPlayer - - if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) { // 判断mNoteId对应的Notes表中的TYPE_NOTE字段是否可见 + + + // 判断mNoteId对应的Notes表中的TYPE_NOTE字段是否可见 + if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) { showActionDialog(); // 如果可见,则显示ActionDialog playAlarmSound(); // 播放闹钟音效 } else { @@ -88,7 +91,7 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD private boolean isScreenOn() { // 判断当前屏幕是否处于锁定状态 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); // 获取当前系统的PowerManager实例 - return pm.isScreenOn(); // 判断当前屏幕是否处于锁定状态 + return pm.isScreenOn(); // 返回当前屏幕锁定状态 } @@ -104,6 +107,7 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); // 如果不包含,则设置mPlayer的音频流类型为AudioManager.STREAM_ALARM } try { + mPlayer.setDataSource(this, url); // 设置mPlayer的数据源 mPlayer.prepare(); // 准备播放 mPlayer.setLooping(true); // 设置mPlayer循环播放 @@ -125,7 +129,9 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD private void showActionDialog() { // 显示ActionDialog + AlertDialog.Builder dialog = new AlertDialog.Builder(this); // 创建一个AlertDialog.Builder实例 + dialog.setTitle(R.string.app_name); // 设置AlertDialog的标题 dialog.setMessage(mSnippet); // 设置AlertDialog的消息 dialog.setPositiveButton(R.string.notealert_ok, this); // 设置AlertDialog的确定按钮 diff --git a/代码标注/AlarmReceiver.java b/代码标注/AlarmReceiver.java index 4be6587..78cce94 100644 --- a/代码标注/AlarmReceiver.java +++ b/代码标注/AlarmReceiver.java @@ -20,12 +20,13 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; - -public class AlarmReceiver extends BroadcastReceiver { // 创建一个AlarmReceiver类,继承自BroadcastReceiver +// 创建一个AlarmReceiver类,继承自BroadcastReceiver,在接收到特定广播时,启动 AlarmAlertActivity 活动。 +public class AlarmReceiver extends BroadcastReceiver { @Override - public void onReceive(Context context, Intent intent) { // 重写onReceive方法,接收Intent类型的参数 - intent.setClass(context, AlarmAlertActivity.class); // 设置AlarmAlertActivity的Class - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 设置AlarmAlertActivity的Flag + // 重写onReceive方法,接收Intent类型的参数 + public void onReceive(Context context, Intent intent) { + intent.setClass(context, AlarmAlertActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); // 启动AlarmAlertActivity } } diff --git a/代码标注/DateTimePicker.java b/代码标注/DateTimePicker.java index 4270956..ee703cd 100644 --- a/代码标注/DateTimePicker.java +++ b/代码标注/DateTimePicker.java @@ -165,24 +165,24 @@ private NumberPicker.OnValueChangeListener mOnDateChangedListener = new NumberPi }; -public interface OnDateTimeChangedListener { // 添加中文注释后 + public interface OnDateTimeChangedListener { void onDateTimeChanged(DateTimePicker view, int year, int month, // 当时间改变时调用 int dayOfMonth, int hourOfDay, int minute); } - public DateTimePicker(Context context) { // 构造函数,传入上下文和当前时间戳 + public DateTimePicker(Context context) { // 构造函数,传入上下文和当前时间戳 this(context, System.currentTimeMillis()); } -public DateTimePicker(Context context, long date) { // 创建一个DateTimePicker对象,参数为context和date,dateFormat默认为24小时制 + public DateTimePicker(Context context, long date) { // 创建一个DateTimePicker对象,参数为context和date,dateFormat默认为24小时制 this(context, date, DateFormat.is24HourFormat(context)); } -public DateTimePicker(Context context, long date, boolean is24HourView) { // 创建DateTimePicker对象,传入上下文、日期和是否24小时视图 + public DateTimePicker(Context context, long date, boolean is24HourView) { // 创建DateTimePicker对象,传入上下文、日期和是否24小时视图 super(context); mDate = Calendar.getInstance(); mInitialising = true; @@ -190,7 +190,7 @@ public DateTimePicker(Context context, long date, boolean is24HourView) { // inflate(context, R.layout.datetime_picker, this); - mDateSpinner = (NumberPicker) findViewById(R.id.date); //获取日期选择器 + mDateSpinner = (NumberPicker) findViewById(R.id.date); //获取日期选择器 mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL); //设置最小值 mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL); //设置最大值 mDateSpinner.setOnValueChangedListener(mOnDateChangedListener); //设置日期改变监听器