小程序闹钟专利申请
开发小闹钟程序的要点是:
1,时间选择器
2.获取闹钟管理器并设置它。
3.注册广播接收机
掌握了这两点,写程序就很简单了。
1,新android项目:Alarm,SDK 2.2版,包名:com.lql.activity,主活动:Alarm。
2.编写接口:直接修改布局中的main.xml文件,代码如下:
Xml代码?
& lt?xml?version="1.0 "?编码="utf-8 "?& gt
& ltLinearLayout?xmlns:Android = "/apk/RES/Android "
android:orientation="vertical "
Android:layout _ width = " fill _ parent "
Android:layout _ height = " fill _ parent "
Android:gravity = " center _ vertical "
& gt
& lt纽扣
android:id="@+id/timeBtn "
Android:layout _ width = " fill _ parent "?
Android:layout _ height = " wrap _ content "?
android:text="@string/time "
android:textSize="20sp "
/& gt;
& lt纽扣
Android:id = " @+id/cancelAlarmBtn "
Android:layout _ width = " fill _ parent "?
Android:layout _ height = " wrap _ content "?
Android:text = " @ string/cancel alarm "
/& gt;
& lt/linear layout & gt;
该界面的效果如下:
3.要修改Alarm.java的活动,您需要在该活动中做几件事情:
在接口上获取两个按钮组件,并将事件侦听器绑定到它们。
单击第一个时间按钮,将显示时间选择器,允许您选择小时和分钟并设置闹钟。
第二个按钮,点击后需要当前设置的闹钟。
较难编写的代码是闹钟设置:
//设置时间
Java代码
timeBtn.setOnClickListener(新?按钮。OnClickListener(){
@覆盖
公共?作废?onClick(查看?arg0)?{
Log.d(标签,?“点击?那个?时间?按钮?去哪?设置?时间”);
calendar . settimeinmillis(system . current time millis());
新的?TimePickerDialog(Alarm.this,new?TimePickerDialog。OnTimeSetListener()?{
@覆盖
公共?作废?onTimeSet(TimePicker?arg0,?int?h,?int?m)?{
//更新按钮上的时间
timeBtn.setText(formatTime(h,m));
//设置日历的时间,主要是将日历的日期与当前日期同步。
calendar . settimeinmillis(system . current time millis());
//设置日历的小时和分钟。
calendar.set(日历。一天中的某个小时?h);
calendar.set(日历。分钟,?m);
//将秒和毫秒设置为0。
calendar.set(日历。第二,?0);
calendar.set(日历。毫秒,?0);
//建立Intent和PendingIntent来调用闹钟管理器。
意图?意图?=?新的?Intent(Alarm.this,alarm receiver . class);
待定内容?待定内容?=?pending content . get broadcast(alarm . this,?0,?意图?0);
//获取闹钟管理器
AlarmManager?alarmManager?=?(ALARM manager)getsystem SERVICE(ALARM _ SERVICE);
//设置闹钟
alarmManager.set(AlarmManager。RTC_WAKEUP,?calendar.getTimeInMillis(),?pendingIntent);
alarm manager . set repeating(alarm manager。RTC_WAKEUP,?calendar.getTimeInMillis(),?10*1000,?pendingIntent);
Toast.makeText(Alarm.this,?"设置闹钟的时间是:"+string . value of(h)+":"+string . value of(m),?吐司。LENGTH_SHORT)。show();
Log.d(标签,?“设定?那个?时间?到?”+formatTime(h,m));
}
}、calendar.get(Calendar。HOUR_OF_DAY)、calendar.get(Calendar。分钟),真)。show();
}
});
代码里有注释,这里就不解释了。新时间选择器对话框是创建时间选择对话框。为了看效果,我给闹钟加了重复提醒:闹钟管理器。设置重复(报警管理器。RTC _ wakeup,日历。gettimeinmillis(),10 * 1000,待定意向);。
还要为取消警报按钮添加一个事件监听器:
Java代码
//取消报警按钮事件监控
决赛?按钮?cancelAlarmBtn?=?(Button)findViewById(r . id . cancelalarmbtn);
cancelalarmbtn . setonclicklistener(新?按钮。OnClickListener(){
@覆盖
公共?作废?onClick(查看?arg0)?{
意图?意图?=?新的?Intent(Alarm.this,alarm receiver . class);
待定内容?待定内容?=?pending content . get broadcast(alarm . this,?0,?意图?0);
//获取闹钟管理器
AlarmManager?alarmManager?=?(ALARM manager)getsystem SERVICE(ALARM _ SERVICE);
alarm manager . cancel(pending content);
Toast.makeText(Alarm.this,?“闹钟取消了!”,?吐司。LENGTH_SHORT)。show();
}
});
点击取消闹钟按钮,取消之前设置的闹钟,核心代码为4行。
4.写一个广播接收器,用来接收闹钟的广播事件,然后进行相关处理。
Java代码
公共?班级?AlarmReceiver?延伸?广播接收器?{
/*?(非Javadoc)?
*?@看到了吗?Android . content . broadcast receiver # on receive(Android . content . context,?android.content.Intent)?
*/
@覆盖
公共?作废?onReceive(上下文?arg0,?意图?数据)?{
Log.d(报警。标签,?“那个?时间?是吗?起来,开始?那个?报警……”);
Toast.makeText(arg0,“闹钟时间到了!”,?吐司。LENGTH_SHORT)。show();
}
}
这段代码很简单,主要是为了继承?BroadcastReceiver类,然后重写onRecive方法。onRecive方法将在闹钟时间结束后执行。在这里我们可以做自己的事情,比如启动程序或者播放铃声。我只想给你一个简单的提醒,吐司是用的。
5.在android的AndroidManifest.xml文件中注册广播接收器:
& lt清单xmlns:Android = "/apk/RES/Android "
Xml代码?
package="com.ql.activity "
android:versionCode="1 "
Android:version name = " 1.0 " & gt;
& lt申请?android:icon="@drawable/icon "?Android:label = " @ string/app _ name " & gt;
& lt接收器?android:name= "。AlarmReceiver "?android:process=":remote "?/& gt;
& lt活动?android:name= "。警报”
Android:label = " @ string/app _ name " & gt;
& lt意向过滤器& gt
& lt行动?Android:name = " Android . intent . action . main "?/& gt;
& lt类别?Android:name = " Android . intent . category . launcher "?/& gt;
& lt/intent-filter & gt;
& lt/activity & gt;
& lt/application & gt;
& lt用途-sdk?android:minSdkVersion="8 "?/& gt;
& lt/manifest & gt;?
核心的配置是
接下来是在模拟器上测试,运行截图如上图。程序源代码见附件。