在Android开发中,闹钟是一种非常常见的功能,允许用户设定特定时间来触发提醒。本文将介绍如何使用Eclipse开发一个简单的Android闹钟应用程序。
1. 开始
首先,在Eclipse中启动一个新的Android项目。在新建项目的选项中,选择"Android Application Project"。输入项目名称,包名以及主活动名称等必要信息。在SDK版本下拉菜单中选择你想要的版本,然后单击下一步。
2. 设计用户界面
下一步,我们需要设计用户界面。在Eclipse中,我们可以使用两种方式进行界面设计:界面设计器和XML布局文件。本文将采用XML布局文件的方式。
在res/layout目录下,创建一个布局文件,命名为activity_main.xml。在 activity_main.xml文件中添加一个Textview作为时间显示区,并在下方添加一个Button作为设定闹钟按钮。
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > android:id="@+id/time_display" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="80dp" android:layout_centerInParent="true"/>
3. 开始编写代码
闹钟应用程序主要由两部分构成:显示当前时间并开启闹钟。我们需要创建一个广播接收器,在特定时间触发时该接收器将启动应用程序。
首先,在MainActivity.java中创建广播接收器:
public class MainActivity extends Activity {
private PendingIntent pendingIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView timeDisplay = (TextView) findViewById(R.id.time_display);
Button setAlarmBtn = (Button) findViewById(R.id.button_set_alarm);
setAlarmBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
Intent alarmIntent = new Intent(MainActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, alarmIntent, 0);
}
public static class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
// this will fire when the alarm goes off
}
}
}
4. 获取设定时间
接下来,我们需要创建一个时间选择器,以便用户可以设置一个特定的时间。在setOnClickListener方法中添加以下代码:
TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
// setTimeInMillis方法将在特定的时间触发闹钟
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
String time = String.format("%02d:%02d", hourOfDay, minute);
timeDisplay.setText(time);
}
}, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), false);
timePickerDialog.show();
5. 最终效果
现在,我们几乎已经完成了整个应用程序。当用户点击"Set Alarm"按钮时,会弹出一个时间选择器,允许用户设定时间。选择好时间后,当到达特定时间时将启动我们的闹钟应用程序:

6. 总结
这篇文章介绍了如何使用Eclipse开发简单的Android应用程序:闹钟应用程序。我们学习了如何设计用户界面,以及如何编写代码以获取设定时间并启动闹钟。这个应用程序是非常简单的,但是可以帮助我们了解如何开发Android应用程序。