[关闭]
@DefinedOne 2015-07-10T01:36:55.000000Z 字数 1794 阅读 916

Android Alarm Clock Demo 展现 V0.8

android alarm clock

1. Alarm类

1.1 Alarm类的数据

类型 名称 说明
String alarmName 闹钟名
int id
Calendar alarmTime 响铃时间,
Day[] days 每周有哪几天响铃(周日、周一…周六)
String alarmTonePath 铃声文件路径
Boolean vibrate 是否震动
Difficulty difficulty 难度等级
Boolean alarmActive 是否已被激活

其中Day和Difficulty是枚举类。
Day有其个取值,Difficulty有三个取值。

1.2 Alarm类的方法

1.2.2 系列的set()、get()

对上述的数据都有基本的set()、get()方法。

1.2.2 其他常用方法

以下方法的属性:public。

方法 说明
void schedule(Context context) 启动这个Alarm
String getRepeatDaysString() 取得‘闹钟在每周的周几重复’的字符串表达
String getTimeUntilNextAlarmMessage() 取得闹钟下一次响铃时间的字符串表达

1.2.3 schedule()方法——启动Alarm

  1. public void schedule(Context context) {
  2. setAlarmActive(true);
  3. Intent myIntent = new Intent(context, AlarmAlertBroadcastReciever.class);
  4. myIntent.putExtra("alarm", this);
  5. PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent,
  6. PendingIntent.FLAG_CANCEL_CURRENT);
  7. AlarmManager alarmManager = (AlarmManager)context.getSystemService(
  8. Context.ALARM_SERVICE);
  9. alarmManager.set(AlarmManager.RTC_WAKEUP, getAlarmTime().getTimeInMillis(),
  10. pendingIntent);
  11. }

1.2.4 getRepeatDaysString()方法——每周有哪几天响铃的字符串表达

  1. public String getRepeatDaysString() {
  2. StringBuilder daysStringBuilder = new StringBuilder();
  3. if(getDays().length == Day.values().length){
  4. daysStringBuilder.append("Every Day");
  5. }else{
  6. Arrays.sort(getDays(), new Comparator<Day>() {
  7. @Override
  8. public int compare(Day lhs, Day rhs) {
  9. return lhs.ordinal() - rhs.ordinal();
  10. }
  11. });
  12. for(Day d : getDays()){
  13. switch(d){
  14. case TUESDAY:
  15. case THURSDAY:
  16. // daysStringBuilder.append(d.toString().substring(0, 4));
  17. // break;
  18. default:
  19. daysStringBuilder.append(d.toString().substring(0, 3));
  20. break;
  21. }
  22. daysStringBuilder.append(',');
  23. }
  24. daysStringBuilder.setLength(daysStringBuilder.length()-1);
  25. }
  26. return daysStringBuilder.toString();
  27. }

2. 如何引用Alarm类

2.1 Alarm Demo的主要类图

Alarm Demo的主要类图


感谢您花费时间阅读这篇文章,当然我更希望您有所收获!分享愉快!

作者 @DefinedOne
2015 年 03月 31日

A simple android alarm clock application that requires that you solve a math problem to deactivate the alarm.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注