‘壹’ 用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();
}
}
这个代码就很简单了,主要是要继 承BroadcastReceiver 这个类,然后重写onRecive方法。onRecive方法在闹钟的时间达到之后会执行,在这里我们可以做自己的事情,比如启动某个程序,或者播放铃声,我这里就是简单的提示一下,使用的是Toast。
5、在android的AndroidManifest.xml文件中注册广播接收器:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
Xml代码
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>
核心的配置为<receiver android:name=".AlarmReceiver" android:process=":remote" />,这也是闹钟程序的关键,如果不做这个配置,那么时间到了之后,闹钟将不会提示。
接下来就是到模拟器上测试,运行截图如上图。程序源代码见附件。
‘贰’ android闹钟响起事件可以监听到吗,应该怎么
设置闹钟与获得当前时间,下面代码中都用 import java_text); btn_set = (Button) findViewById(R.id.btn_set); btn_close = (Button) findViewById(R.id.btn_close); calendar = Calendar.getInstance(); /**设置闹钟*/ btn_set.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //设置当前时间 calendar.setTimeInMillis(System.currentTimeMillis()); //获取小时 int hour = calendar.get(Calendar.HOUR_OF_DAY); //获取分钟 int minute = calendar.get(Calendar.MINUTE); /**时间对话框*/ new TimePickerDialog(MainActivity.this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { //设置当前时间 calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);//设置小时 calendar.set(Calendar.MINUTE, minute); //设置分钟 calendar.set(Calendar.SECOND, 0); //设置秒数 calendar.set(Calendar.MILLISECOND, 0); //设置毫秒 /**建立Intent和PendingIntent,来调用目标组件*/ Intent intent = new Intent(MainActivity.this, MyReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0); /**获取闹钟管理的实例*/ AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); /**设置闹钟*/ am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); /**设置周期闹钟*/ am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(10*1000), (24*60*60*1000), pendingIntent); String tmps = "设置闹钟时间为"+format(hourOfDay)+":"+format(minute); tv_text.setText(tmps); } }, hour, minute, true).show(); } }); /**取消闹钟*/ btn_close.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, MyReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0); AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); am.cancel(pendingIntent); tv_text.setText("闹钟已取消..."); } }); } /**格式转换:7:3--->07:03 */ private String format(int x){ String s=""+x; if(s.length() ==1){ s="0"+s; } return s; } }
‘叁’ android手机闹钟铃声是怎么设置的
一般Android手机具有四种铃声可以设置,分别为:来电、短信、闹钟、系统等种类铃声,具体的设置编制为:
1:先打开Android手机的内存卡盘,在里面成立个“media”文件夹,然后打开后成立个“audio”文件夹。
2:打开“audio”文件夹后,在里面非别成立“ringtones”(来电)、“notifications”(短信)、“alarms”(闹钟)、 “ui”(系统提示)。
3:然后遵循本身的需要将铃声存放到这几个文件夹中。
4:打开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获取位置信息,并在指定地点设置闹钟提醒等,使功能更加强大,带给用户更好的体验与便捷的生活服务。