android闹钟——原代码
手机当中肯定是有闹钟的,这是不用说的,要不然就不是手机了。对吧。
下面我根据广播的方式写了一个闹钟,大家请看图:
下面让我们看一下原代码的是如何写的, package com.smart; import java.util.Calendar; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.media.MediaPlayer; public class AlarmReceiver extends BroadcastReceiver { /** * 通过广播进行扫描,是否到达时间后再响起闹铃 * * */ @Override public void onReceive(Context context, Intent intent) { SharedPreferences sharedPreferences=context.getSharedPreferences("alarm_record", Activity.MODE_PRIVATE); String hour=String.valueOf(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); String minute=String.valueOf(Calendar.getInstance().get(Calendar.MINUTE)); String time=sharedPreferences.getString(hour+":"+minute, null);//小时与分, if(time!=null){//判断是否为空,然后通过创建, MediaPlayer mediaPlayer=MediaPlayer.create(context, R.raw.llb); mediaPlayer.start();//开始 } } } package com.smart; import android.app.Activity; import android.app.AlarmManager; import android.app.AlertDialog; import android.app.PendingIntent; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.TimePicker; public class Main extends Activity implements OnClickListener{ private TextView alarmRecord; private SharedPreferences sharedPreferences; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button addAlarm=(Button)findViewById(R.id.addAlarm); alarmRecord=(TextView)findViewById(R.id.alarmRecord); addAlarm.setOnClickListener(this); sharedPreferences=getSharedPreferences("alarm_record", Activity.MODE_PRIVATE); AlarmManager aManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE); Intent intent=new Intent(this,AlarmReceiver.class); PendingIntent pendingIntent=PendingIntent.getBroadcast(this, 0, intent, 0); aManager.setRepeating(AlarmManager.RTC, 0, 60*1000, pendingIntent); } @Override public void onClick(View v) { View view=getLayoutInflater().inflate(R.layout.llb, null);// final TimePicker timePicker=(TimePicker)view.findViewById(R.id.timepicker); timePicker.setIs24HourView(true);// new AlertDialog.Builder(this).setTitle("设置闹铃时间").setView(view).setPositiveButton("确定", new DialogInterface.OnClickListener() { //设置标题 @Override public void onClick(DialogInterface dialog, int which) { //按钮事件触发方法 String timeStr=String.valueOf(timePicker.getCurrentHour())+":"+String.valueOf(timePicker.getCurrentMinute()); alarmRecord.setText(alarmRecord.getText().toString()+"\n"+timeStr); sharedPreferences.edit().putString(timeStr, timeStr).commit(); } }).setNegativeButton("取消", null).show(); } }