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秒钟");
}
}
}
}
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秒钟");
}
}
}
}
相关文章推荐
- 开始学android--LinearLayout布局
- onCreate方法中调用PopupWindow的错误:android.view.WindowManager$BadTo
- 关于初次接触Android开发的小心得
- Android软件包静默安装小应用
- 关于LayoutParams 分类: H1_ANDROID 2013-10-27 20:34 776人阅读 评论(0) 收藏
- 关于android程序自动更新功能的实现,如何去除安装提示
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- Android应用自动更新功能的代码实现
- Android TableLayout中的使用说明
- android 基础笔试题
- android学习_自定义View
- Android开发 之 检测SD卡应用
- 【android开发】自定义数字软键盘的设计与实现(2)
- Android中自定义Dialog外形,去除黑底和白色边框
- Android 分析应用程序占用native内存
- Android_NDK_c调用java代码
- Waiting for HOME ('android.process.acore') to be launche或者是emulator-5554 disconnected! Cancelling 'c
- 【Android 4.0】conversion to dalvik format failed with error 1
- android:gravity 和 android:layout_Gravity属性区别
- Android最新的各个分支版本号(2013-10-27)