更新時(shí)間:2022-04-19 來(lái)源:黑馬程序員 瀏覽量:
啟動(dòng)應(yīng)用程序的歡迎界面后,通常需要將頁(yè)面暫停3秒鐘后再跳轉(zhuǎn)到主界面(MainActivity所對(duì)應(yīng)的界面,此界面目前為空白),要實(shí)現(xiàn)這個(gè)功能,我們需要在SplashActivity的init()方法中使用Timer類(lèi)與TimerTask類(lèi),使歡迎界面等待3秒后,再跳轉(zhuǎn)到主界面,具體代碼如文件3-3所示。
【文件3-3】SplashActivity.java
...... publicclassSplashActivityextendsAppCompatActivity { ...... privatevoidinit() { ...... //創(chuàng)建Timer類(lèi)的對(duì)象 Timertimer = newTimer(); //通過(guò)TimerTask類(lèi)實(shí)現(xiàn)界面跳轉(zhuǎn)的功能 TimerTasktask = newTimerTask() { @Override publicvoidrun() { Intentintent = newIntent(SplashActivity.this, MainActivity.class); startActivity(intent); SplashActivity.this.finish(); } }; timer.schedule(task, 3000); //設(shè)置程序延遲3秒之后自動(dòng)執(zhí)行任務(wù)task } }
上述代碼中,第7~17行代碼主要用于實(shí)現(xiàn)讓程序在歡迎界面停留3秒后再跳轉(zhuǎn)到主界面的功能,其中第9~16行代碼主要實(shí)現(xiàn)了TimerTask類(lèi)中的run()方法,在該方法中通過(guò)Intent類(lèi)與startActivity()方法實(shí)現(xiàn)歡迎界面跳轉(zhuǎn)到主界面的功能。
第17行代碼調(diào)用Timer類(lèi)對(duì)象的schedule()方法實(shí)現(xiàn)程序延遲3秒后執(zhí)行界面跳轉(zhuǎn)任務(wù)的功能,其中schedule()方法中傳遞了2個(gè)參數(shù),第1個(gè)參數(shù)task表示一個(gè)任務(wù),它在此處代表的是歡迎界面跳轉(zhuǎn)到主界面的任務(wù),第2個(gè)參數(shù)3000表示程序延遲執(zhí)行任務(wù)的時(shí)間為3秒。
需要注意的是,在7~17行代碼中主要用到2個(gè)類(lèi),分別是Timer類(lèi)與TimerTask類(lèi),其中Timer類(lèi)是JDK(JavaSEDevelopmentKit是Java開(kāi)發(fā)工具包)中提供的一個(gè)定時(shí)器工具,使用時(shí)會(huì)在主線程之外開(kāi)啟一個(gè)單獨(dú)的線程執(zhí)行指定任務(wù),任務(wù)可以執(zhí)行一次或多次。TimerTask類(lèi)是一個(gè)實(shí)現(xiàn)了Runnable接口的抽象類(lèi),它代表一個(gè)可以被Timer類(lèi)執(zhí)行的任務(wù)。
為什么要使用微服務(wù)架構(gòu)?【微服務(wù)架構(gòu)出現(xiàn)的背景】
2022-04-13黑馬企業(yè)級(jí)項(xiàng)目《瑞吉外賣(mài)》 全套教程共190節(jié)+源碼
2022-04-12什么是生命周期?Activity生命周期的三種狀態(tài)
2022-04-12如何實(shí)現(xiàn)Tomcat啟動(dòng)時(shí)Servlet程序的自動(dòng)加載?
2022-04-12Servlet如何讀取Web資源文件?【操作演示】
2022-04-12華為再次登上央視!鴻蒙系統(tǒng)3.0今年上線
2022-04-04