闹钟所实现的基本功能:定时提醒
//定义声音
CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle ();
// Get the URL to the sound file to play
soundFileURLRef = CFBundleCopyResourceURL (
mainBundle,
CFSTR ("tap"),
CFSTR ("aif"),
NULL
);
//将nsstring转为cfstring
// Create a system sound object representing the sound file
AudioServicesCreateSystemSoundID
(
soundFileURLRef,
&soundFileObject
);//声音的绑定(类似数据库时用的数据库指针)
利用之前介绍的uidatepicker选取要提醒的时间
//计算多少秒后闹钟响应时间
int hm=(hs*3600)+(ms*60)-sec;
//建立后台消息对象
UILocalNotification *notification=[[UILocalNotification alloc] init];
if (notification!=nil)
{
notification.repeatInterval=NSDayCalendarUnit;
NSDate *now1=[NSDate new];
notification.fireDate=[now1 dateByAddingTimeInterval:hm];//距现在多久后触发代理方法
notification.timeZone=[NSTimeZone defaultTimeZone];
notification.soundName = @"tap.aif";
notification.alertBody = [NSString stringWithFormat:NSLocalizedString(@"你设置的时间是:%i : %i .",nil),htime1 ,mtime1];
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
[now1 release];
}
点击确定时触发此方法
-(void)notfacation{
//获取当前时间
sure=YES;
NSDate* now = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit |
NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
comps = [calendar components:unitFlags fromDate:now];
hour = [comps hour];
min = [comps minute];
sec = [comps second];
htime1=[textField.text intValue];
mtime1=[textField1.text intValue];
hs=htime1-hour;
ms=mtime1-min;
//设置弹出框提醒用户
UIAlertView *at=[[UIAlertView alloc] initWithTitle:@"!"
message:[NSString stringWithFormat:@"你设置的时间: %i:%i ",htime1,mtime1]
delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:@"关闭",nil];
[at setDelegate:self];
[at show];
[at release];
}
所设定的时间到了会触发此代理
//到时间时触发的代理
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
NSLog(@"123123123131231231++++++++++++");
AudioServicesPlaySystemSound (self.soundFileObject);
sure=NO;
UIApplicationState state = application.applicationState;
if (state == UIApplicationStateActive)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"时间提醒"
message:notification.alertBody
delegate:self
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alert show];
[alert release];
}
}
分享到:
相关推荐
一个完善的闹钟程序不仅需要实现基本的定时提醒功能,还要提供丰富的个性化设置,以满足不同用户的需求。以下是对"闹钟程序实现闹钟功能"这一主题的详细解释: 首先,我们来探讨闹钟功能的核心——定时器。在编程中...
同时,为了确保闹钟的准确性,还需要设计一个检测当前时间与设定闹钟时间的比较逻辑,一旦到达设定时间,单片机就会触发闹铃提醒。 在这个项目中,"Clock-V1.0"可能包含以下内容:程序源代码(如C语言编写)、硬件...
通过以上步骤,你可以实现一个基本的Widget闹钟功能。不过,实际开发中还需要考虑更多细节,如用户设置的保存和恢复、权限请求、异常处理等。"ClockWidgetWork"可能包含了实现这些功能的源代码,通过阅读和理解这些...
单片机实现的闹钟系统是一种常见的嵌入式应用,它结合了硬件电路设计和软件编程技术。在本文中,我们将深入探讨如何使用单片机来构建一个能设定两个定点响铃时间的闹钟,并讨论其与微机的通信功能。 首先,我们需要...
本资源摘要信息旨在总结数字逻辑与EDA课程实验报告中的多功能闹钟设计,涵盖闹钟的基本功能、计时、校时、整点报时、定时、闹铃等功能。 闹钟的基本功能 数字闹钟的基本功能包括正常时间显示、闹钟时间显示和闹钟...
本文将深入解析标题为“android闹铃简单实现”的内容,介绍如何通过Android SDK来创建一个基本的闹钟应用。 首先,我们需要了解Android中的`AlarmManager`类,它是Android系统中负责调度闹钟的关键组件。`...
电子闹钟的VHDL实现是一项综合了数字逻辑设计与嵌入式系统技术的项目。在数字系统设计中,VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种广泛使用的硬件描述语言,它允许设计者以...
总的来说,"微信小闹钟:对话功能实现"这个项目涵盖了微信小程序的基本开发流程,包括用户交互、数据存储、时间监听和提醒功能。通过学习和实践,开发者不仅可以掌握小程序的基本用法,还能提升在实际项目中的应用...
在本项目中,"C语言实现闹钟"是一项软件课程设计任务,主要目的是让学生通过C语言编程技术,理解和掌握如何创建一个具备基本闹钟功能的应用程序。C语言是一种底层、通用且高效的编程语言,适用于开发操作系统、...
编写程序以文件存储用户设置的闹铃信息,并实现闹钟功能。 2 要求及提示 2.1 程序执行过程 (1)该系统要求,具体功能有 ①设定闹铃时间; ②修改闹铃; ③取消闹铃; ④闹铃/停止闹铃。 (2)界面友好 有提示信息或...
**扩展功能**:除了基本的时间显示和闹钟功能,数字闹钟还可以扩展其他功能,例如整点报时、定时开关机、日期显示等。这些功能需要额外的逻辑电路和软件支持。\n\n5. **IP核**:在SOPC设计中,IP核是预先设计好的...
以上就是C++实现闹钟功能的基本思路,实际编写时可能需要考虑更多细节,比如多线程处理、异常处理、用户界面设计等。这个小程序可以作为一个学习C++时间和并发处理的好项目,通过实践加深对C++语言的理解。
在本文中,我们将深入探讨如何实现 DeskClock 的闹钟界面,这对于想要自定义或开发类似功能的Android开发者来说非常有价值。 首先,我们来了解Android界面的基本构建模块。在Android中,界面通常由布局(Layout)和...
在本项目中,"C++实现的小闹钟功能"是一个基于C++编程语言构建的简单应用,它模拟了日常生活中常见的电子闹钟功能。虽然它可能并不完美,但足以作为一个学习和实践C++编程基础的实例。下面我们将深入探讨这个项目...
在iOS平台上,实现一个闹钟功能通常涉及到使用`UILocalNotification`类,这是苹果提供的本地通知服务,可以让我们在特定时间向用户发送提醒。在这个场景中,我们将深入探讨如何使用`UILocalNotification`来创建一个...
在iOS平台上实现一个基本的闹钟程序涉及到多个技术层面,包括事件调度、用户界面设计、本地通知以及可能的媒体播放。下面将详细讲解这些知识点。 首先,我们需要理解iOS中的事件调度机制。在iOS中,我们可以使用`...
本教程将探讨如何使用Swift来实现一个仿iOS系统闹钟的功能。首先,我们需要理解iOS中的本地通知(Local Notifications)机制,这是实现闹钟功能的核心。 本地通知是iOS系统提供的一种服务,允许应用程序在指定的...
这些芯片不仅提供了基本的时间和日期存储,还支持中断和唤醒功能,这正是实现闹钟功能的关键。 1. **DS1307 RTC芯片**:DS1307是一个低功耗、全二进制代码的CMOS实时时钟/日历芯片,具有串行I2C接口。它包含一个...
以上就是使用Android `AlarmManager` 实现闹钟定时器的基本步骤和注意事项。在实际开发中,根据项目需求和目标用户群体的设备特性,可能需要进行额外的优化和适配。在测试时,务必覆盖多种设备和系统版本,确保功能...
在创建闹钟应用时,我们需要掌握C++的基本语法、类和对象的概念,以及事件驱动编程模型。 1. **事件驱动编程**:在这个闹钟程序中,事件驱动编程是核心。当用户设置闹钟时间或闹钟触发时,程序需要响应这些事件。在...