Android 闹钟 源码

手机当中肯定是有闹钟的,这是不用说的,要不然就不是手机了。对吧。
下面我根据广播的方式写了一个闹钟,大家请看图:
1.jpg 

        
下面让我们看一下原代码的是如何写的,
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();
        
    }
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值