Jcheng一霸 发表于 2013-8-28 16:27

android闹钟——原代码

8手机当中肯定是有闹钟的,这是不用说的,要不然就不是手机了。对吧。   
下面我根据广播的方式写了一个闹钟,大家请看图:   
   
下面让我们看一下原代码的是如何写的,   
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()+"
"+timeStr);   
                sharedPreferences.edit().putString(timeStr, timeStr).commit();   
                  
            }   
      }).setNegativeButton("取消", null).show();   
    }   
}原代码下载   
   
页: [1]
查看完整版本: android闹钟——原代码