android闹钟——原代码
手机当中肯定是有闹钟的,这是不用说的,要不然就不是手机了。对吧。 下面我根据广播的方式写了一个闹钟,大家请看图: 下面让我们看一下原代码的是如何写的, packagecom.smart; importjava.util.Calendar; importandroid.app.Activity; importandroid.content.BroadcastReceiver; importandroid.content.Context; importandroid.content.Intent; importandroid.content.SharedPreferences; importandroid.media.MediaPlayer; publicclassAlarmReceiverextendsBroadcastReceiver{ /** *通过广播进行扫描,是否到达时间后再响起闹铃 * **/ @Override publicvoidonReceive(Contextcontext,Intentintent){ SharedPreferencessharedPreferences=context.getSharedPreferences("alarm_record",Activity.MODE_PRIVATE); Stringhour=String.valueOf(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); Stringminute=String.valueOf(Calendar.getInstance().get(Calendar.MINUTE)); Stringtime=sharedPreferences.getString(hour+":"+minute,null);//小时与分, if(time!=null){//判断是否为空,然后通过创建, MediaPlayermediaPlayer=MediaPlayer.create(context,R.raw.llb); mediaPlayer.start();//开始 } } } packagecom.smart; importandroid.app.Activity; importandroid.app.AlarmManager; importandroid.app.AlertDialog; importandroid.app.PendingIntent; importandroid.content.Context; importandroid.content.DialogInterface; importandroid.content.Intent; importandroid.content.SharedPreferences; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.TextView; importandroid.widget.TimePicker; publicclassMainextendsActivityimplementsOnClickListener{ privateTextViewalarmRecord; privateSharedPreferencessharedPreferences; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); ButtonaddAlarm=(Button)findViewById(R.id.addAlarm); alarmRecord=(TextView)findViewById(R.id.alarmRecord); addAlarm.setOnClickListener(this); sharedPreferences=getSharedPreferences("alarm_record",Activity.MODE_PRIVATE); AlarmManageraManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE); Intentintent=newIntent(this,AlarmReceiver.class); PendingIntentpendingIntent=PendingIntent.getBroadcast(this,0,intent,0); aManager.setRepeating(AlarmManager.RTC,0,60*1000,pendingIntent); } @Override publicvoidonClick(Viewv){ Viewview=getLayoutInflater().inflate(R.layout.llb,null);// finalTimePickertimePicker=(TimePicker)view.findViewById(R.id.timepicker); timePicker.setIs24HourView(true);// newAlertDialog.Builder(this).setTitle("设置闹铃时间").setView(view).setPositiveButton("确定",newDialogInterface.OnClickListener(){ //设置标题 @Override publicvoidonClick(DialogInterfacedialog,intwhich){ //按钮事件触发方法 StringtimeStr=String.valueOf(timePicker.getCurrentHour())+":"+String.valueOf(timePicker.getCurrentMinute()); alarmRecord.setText(alarmRecord.getText().toString()+"\n"+timeStr); sharedPreferences.edit().putString(timeStr,timeStr).commit(); } }).setNegativeButton("取消",null).show(); } } 本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/515862,如需转载请自行联系原作者