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秒钟");
}
}
}
}
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秒钟");
}
}
}
}