admin管理员组文章数量:1794759
Android Timer计时器的使用
计时器即使可以相当于点击按钮引发事件,但是不需要用户执行任何操作,可以自动出发事件。
使用计时器的过程如下:
case R.id.button_Timer://一个button,点击改button后创建一个Timer计时器,后面就不用点击按钮,自动执行run方法33遍,33遍是写在run方法中的。 Timer t=new Timer();//创建Timer对象 player = MediaPlayer.create(this,R.raw.ultragesture);//业务代码,创建MediaPlayer对象 myTaskStart mytaskstart = new myTaskStart();//创建TimerTask对象,Timer要执行的程序写在改类中的run方法中 t.schedule(mytaskstart,5000,7000);//调用Timer.schedule方法使得run中的代码自动重复执行 break;其中myTaskStart的实现如下:是一个内部类,直接写在MainActivity中就可以了。
class myTaskStart extends TimerTask{ @Override public void run(){ //开始录音 System.out.println("启动程序"); //count为一个全局变量,该全局变量来控制run的运行次数 if(count<33){ count=count+1; } else { this.cancel(); System.exit(0); } //结束使用count控制run的运行次数 //开始更新TextView里面的字符串 textView.post(new Runnable() { @Override public void run() { textView.setText("start"+count); } }); //结束更新TextView里面的字符串 player.start(); String fileName = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()); audioRecorder.createDefaultAudio(fileName); // status = Status.STATUS_READY; audioRecorder.startRecord(null); //等待录音 try { Thread.sleep(5000); } catch (InterruptedException e) { Toast.makeText(getApplicationContext(),"异常",Toast.LENGTH_LONG).show(); } //停止录音 System.out.println("停止录音啊啊啊啊"); audioRecorder.stopRecord(); player.stop(); textView.post(new Runnable() { @Override public void run() { textView.setText("end"); } }); //在player.stop()后面添加player.prepare(),需要处理异常! try { player.prepare(); } catch (IOException e) { System.out.println("player初始化失败!"); } //结束添加player.prepare } }
版权声明:本文标题:Android Timer计时器的使用 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686477587a71912.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论