2023學(xué)年完整公開課版U2K413控制Timer定時(shí)器_第1頁
2023學(xué)年完整公開課版U2K413控制Timer定時(shí)器_第2頁
2023學(xué)年完整公開課版U2K413控制Timer定時(shí)器_第3頁
2023學(xué)年完整公開課版U2K413控制Timer定時(shí)器_第4頁
2023學(xué)年完整公開課版U2K413控制Timer定時(shí)器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

控制Timer定時(shí)器學(xué)習(xí)任務(wù):控制Timer定時(shí)器2運(yùn)行前單擊“暫?!焙髥螕簟伴_始”后結(jié)束后3目

錄知識(shí)總結(jié)任務(wù)實(shí)施基本原理學(xué)習(xí)目標(biāo)知識(shí)目標(biāo)管理Timer定時(shí)器能力目標(biāo)會(huì)啟動(dòng)、暫停、恢復(fù)、停止定時(shí)器學(xué)習(xí)目標(biāo)4基本原理:控制Timer定時(shí)器5Timer和TimerTask類本身并不提供控制定時(shí)器的方法。本例中的倒計(jì)時(shí)定時(shí)器的控制是通過控制num變量來實(shí)現(xiàn):num從300(5分鐘)開始減少,每100毫秒減少一次;當(dāng)停止、暫停時(shí)取消定時(shí)器;當(dāng)啟動(dòng)、恢復(fù)時(shí)重新初始化并啟動(dòng)定時(shí)器。為防止啟動(dòng)、恢復(fù)定時(shí)器后繼續(xù)啟動(dòng)、恢復(fù)定時(shí)器,需要對(duì)按鈕進(jìn)行可用性控制,即當(dāng)不需要使用某按鈕時(shí),將該按鈕設(shè)置為不用可狀態(tài)。任務(wù)實(shí)施:界面設(shè)計(jì)6Button:btnStart btnStop btnSuspend btnResumeTextView:txtTime任務(wù)實(shí)施:主界面布局設(shè)計(jì)7<?xmlversion=“1.0”encoding=“utf-8”?>

<RelativeLayout…>

<TextView

android:id="@+id/txtTime"android:layout_centerInParent="true"/>

<Button

android:id="@+id/btnSuspend"android:text="暫停"

android:layout_alignParentBottom="true"android:layout_alignParentLeft="true“…/>

<Button

android:id="@+id/btnResume"android:text="恢復(fù)"

android:layout_alignBottom="@+id/btnSuspend"android:layout_alignParentRight="true“…/>

<Button

android:id="@+id/btnStart"android:text="開始"

android:layout_above="@+id/btnSuspend"android:layout_alignLeft="@+id/btnSuspend“…/>

<Button

android:id="@+id/btnStop"android:text="停止"

android:layout_alignLeft="@+id/btnResume“android:layout_alignBottom="@+id/btnStart"/>

</RelativeLayout>activity_main.xml任務(wù)實(shí)施:初始化組件8voidinitComponent(){

txtTime=(TextView)findViewById(R.id.txtTime);

btnStart=(Button)findViewById(R.id.btnStart);…

txtTime.setText(toTime(num));

btnStart.setEnabled(true);

btnStop.setEnabled(false);

...

ButtonClickListenerlistener=newButtonClickListener();

btnStart.setOnClickListener(listener);

}MainActivity.java9voidinitTimer(){

handler=newHandler(){

publicvoidhandleMessage(Messagemsg){

if(msg.what==1){

txtTime.setText(toTime(num));num--;

if(num<0){//計(jì)時(shí)停止

if(timer!=null){timer.cancel();timer=null;}

if(task!=null){task.cancel();task=null;}

//計(jì)時(shí)停止后,可開始,不可停止、暫停、恢復(fù)

btnStart.setEnabled(true);btnStop.setEnabled(false);

btnSuspend.setEnabled(false);btnResume.setEnabled(false);

}

}

super.handleMessage(msg);

}};}任務(wù)實(shí)施:初始化定時(shí)器任務(wù)實(shí)施:處理按鈕單擊事件-“開始”按鈕10if(v.getId()==btnStart.getId()){//開始

num=MAX;

if(timer==null){timer=newTimer();}

if(task==null){

task=newTimerTask(){

@Overridepublicvoidrun(){Messagemsg=newMessage();msg.what=1;handler.sendMessage(msg);}

};}

timer.schedule(task,0,100);

//單擊“開始”按鈕,可停止、暫停,不可開始、恢復(fù)

btnStart.setEnabled(false);btnStop.setEnabled(true);

btnSuspend.setEnabled(true);btnResume.setEnabled(false);

}任務(wù)實(shí)施:處理按鈕單擊事件-“停止”按鈕11elseif(v.getId()==btnStop.getId()){//停止

if(timer!=null){

timer.cancel();

timer=null;

}

if(task!=null){

task.cancel();

task=null;

}

//單擊“停止”按鈕,可開始,不可停止、暫停、恢復(fù)

btnStart.setEnabled(true);

btnStop.setEnabled(false);

btnSuspend.setEnabled(false);

btnResume.setEnabled(false);

}任務(wù)實(shí)施:處理按鈕單擊事件-“暫?!卑粹o12elseif(v.getId()==btnSuspend.getId()){//暫停

if(timer!=null){

timer.cancel();

timer=null;

}

if(task!=null){

task.cancel();

task=null;

}

//單擊“暫?!卑粹o,可開始、停止、恢復(fù),不可暫停

btnStart.setEnabled(true);

btnStop.setEnabled(true);

btnSuspend.setEnabled(false);

btnResume.setEnabled(true);

}任務(wù)實(shí)施:處理按鈕單擊事件-“恢復(fù)”按鈕13elseif(v.getId()==btnResume.getId()){//恢復(fù)

if(timer==null){timer=newTimer();}

if(task==null){

task=newTimerTask(){

@Overridepublicvoidrun(){

Messagemsg=newMessage();

msg.what=1;

handler.sendMessage(msg);

}

};

}

timer.schedule(task,0,100);

//單擊“恢復(fù)”按鈕,可停止、暫停,不可開始、恢復(fù)

btnStart.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論