diff --git a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java index f221202..1342567 100644 --- a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java +++ b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java @@ -26,7 +26,10 @@ import android.database.Cursor; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; - +/* +Author:刘瑞轩 +Data:2023-4-12 +*/ public class AlarmInitReceiver extends BroadcastReceiver { @@ -40,26 +43,28 @@ public class AlarmInitReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - long currentDate = System.currentTimeMillis(); + long currentDate = System.currentTimeMillis();//找到目前的时间段 Cursor c = context.getContentResolver().query(Notes.CONTENT_NOTE_URI, PROJECTION, NoteColumns.ALERTED_DATE + ">? AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE, new String[] { String.valueOf(currentDate) }, - null); + null);//筛选出来那些提醒时间大于当前时间并且类型是便签类型的 if (c != null) { - if (c.moveToFirst()) { + if (c.moveToFirst()) {//如果下一个数据存在的话 do { - long alertDate = c.getLong(COLUMN_ALERTED_DATE); - Intent sender = new Intent(context, AlarmReceiver.class); + long alertDate = c.getLong(COLUMN_ALERTED_DATE);//获取当前数据的日期 + Intent sender = new Intent(context, AlarmReceiver.class);//获取一个新的页面 sender.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, c.getLong(COLUMN_ID))); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, sender, 0); AlarmManager alermManager = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); - alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); - } while (c.moveToNext()); + alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent);//采用系统实时时钟(RTC)闹钟 + //当闹钟到达alertDate时唤醒设备,保证不会在睡眠模式错过闹钟,第二个参数是闹钟的触发时间,第三个就是指定谁到时候就会 + //被触发 + } while (c.moveToNext());//只要下一个数据存在的话 } - c.close(); + c.close();//关闭流文件 } } } diff --git a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java index 54e503b..186b4d5 100644 --- a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java +++ b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/AlarmReceiver.java @@ -19,12 +19,15 @@ package net.micode.notes.ui; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; - +/* +Author:刘瑞轩 +Data:2023/4/12 +*/ public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - intent.setClass(context, AlarmAlertActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); + intent.setClass(context, AlarmAlertActivity.class);//由当前页面跳转到对应界面 + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//该标记表示在新任务栈中启动 Activity,当它不在前台的时候,保证其可以在后台显示 + context.startActivity(intent);//启动对应的活动 } } diff --git a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePicker.java b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePicker.java index 496b0cd..9c4aca9 100644 --- a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePicker.java +++ b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePicker.java @@ -27,7 +27,10 @@ import android.text.format.DateFormat; import android.view.View; import android.widget.FrameLayout; import android.widget.NumberPicker; - +/* +Author:刘瑞轩 +Data:2023/4/12 +*/ public class DateTimePicker extends FrameLayout { private static final boolean DEFAULT_ENABLE_STATE = true; @@ -66,39 +69,40 @@ public class DateTimePicker extends FrameLayout { private NumberPicker.OnValueChangeListener mOnDateChangedListener = new NumberPicker.OnValueChangeListener() { @Override - public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + public void onValueChange(NumberPicker picker, int oldVal, int newVal) {//更改日期 mDate.add(Calendar.DAY_OF_YEAR, newVal - oldVal); updateDateControl(); onDateTimeChanged(); } - }; + };//当用户更改值之后改变便签的修改日期 private NumberPicker.OnValueChangeListener mOnHourChangedListener = new NumberPicker.OnValueChangeListener() { @Override - public void onValueChange(NumberPicker picker, int oldVal, int newVal) { - boolean isDateChanged = false; - Calendar cal = Calendar.getInstance(); - if (!mIs24HourView) { - if (!mIsAm && oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY) { - cal.setTimeInMillis(mDate.getTimeInMillis()); - cal.add(Calendar.DAY_OF_YEAR, 1); + public void onValueChange(NumberPicker picker, int oldVal, int newVal) {//各自的参数代表被改变值得NumberPicker对象,旧值,新值 + boolean isDateChanged = false;//用户是否改变值 + Calendar cal = Calendar.getInstance();//获取当前的时间 + if (!mIs24HourView) {//不是用的24小时制度 + if (!mIsAm && oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY) {//是下午旧值是11,新值是12,代表到了下一天 + cal.setTimeInMillis(mDate.getTimeInMillis());//将修改时间修改为当前的时间 + cal.add(Calendar.DAY_OF_YEAR, 1);//过了一天,将日期加1 isDateChanged = true; - } else if (mIsAm && oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) { - cal.setTimeInMillis(mDate.getTimeInMillis()); - cal.add(Calendar.DAY_OF_YEAR, -1); + } else if (mIsAm && oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) {//如果当前是上午,并且 + //旧值是12,新值是11,那么就代表回到了上一天 + cal.setTimeInMillis(mDate.getTimeInMillis());//获取当前的时间 + cal.add(Calendar.DAY_OF_YEAR, -1);//日期减一 isDateChanged = true; } if (oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY || - oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) { + oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) {//只要之前是11,现在是12,或者是之前是12,现在是11,AM和PM都会发生改变,取反 mIsAm = !mIsAm; - updateAmPmControl(); + updateAmPmControl();//更新限制 } } else { - if (oldVal == HOURS_IN_ALL_DAY - 1 && newVal == 0) { + if (oldVal == HOURS_IN_ALL_DAY - 1 && newVal == 0) {//如果当前时间比之前时间早,代表已经过了一天了 cal.setTimeInMillis(mDate.getTimeInMillis()); cal.add(Calendar.DAY_OF_YEAR, 1); isDateChanged = true; - } else if (oldVal == 0 && newVal == HOURS_IN_ALL_DAY - 1) { + } else if (oldVal == 0 && newVal == HOURS_IN_ALL_DAY - 1) {//如果当前时间比之前时间晚代表是同一天 cal.setTimeInMillis(mDate.getTimeInMillis()); cal.add(Calendar.DAY_OF_YEAR, -1); isDateChanged = true; @@ -117,41 +121,41 @@ public class DateTimePicker extends FrameLayout { private NumberPicker.OnValueChangeListener mOnMinuteChangedListener = new NumberPicker.OnValueChangeListener() { @Override - public void onValueChange(NumberPicker picker, int oldVal, int newVal) { - int minValue = mMinuteSpinner.getMinValue(); - int maxValue = mMinuteSpinner.getMaxValue(); - int offset = 0; - if (oldVal == maxValue && newVal == minValue) { + public void onValueChange(NumberPicker picker, int oldVal, int newVal) {//通过调整分钟来调整时间 + int minValue = mMinuteSpinner.getMinValue();//获取最小值 + int maxValue = mMinuteSpinner.getMaxValue();//获取最大值 + int offset = 0;//判断是否跨越边界 + if (oldVal == maxValue && newVal == minValue) {//如果新的是最小的,旧的值是最大的那么小时加1 offset += 1; - } else if (oldVal == minValue && newVal == maxValue) { + } else if (oldVal == minValue && newVal == maxValue) {//如果新的是最大的值,旧的是最小值,那么代表我们是往上调整的,那么小时减小 offset -= 1; } - if (offset != 0) { - mDate.add(Calendar.HOUR_OF_DAY, offset); - mHourSpinner.setValue(getCurrentHour()); - updateDateControl(); - int newHour = getCurrentHourOfDay(); - if (newHour >= HOURS_IN_HALF_DAY) { - mIsAm = false; - updateAmPmControl(); + if (offset != 0) {//如果跨越边界了 + mDate.add(Calendar.HOUR_OF_DAY, offset);//日期进行相应的改变 + mHourSpinner.setValue(getCurrentHour());//获取当前的时间 + updateDateControl();//更新限制 + int newHour = getCurrentHourOfDay();//更新小时 + if (newHour >= HOURS_IN_HALF_DAY) {//判断是上午还是下午 + mIsAm = false;//不是上午 + updateAmPmControl();//更新限制 } else { - mIsAm = true; + mIsAm = true;//是上午 updateAmPmControl(); } } - mDate.set(Calendar.MINUTE, newVal); - onDateTimeChanged(); + mDate.set(Calendar.MINUTE, newVal);//设置成新的值 + onDateTimeChanged();//更改小时 } }; - private NumberPicker.OnValueChangeListener mOnAmPmChangedListener = new NumberPicker.OnValueChangeListener() { + private NumberPicker.OnValueChangeListener mOnAmPmChangedListener = new NumberPicker.OnValueChangeListener() {//更新上午还是下午 @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);//如果是下午变成上午,那么需要减去12小时 } else { - mDate.add(Calendar.HOUR_OF_DAY, HOURS_IN_HALF_DAY); + mDate.add(Calendar.HOUR_OF_DAY, HOURS_IN_HALF_DAY);//如果是上午变成下午,那么需要加上12小时 } updateAmPmControl(); onDateTimeChanged(); @@ -176,30 +180,30 @@ public class DateTimePicker extends FrameLayout { mDate = Calendar.getInstance(); mInitialising = true; mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY; - inflate(context, R.layout.datetime_picker, this); + inflate(context, R.layout.datetime_picker, this);//将小时、分钟和日期、在上午还是下午填充到这个文件中 mDateSpinner = (NumberPicker) findViewById(R.id.date); - mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL); - mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL); - mDateSpinner.setOnValueChangedListener(mOnDateChangedListener); + mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL);//选择当前月份的最小的那一天 + mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL);//选择当前月份最大的那一天 + mDateSpinner.setOnValueChangedListener(mOnDateChangedListener);//设置日期监听器 - mHourSpinner = (NumberPicker) findViewById(R.id.hour); - mHourSpinner.setOnValueChangedListener(mOnHourChangedListener); + mHourSpinner = (NumberPicker) findViewById(R.id.hour);//找到小时 + mHourSpinner.setOnValueChangedListener(mOnHourChangedListener);//设置小时监听器 mMinuteSpinner = (NumberPicker) findViewById(R.id.minute); - mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL); - mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL); - mMinuteSpinner.setOnLongPressUpdateInterval(100); - mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener); + mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL);//设置分钟最小值 + mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL);//设置分钟最大值 + mMinuteSpinner.setOnLongPressUpdateInterval(100);//设置按下更新的间隔是100ms + mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener);//设置分钟监听器 - String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings(); + String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings();//获取当前设备上的AM/PM字符串数组,第一个元素为AM,第二个元素为PM mAmPmSpinner = (NumberPicker) findViewById(R.id.amPm); mAmPmSpinner.setMinValue(AMPM_SPINNER_MIN_VAL); mAmPmSpinner.setMaxValue(AMPM_SPINNER_MAX_VAL); mAmPmSpinner.setDisplayedValues(stringsForAmPm); - mAmPmSpinner.setOnValueChangedListener(mOnAmPmChangedListener); + mAmPmSpinner.setOnValueChangedListener(mOnAmPmChangedListener);//设置上午下午监听器 // update controls to initial state - updateDateControl(); + updateDateControl();//更新限制 updateHourControl(); updateAmPmControl(); @@ -215,22 +219,22 @@ public class DateTimePicker extends FrameLayout { } @Override - public void setEnabled(boolean enabled) { - if (mIsEnabled == enabled) { + public void setEnabled(boolean enabled) {//用来设置组件显示出来 + if (mIsEnabled == enabled) {//如果相同则不用修改 return; } - super.setEnabled(enabled); - mDateSpinner.setEnabled(enabled); - mMinuteSpinner.setEnabled(enabled); - mHourSpinner.setEnabled(enabled); - mAmPmSpinner.setEnabled(enabled); - mIsEnabled = enabled; + super.setEnabled(enabled);//设置可行 + mDateSpinner.setEnabled(enabled);//设置日期监听器可行 + mMinuteSpinner.setEnabled(enabled);//设置分钟监听器可行 + mHourSpinner.setEnabled(enabled);//设置小时监听器可行 + mAmPmSpinner.setEnabled(enabled);//设置上午下午监听器可行 + mIsEnabled = enabled;//设置为已经更新为可用 } @Override public boolean isEnabled() { return mIsEnabled; - } + }//返回是否可用 /** * Get the current date in millis @@ -239,7 +243,7 @@ public class DateTimePicker extends FrameLayout { */ public long getCurrentDateInTimeMillis() { return mDate.getTimeInMillis(); - } + }//获取当前的日期 /** * Set the current date @@ -269,7 +273,7 @@ public class DateTimePicker extends FrameLayout { setCurrentDay(dayOfMonth); setCurrentHour(hourOfDay); setCurrentMinute(minute); - } + }//设置时间 /** * Get current year @@ -278,7 +282,7 @@ public class DateTimePicker extends FrameLayout { */ public int getCurrentYear() { return mDate.get(Calendar.YEAR); - } + }//返回当前年 /** * Set current year @@ -286,10 +290,10 @@ public class DateTimePicker extends FrameLayout { * @param year The current year */ public void setCurrentYear(int year) { - if (!mInitialising && year == getCurrentYear()) { + if (!mInitialising && year == getCurrentYear()) {//如果已经初始化并且年份和当前的相同 return; } - mDate.set(Calendar.YEAR, year); + mDate.set(Calendar.YEAR, year);//更新 updateDateControl(); onDateTimeChanged(); } @@ -301,7 +305,7 @@ public class DateTimePicker extends FrameLayout { */ public int getCurrentMonth() { return mDate.get(Calendar.MONTH); - } + }//获得月份 /** * Set current month in the year @@ -312,7 +316,7 @@ public class DateTimePicker extends FrameLayout { if (!mInitialising && month == getCurrentMonth()) { return; } - mDate.set(Calendar.MONTH, month); + mDate.set(Calendar.MONTH, month);//更新月份 updateDateControl(); onDateTimeChanged(); } @@ -324,14 +328,14 @@ public class DateTimePicker extends FrameLayout { */ public int getCurrentDay() { return mDate.get(Calendar.DAY_OF_MONTH); - } + }//获取月份 /** * Set current day of the month * * @param dayOfMonth The day of the month */ - public void setCurrentDay(int dayOfMonth) { + public void setCurrentDay(int dayOfMonth) {//更新天 if (!mInitialising && dayOfMonth == getCurrentDay()) { return; } @@ -346,17 +350,17 @@ public class DateTimePicker extends FrameLayout { */ public int getCurrentHourOfDay() { return mDate.get(Calendar.HOUR_OF_DAY); - } + }//获取当前的小时 private int getCurrentHour() { - if (mIs24HourView){ + if (mIs24HourView){//如果是24小时 return getCurrentHourOfDay(); } else { - int hour = getCurrentHourOfDay(); - if (hour > HOURS_IN_HALF_DAY) { + int hour = getCurrentHourOfDay();//获取小时 + if (hour > HOURS_IN_HALF_DAY) {//如果大于12应该减去12 return hour - HOURS_IN_HALF_DAY; } else { - return hour == 0 ? HOURS_IN_HALF_DAY : hour; + return hour == 0 ? HOURS_IN_HALF_DAY : hour;//否则就和当前的相同 } } } @@ -367,25 +371,25 @@ public class DateTimePicker extends FrameLayout { * @param hourOfDay */ public void setCurrentHour(int hourOfDay) { - if (!mInitialising && hourOfDay == getCurrentHourOfDay()) { + if (!mInitialising && hourOfDay == getCurrentHourOfDay()) {//如果已经初始化并且和现在的小时一样就不用管 return; } - mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); - if (!mIs24HourView) { + mDate.set(Calendar.HOUR_OF_DAY, hourOfDay);//设置小时 + if (!mIs24HourView) {//如果不是24小时制度 if (hourOfDay >= HOURS_IN_HALF_DAY) { - mIsAm = false; - if (hourOfDay > HOURS_IN_HALF_DAY) { + mIsAm = false;//代表是下午 + if (hourOfDay > HOURS_IN_HALF_DAY) {//如果大于12 hourOfDay -= HOURS_IN_HALF_DAY; } } else { - mIsAm = true; + mIsAm = true;//时上午 if (hourOfDay == 0) { - hourOfDay = HOURS_IN_HALF_DAY; + hourOfDay = HOURS_IN_HALF_DAY;//代表到达了最后 } } updateAmPmControl(); } - mHourSpinner.setValue(hourOfDay); + mHourSpinner.setValue(hourOfDay);//更新时间 onDateTimeChanged(); } @@ -405,8 +409,8 @@ public class DateTimePicker extends FrameLayout { if (!mInitialising && minute == getCurrentMinute()) { return; } - mMinuteSpinner.setValue(minute); - mDate.set(Calendar.MINUTE, minute); + mMinuteSpinner.setValue(minute);//设置时间 + mDate.set(Calendar.MINUTE, minute);//设置分钟 onDateTimeChanged(); } @@ -415,7 +419,7 @@ public class DateTimePicker extends FrameLayout { */ public boolean is24HourView () { return mIs24HourView; - } + }//返回是否是24小时制 /** * Set whether in 24 hour or AM/PM mode. @@ -423,48 +427,48 @@ public class DateTimePicker extends FrameLayout { * @param is24HourView True for 24 hour mode. False for AM/PM mode. */ public void set24HourView(boolean is24HourView) { - if (mIs24HourView == is24HourView) { + if (mIs24HourView == is24HourView) {//如果是24小时制,就无需更改 return; } - mIs24HourView = is24HourView; - mAmPmSpinner.setVisibility(is24HourView ? View.GONE : View.VISIBLE); - int hour = getCurrentHourOfDay(); + mIs24HourView = is24HourView;//更改为24小时制度 + mAmPmSpinner.setVisibility(is24HourView ? View.GONE : View.VISIBLE);//讲对应的界面显示出来 + int hour = getCurrentHourOfDay();//获取当前的小时 updateHourControl(); - setCurrentHour(hour); + 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.add(Calendar.DAY_OF_YEAR, -DAYS_IN_ALL_WEEK / 2 - 1);//按照一周来显示,以当前这一天为中心进行扩展 + mDateSpinner.setDisplayedValues(null);//清空mDateSpinner显示的数据 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); + cal.add(Calendar.DAY_OF_YEAR, 1);//将当前的cal的最后一个数据加1 + 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();//使选择器无效,从而更新显示值 } private void updateAmPmControl() { - if (mIs24HourView) { - mAmPmSpinner.setVisibility(View.GONE); + if (mIs24HourView) {//如果是24小时制 + mAmPmSpinner.setVisibility(View.GONE);//上午下午不显示 } else { - int index = mIsAm ? Calendar.AM : Calendar.PM; - mAmPmSpinner.setValue(index); - mAmPmSpinner.setVisibility(View.VISIBLE); + int index = mIsAm ? Calendar.AM : Calendar.PM;//显示是上午还是下午 + mAmPmSpinner.setValue(index);//显示对应的内容 + mAmPmSpinner.setVisibility(View.VISIBLE);//可见 } } private void updateHourControl() { - if (mIs24HourView) { - mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW); - mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW); + if (mIs24HourView) {//如果是24小时制 + mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW);//显示24小时最小值 + mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW);//显示24小时最大值 } else { - mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW); - mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW); + mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW);//显示12小时最小值 + mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW);//显示12小时最大值 } } @@ -476,7 +480,7 @@ public class DateTimePicker extends FrameLayout { mOnDateTimeChangedListener = callback; } - private void onDateTimeChanged() { + private void onDateTimeChanged() {//更改便签时间 if (mOnDateTimeChangedListener != null) { mOnDateTimeChangedListener.onDateTimeChanged(this, getCurrentYear(), getCurrentMonth(), getCurrentDay(), getCurrentHourOfDay(), getCurrentMinute()); diff --git a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java index 2c47ba4..46381ad 100644 --- a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java +++ b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java @@ -43,7 +43,7 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener public DateTimePickerDialog(Context context, long date) { super(context); mDateTimePicker = new DateTimePicker(context); - setView(mDateTimePicker); + setView(mDateTimePicker);//将事件显示出来 mDateTimePicker.setOnDateTimeChangedListener(new OnDateTimeChangedListener() { public void onDateTimeChanged(DateTimePicker view, int year, int month, int dayOfMonth, int hourOfDay, int minute) { @@ -52,21 +52,21 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); mDate.set(Calendar.MINUTE, minute); - updateTitle(mDate.getTimeInMillis()); - } + updateTitle(mDate.getTimeInMillis());//更新题目 + }//根据对话框参数定位到对应的日期 }); - mDate.setTimeInMillis(date); - mDate.set(Calendar.SECOND, 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())); - updateTitle(mDate.getTimeInMillis()); + mDate.setTimeInMillis(date);//将其转化为时间戳 + mDate.set(Calendar.SECOND, 0);//设置s为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()));//根据24小时制或者是12小时进行设置 + updateTitle(mDate.getTimeInMillis());//更新题目 } public void set24HourView(boolean is24HourView) { mIs24HourView = is24HourView; - } + }//设置为24小时页面 public void setOnDateTimeSetListener(OnDateTimeSetListener callBack) { mOnDateTimeSetListener = callBack; @@ -74,11 +74,11 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener private void updateTitle(long date) { int flag = - DateUtils.FORMAT_SHOW_YEAR | + DateUtils.FORMAT_SHOW_YEAR |//显示年日时间 DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME; - flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR; - setTitle(DateUtils.formatDateTime(this.getContext(), date, flag)); + flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR;//是否按照24小时制显示 + setTitle(DateUtils.formatDateTime(this.getContext(), date, flag));//设置对应的题目 } public void onClick(DialogInterface arg0, int arg1) { diff --git a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DropdownMenu.java b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DropdownMenu.java index 613dc74..8e26ccc 100644 --- a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DropdownMenu.java +++ b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/DropdownMenu.java @@ -32,16 +32,16 @@ public class DropdownMenu { private PopupMenu mPopupMenu; private Menu mMenu; - public DropdownMenu(Context context, Button button, int menuId) { + public DropdownMenu(Context context, Button button, int menuId) {//放下菜单 mButton = button; - mButton.setBackgroundResource(R.drawable.dropdown_icon); - mPopupMenu = new PopupMenu(context, mButton); + mButton.setBackgroundResource(R.drawable.dropdown_icon);//设置背景资源,改变对应的背景图片 + mPopupMenu = new PopupMenu(context, mButton);//显示菜单 mMenu = mPopupMenu.getMenu(); - mPopupMenu.getMenuInflater().inflate(menuId, mMenu); + mPopupMenu.getMenuInflater().inflate(menuId, mMenu);//填充菜单 mButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { mPopupMenu.show(); - } + }//显示对应的菜单 }); } diff --git a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java index 96b77da..620b9b3 100644 --- a/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java +++ b/src/Xiaominotes/app/src/main/java/net/micode/notes/ui/FoldersListAdapter.java @@ -30,7 +30,7 @@ import net.micode.notes.data.Notes.NoteColumns; public class FoldersListAdapter extends CursorAdapter { - public static final String [] PROJECTION = { + public static final String [] PROJECTION = {//投影 NoteColumns.ID, NoteColumns.SNIPPET };