您的位置:首页 > 移动开发 > Android开发

Android倒计时+警报[最简单的实现方式]

2013-10-27 21:18 483 查看
public class MainActivity extends Activity implements OnClickListener {

private MyCount mc;

/***

* onClick(View v)

*

* @return 无

*/

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(v==mBStart)

{

int n=Integer.parseInt (mTVMinute.getText().toString());

mc = new MyCount(60000*n, 1);

mc.start();

}

}

/*定义一个倒计时的内部类*/

class MyCount extends CountDownTimer {

private final long mTimetable[]={10*60*1000,(10*60-15)*1000,10*1000,0};/*退出对话框附加信息*/

public MyCount(long millisInFuture, long countDownInterval) {

super(millisInFuture, countDownInterval);

}

@Override

public void onFinish() {

mTVMillisecond.setText("000");

mTVShow.setText("通关失败");

}

@Override

public void onTick(long millisUntilFinished) {

doAlert(millisUntilFinished);

mTVMinute.setText((millisUntilFinished / 1000)/60+"");

mTVSecond.setText((millisUntilFinished / 1000 )%60+"");

mTVMillisecond.setText(millisUntilFinished %1000 +"");

}

private void doAlert(long millisUntilFinished)

{

if((millisUntilFinished<=mTimetable[0]&&millisUntilFinished>=mTimetable[1])

||millisUntilFinished<=mTimetable[2])

{

//媒体对象

final MediaPlayer media = MediaPlayer.create(MainActivity.this, R.raw.alarm);

try {

media.prepare(); //准备播放音乐

} catch (IllegalStateException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

media.start();//播放音乐

}

if(millisUntilFinished<=mTimetable[0]&&millisUntilFinished>=mTimetable[1])

{

mTVShow.setText("不足10分钟");

}

if(millisUntilFinished<=mTimetable[2])

{

mTVShow.setText("不足10秒钟");

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: