這篇文章主要講解了“Android怎么使用Handler實現(xiàn)定時器與倒計時器功能”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Android怎么使用Handler實現(xiàn)定時器與倒計時器功能”吧!
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)霍爾果斯,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
什么是Handler
Handler是Android消息機(jī)制的上層接口,它為我們封裝了許多底層的細(xì)節(jié),讓我們能夠很方便的使用底層的消息機(jī)制。Handler的最常見應(yīng)用場景之一便是通過Handler在子線程中間接更新UI。Handler的作用主要有兩個:一是發(fā)送消息;二是處理消息,它的運(yùn)作需要底層Looper和MessageQueue的支撐。MessageQueue即消息隊列,它的底層用單鏈表實現(xiàn);Looper則負(fù)責(zé)在一個循環(huán)中不斷從MessageQueue中取消息,若取到了就交由Handler進(jìn)行處理,否則便一直等待。關(guān)于Looper需要注意的一點是除了主線程之外的其他線程中默認(rèn)是不存在Looper的。主線程中之所以存在,是因為在ActivityThread被創(chuàng)建時會完成初始化Looper的工作。
特性
支持操作 :
start
pause
resume
cancel
使用
allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { ... compile 'com.github.xesam:AndroidTimer:v0.1' }
TODO
add ticker sequence
使用
CountTimer
new CountTimer(100) { @Override public void onTick(long millisFly) { // millisFly is the Elapsed time at *Running State* vCountSwitcher.setText((millisFly) + ""); Log.d("onTick", millisFly + ""); } };
CountDownTimer
new CountDownTimer(10_000, 100) { @Override public void onTick(long millisUntilFinished) { // millisUntilFinished is the left time at *Running State* Log.d("onTick", millisFly + ""); } @Override public void onCancel(long millisUntilFinished) { } @Override public void onPause(long millisUntilFinished) { } @Override public void onResume(long millisUntilFinished) { } @Override public void onFinish() { } };
使用一個 Handler 同時管理多個定時任務(wù)
創(chuàng)建多個任務(wù):
MultiCountTimer multiCountTimer = new MultiCountTimer(100); multiCountTimer.add(new CounterTimerTask(1) { @Override public void onTick(long millisFly) { vMulti1.setText("multi_1:" + millisFly); } }).registerTask(new CounterTimerTask(2, 100) { @Override public void onTick(long millisFly) { vMulti2.setText("multi_2:" + millisFly); } }).registerTask(new CounterTimerTask(3, 1000) { @Override public void onTick(long millisFly) { vMulti3.setText("multi_3:" + millisFly); } }); multiCountTimer.startAll();
取消任務(wù):
multiCountTimer.cancel(2); 或者 multiCountTimer.cancelAll();
感謝各位的閱讀,以上就是“Android怎么使用Handler實現(xiàn)定時器與倒計時器功能”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Android怎么使用Handler實現(xiàn)定時器與倒計時器功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
標(biāo)題名稱:Android怎么使用Handler實現(xiàn)定時器與倒計時器功能
當(dāng)前地址:http://www.chinadenli.net/article30/ieogpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、搜索引擎優(yōu)化、云服務(wù)器、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)