android倒计时
2016-05-23 10:29
489 查看
好久没写文章了,就随便记录点东西上来吧。嗯,写个android的倒计时吧,其实网上有很多的方式,我也看过一些,
比如
Android实现计时与倒计时(限时抢购)的几种方法
其实这篇文章列举的方法和说明都算比较清晰了吧,但是这几个方法都只是写了如何实现计时,对于如何停止,恕本人愚昧,没有在文中看到,要知道计时如果不想占用UI主线程的话就得自己另开一个子线程,而开了线程总不能一直挂在那里吧,一开始我使用stop()方法,额,发现这个方法貌似被抛弃了?经过百毒,好吧,都在说stop()方式结束线程不安全,然后我就继续的找文章 - -(毕竟水平有限...)。
Android java 中如何优雅的结束线程 文中说了三种方式,第三种方式stop()我看到eclipse里面的代码删除线就不舒服!!!
interrupt()我试着用了一下,然而这个方法用了之后感觉也比较麻烦......
然后我就在代码中定义了一个结束标识,使用结束标识来停止线程,具体代码如下
比如
Android实现计时与倒计时(限时抢购)的几种方法
其实这篇文章列举的方法和说明都算比较清晰了吧,但是这几个方法都只是写了如何实现计时,对于如何停止,恕本人愚昧,没有在文中看到,要知道计时如果不想占用UI主线程的话就得自己另开一个子线程,而开了线程总不能一直挂在那里吧,一开始我使用stop()方法,额,发现这个方法貌似被抛弃了?经过百毒,好吧,都在说stop()方式结束线程不安全,然后我就继续的找文章 - -(毕竟水平有限...)。
Android java 中如何优雅的结束线程 文中说了三种方式,第三种方式stop()我看到eclipse里面的代码删除线就不舒服!!!
interrupt()我试着用了一下,然而这个方法用了之后感觉也比较麻烦......
然后我就在代码中定义了一个结束标识,使用结束标识来停止线程,具体代码如下
// 计时器停止标识 private boolean stopFlag = false; private int timer = 0; /** * 计时器 */ Handler timerHandler = new Handler(); Runnable timerRunnable = new Runnable() { @Override public void run() { // TODO 自动生成的方法存根 if (stopFlag == false) { timer++; L.d(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + timer); timerHandler.postDelayed(this, 1000); //这里写的是一些我自己需要处理的东西 } else { // 停止 L.d(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + "停止"); return; } } };
相关文章推荐
- Android Studio 配置JNI和NDK开发环境
- android studio安装以及集成svn进行版本控制的方法
- android 控件 侧滑 DrawerLayout NavigationView
- 13. Android框架和工具之 Android Drawable Factory
- android Activity启动模式与intent Flags
- Android盒子开发
- Android Glide 使用与问题处理
- 基于Android的英文词典的实现方法
- Android socket编程
- AndroidStudio导入/第一次新建项目gradle版本错误或者卡住解决方法
- android onLongClick 和 onTouch
- Android Studio : Rendering Problems
- Android开发实践:利用ProGuard进行代码混淆
- 从零开始的android项目实践
- Android postTranslate和preTranslate的理解
- 关于android:largeHeap的学习
- Android 准确过滤(禁止) Emoji表情
- Android开发之Activity的创建跳转及传值
- android构架探究解析
- android Studio ddms中emulator control不能用的问题