用Android studio做一个可以运行的小程序,一个闹钟也可以,然后就可以连接手机了。感谢上帝。

不谈环境建设,只谈发展。

开发小闹钟程序的要点是:

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;

核心的配置是

接下来是在模拟器上测试,运行截图如上图。程序源代码见附件。