android重复闹钟
‘壹’ 基于android的闹钟如何添加和删除
一、本课题要求:设计一个基于Android的闹钟的软件。
实现的功能有:能通过界面设置闹钟的启动条件建立后台服务进程,当满足触发条件时,闹钟响应相应事件。
二、需求分析
该课题实现在手机操作系统Android闹钟提醒功能,携带方便,使用起来灵活、快捷、省心,是一款实用的手机软件。“手机闹钟”可以在后台运行,且能和普通闹钟一样设置多个位置闹铃,有良好的人机交互界面,可对其编辑、启用或禁用,关键在于可以自定义设置取消闹钟的操作。
(1)系统体系结构包括:添加闹铃、设置时间、重复等,闹铃提醒方式,返回首页。
(2)用户界面设计
解除闹铃代码
(2)代码分析
开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行。当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序。注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机和重启后,闹钟将会被清除。
在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_SERVICE)方法来获得AlarmManager对象。
闹钟使用的Demo:com.example.android.apis.app.AlarmController其中设定了两种闹钟,一种是一次性的,一种是重复的。
四、总结
在这个过程中,我学会了很多知识,比如Android环境的搭建和配置问题、Android的构架和基本组建等,同时我学会的最重要的一点是,要利用现有的资源去解决问题,在图书馆、在网络上寻找答案,也可以请教老师或与同学相互讨论。虽然,这个软件目前运行良好,但是我认为代码的健壮还很差,在整个工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。与此同时,这个软件还可以进一步扩展,例如通过Android Api获取位置信息,并在指定地点设置闹钟提醒等,使功能更加强大,带给用户更好的体验与便捷的生活服务。
‘贰’ 谁才是轻便实用好闹钟 Android闹钟类应用横评
现在,手机应用中还衍生出了一批闹钟类的应用,他们来增强用户手机中的闹钟功能,来更好的规划工作日与周末的作息。本次小编将针对Android平台下的点心闹钟、正点闹钟、贪睡闹钟这三款闹钟应用类产品来进行评测,看看谁是当下最好的闹钟。测试产品:点心闹钟、正点闹钟、贪睡闹钟测试项目:基本功能、特色功能、系统容量占用、RAM占用测试平台:Android 4.0.3测试机型:Nexus S闹钟基本功能对比:点心闹钟、正点闹钟、贪睡闹钟这三款产品都具备一些独有的特色功能,尽管它们UI设计不太相同,但是却也存在很多相同的基本功能特点,那么到底哪一款闹钟应用的功能更加全面呢?当用户首次进入主界面的时候,点心闹钟和正点闹钟均会向用户提供一个初次使用导引,来帮助用户了解基本的使用操作,而通过对比可以看出点心闹钟比正点闹钟在使用导引的介绍上更加细致,用户在一个界面下便可了解到更多的使用技巧。但是,贪睡闹钟却并未向用户提供这个使用的导引介绍功能。不难看出,三款闹钟应用产品中点心闹钟的UI设计相对清新美观,同时在操作中还加入了左右滑屏的功能。正点闹钟在UI中则着重强调了添加新提醒的操作,但在设置、提醒添加的页面间却不支持左右滑屏操作,略微削弱了用户操作的舒适性。懒人闹钟的UI则相对简陋,同时还加入了占据屏幕的移动广告栏。本次横评的三款闹钟类产品都有其独有的功能特点,点心闹钟在其功能中加入了语音功能,用户可以将语音备忘的功能加入到设定的闹钟之中,这样在闹钟到时后便会播放用户的录音,以此来实现语音备忘录的功能。而在正点闹钟中则添加进了多种预设的事件模式,用户在设定时则无需手动输入太多的事件名称,但相比较于前者的语音备忘功能还欠缺一定的自由性。懒人闹钟在响铃时十分有特色,用户必须用手指点中在屏幕中浮动的闹钟才能有效,这确实有效帮助了那些还在睡眼朦胧之中的用户迅速清醒。最后,小编对点心闹钟、正点闹钟、贪睡闹钟这三款产品的一些基本功能进行了汇总,结果发现像闹钟时间段和铃声的选择是这三款产品中共有的功能。整体来看,点心闹钟和正点闹钟在功能上颇为全面,点心闹钟则还具备语音和反转手机操作的独有功能,而正点闹钟则预设了大量的生活事件名称。而贪睡闹钟则在很多功能上存在较大的缺失。闹钟应用系统容量占用横评闹钟在你的生活中不可或缺却又无法霸占你的全部生活。闹钟应用也应该如此,它应该既能帮助你完成提醒的,但又不干扰你的绝大多数生活,闹钟应用理应占用较少的系统资源,不影响手机功能的正常使用。本项测试中,小编将专门针对本次横评的这三款应用的容量占用来进行测试。(单位:MB)三款产品安装后的占用容量分别为:点心闹钟1.41MB、正点闹钟4.59MB、贪睡闹钟3.12MB。从上文中的功能对比不难看出,点心闹钟和正点闹钟的功能最全面,但是正点闹钟却因此而耗费了最多的软件容量。而点心闹钟在保证功能完整的情况下却实现了最小的系统容量占用,让一些低版本的Android用户不会因此而担心系统容量的占用。点心闹钟的系统容量占用仅约为贪睡闹钟的1/2、正点闹钟的1/3。闹钟应用RAM占用值横评应用开启后的RAM值占用决定了其对Android手机流畅度、电量、系统效率的影响,手机中RAM就像电脑中的内存概念一样,而一款辅助类的闹钟产品不应该消耗过多的Android系统的RAM。本项测试中,小编将会测试发现这三款产品谁将会间接影响了用户手机的性能。(单位:MB)三款应用开启后的RAM值占用分别为:点心闹钟10MB、正点闹钟21MB,贪睡闹钟11MB。由于一些千元智能机中的可用RAM仅有60-70MB,而像本次评测中的正点闹钟产品在使用中很可能将占用这类Android手机系统系统RAM的近35%。而21MB这样的数值基本上与一些小型Android手机游戏持平,同时高于像手机浏览器、IM聊天、社交网络这些类型的应用产品。点心闹钟和贪睡闹钟均保持了不错的RAM值占有值,仅为10MB左右。但是就功能和系统的UI设计而言,点心闹钟明显比贪睡闹钟优秀的多,但其RAM占用却依旧做到了本次评测的三款产品中的最低值。另外,小编还发现,即便用户在操作中关闭了正点闹钟的应用,并且没有使用其设定任何闹钟,但该程序的进行仍会在Android系统中持续运行。其将会与Android系统默认的谷歌服务、地图、输入法等一起长期占用用户的RAM。经小编测试来看,即便在未开启正点闹钟的情况下,其也会持续占用手机系统7MB-20MB不等的RAM。同时,正点闹钟在平时无闹钟设定时也会偶尔弹出信息来提示用户进行闹钟的设定,而其提醒声音也会由Android默认为与用户短信的提示声音一致。所以,正点闹钟在实际使用中会间接打扰到用户的正常使用。而正点闹钟上述的这些问题在点心闹钟和贪睡闹钟中并不会出现。总结:从上文的多项测试中不难看出,贪睡闹钟尽管拥有有趣的闹钟设计,但在UI设计和主要功能的丰富度上都存在着一定欠缺。而正点闹钟尽管拥有丰富的功能,但是在系统资源的使用效率和进程管理方面表现欠佳。点心闹钟是本次闹钟类应用测试的最佳产品,其是一款轻便全面的闹钟类应用。其在各项测试中均表现不错,其不仅拥有全面的基本功能,还为用户提供了语音备忘录、反转手机操作的特色功能,UI的操控设计也在三款产品中表现的最为舒适。
‘叁’ Android开发,在service里遍历所有的定时,service启动瞬间,所有闹钟都响了,怎么
使用AlramManager设置闹钟的时候,需要设置PendingIntent,构造的时候如下:
java">PendingIntent.getBroadcast(context,id*100+pos,
intent,PendingIntent.FLAG_UPDATE_CURRENT);
看下你PendingIntent的ID是不是相同的,如果相同的话,会认为是同一个事件。
‘肆’ 用Android studio做一个可以运行的小程序,闹钟也行,然后可以连到手机,感谢大神。
环境搭建就不讲了,直接说开发。
小闹钟程序开发中的要点就是:
1、时间选择对话框(TimePicker)
2、获取闹钟管理器并对其进行设置
3、注册广播接收器
掌握了这两点,写程序就很简单了。
1、新建android项目:Alarm,sdk版本选择2.2,Package name:com.lql.activity,Main Activity:Alarm
2、编写界面:直接修改layout中的main.xml文件,代码如下:
Xml代码
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
>
<Button
android:id="@+id/timeBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/time"
android:textSize="20sp"
/>
<Button
android:id="@+id/cancelAlarmBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/cancelAlarm"
/>
</LinearLayout>
{
/*(non-Javadoc)
*@seeandroid.content.BroadcastReceiver#onReceive(android.content.Context,android.content.Intent)
*/
@Override
publicvoidonReceive(Contextarg0,Intentdata){
Log.d(Alarm.TAG,"thetimeisup,startthealarm...");
Toast.makeText(arg0,"闹钟时间到了!",Toast.LENGTH_SHORT).show();
}
}
package="com.ql.activity"
android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<receiverandroid:name=".AlarmReceiver"android:process=":remote"/>
<activityandroid:name=".Alarm"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-sdkandroid:minSdkVersion="8"/>
</manifest>
界面的效果如下:
这个代码就很简单了,主要是要继 承BroadcastReceiver 这个类,然后重写onRecive方法。onRecive方法在闹钟的时间达到之后会执行,在这里我们可以做自己的事情,比如启动某个程序,或者播放铃声,我这里就是简单的提示一下,使用的是Toast。
5、在android的AndroidManifest.xml文件中注册广播接收器:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
Xml代码
核心的配置为<receiver android:name=".AlarmReceiver" android:process=":remote" />,这也是闹钟程序的关键,如果不做这个配置,那么时间到了之后,闹钟将不会提示。
接下来就是到模拟器上测试,运行截图如上图。程序源代码见附件。
‘伍’ android个性闹钟可以添加哪些功能
android个性闹钟可以添加的功能有:
1、设定闹钟时间;
2、选择闹钟响起时的摇晃值。
android个性闹钟名为摇摇醒,即主要功能为闹钟,如下图所示: