这一周主要进行了倒计时模块的设计工作。
倒计时模块主要分为一个主类和四个函数。主类中主要定义了倒计时模块所用到的变量和函数,具体内容如下面代码所示。第一个函数为选择时间函数,功能是完成用户输入一个需要倒计时的时间;第二个函数为初始化函数,负责将各变量初始化为用户输入的函数值和倒计时前的默认值;第三个函数是开始倒计时函数,主要实现时间的递减和即时的倒计时时间显示;最后一个函数为倒计时结束函数,负责倒计时结束后的铃声显示功能和倒计时结束时的窗口弹出功能。
部分核心类和函数代码:
public class MainActivity extends Activity { LinearLayout timepickerlin;//倒计时 显示布局 Button btnselecttime, daojishijicubutton, startbuttondaoji;//倒计时 计次 开始 暂停 按钮 RelativeLayout listjishi;//计时 private Timer timer = null;//时间对象 private TimerTask task = null;//时间任务对象 private Handler handler = null;//handler 异步操作对象 private Message msg = null;//消息对象 float predegree = 0; float secondpredegree = 0; float hourpredegree = 0; LinearLayout hoursoflinear, startandcannellin;//小时 开始 布局 int mlCount = -1; TextView tvTime, hours;//时间 小时 文本控件 private SlipButton ringtixing, screenon; MediaPlayer mediaPlayer;//音视频 播放器 @SuppressLint({ "Wakelock", "HandlerLeak" }) @Override
倒计时初始化函数:
public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.daojishi);
……….
}
倒计时开始函数:
protected void onStart() { //倒计时 计次 按钮 daojishijicubutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //开始 按钮 隐藏 startbuttondaoji.setVisibility(View.VISIBLE); startandcannellin.setVisibility(View.GONE); predegree = 0; secondpredegree = 0; hourpredegree = 0;}
倒计时结束函数:
private void enddaojishi() { if (ring) {//铃声 是否开启 mediaPlayer.start();//开启铃声 }
}