




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《Handler消息傳遞機(jī)制》教學(xué)設(shè)計(jì)授課內(nèi)容:Handler消息傳遞機(jī)制課程名稱:智能操作系統(tǒng)授課時(shí)長(zhǎng):45分鐘教學(xué)班級(jí):14級(jí)軟件技術(shù)專業(yè)(??疲┧媒滩模篈ndroid應(yīng)用開發(fā)教程(鐘元生高成珍編著,江西高校出版社,20XX年1月)一、教學(xué)構(gòu)思《智能操作系統(tǒng)》是軟件技術(shù)專業(yè)(??疲┑膶I(yè)基礎(chǔ)課,側(cè)重于培養(yǎng)學(xué)生對(duì)手機(jī)編程的興趣,掌握手機(jī)軟件開發(fā)的基礎(chǔ)知識(shí),提升學(xué)生軟件開發(fā)技能,養(yǎng)成良好的編碼規(guī)范,增強(qiáng)就業(yè)競(jìng)爭(zhēng)力。本課程實(shí)踐性非常強(qiáng),注重于知識(shí)的實(shí)用性和學(xué)生專業(yè)技能的培養(yǎng)。在課堂教學(xué)中,以一些日常生活中常見的手機(jī)軟件效果為案例,讓學(xué)生分析案例的實(shí)現(xiàn)原理以及用已有知識(shí)實(shí)現(xiàn)所存在的瓶頸,讓學(xué)生帶著問(wèn)題和對(duì)知識(shí)的好奇與渴望進(jìn)入新課的學(xué)習(xí)中去。通過(guò)理論知識(shí)的講解,重難點(diǎn)的剖析,關(guān)鍵技術(shù)的演示,常見問(wèn)題的總結(jié),使學(xué)生掌握主要內(nèi)容,然后由學(xué)生自主實(shí)現(xiàn)課堂案例,老師在旁輔導(dǎo)支持,即學(xué)即用,增強(qiáng)學(xué)生的自我效能感,保持持久的學(xué)習(xí)興趣。最后,總結(jié)歸納自主練習(xí)過(guò)程中所存在的問(wèn)題,深化和鞏固理論知識(shí),布置課后作業(yè),促使知識(shí)遷移。二、教學(xué)理念(1)案例驅(qū)動(dòng),理論聯(lián)系實(shí)踐,案例貼近生活;(2)引導(dǎo)思考為主,講授為輔,從學(xué)生已有知識(shí)出發(fā),注重知識(shí)間的內(nèi)在邏輯關(guān)系,自主建構(gòu)知識(shí)體系;(3)做中學(xué),學(xué)中練,練中用,層次遞進(jìn),完善知識(shí)體系。三、教材分析Handler消息傳遞機(jī)制位于教材的第4章(Android中的事件處理)第2節(jié),是在學(xué)習(xí)了Android中最基本的三種事件處理機(jī)制(基于監(jiān)聽的事件處理、基于回調(diào)的事件處理、直接綁定到標(biāo)簽)之后。Android中的事件處理是Android應(yīng)用開發(fā)中的核心知識(shí),是實(shí)現(xiàn)用戶與手機(jī)軟件進(jìn)行交互的必備知識(shí)。有了這三種事件處理機(jī)制可以處理大部分的用戶事件,但是對(duì)于一些高級(jí)或較為復(fù)雜的事件,則無(wú)能為力。在此基礎(chǔ)上介紹了Handler消息傳遞機(jī)制,主要用于處理一些周期性的事件(例如動(dòng)畫效果)、進(jìn)程間通信等較為復(fù)雜的事件,可以說(shuō)是事件處理的進(jìn)階部分。本節(jié)主要介紹了為什么需要Handler消息傳遞機(jī)制、Handler消息傳遞機(jī)制的原理、Handler消息傳遞機(jī)制中涉及到的核心類及其角色作用、Handler消息傳遞機(jī)制開發(fā)的步驟,最后通過(guò)一個(gè)具體的實(shí)例演示Handler消息傳遞機(jī)制的實(shí)際用法。四、學(xué)情分析授課對(duì)象是14級(jí)軟件技術(shù)專業(yè)學(xué)生,經(jīng)過(guò)一年多的專業(yè)學(xué)習(xí),已掌握了計(jì)算機(jī)專業(yè)的一些基本技能,學(xué)習(xí)過(guò)一些編程語(yǔ)言,具有一定的代碼閱讀和編寫基礎(chǔ),學(xué)生間的水平差異較大,部分學(xué)生能夠獨(dú)立設(shè)計(jì)出一些簡(jiǎn)單的程序,大部分學(xué)生仍處于模仿和照抄的階段,缺乏課后自主學(xué)習(xí)與鍛煉提升。學(xué)生自主意識(shí)較強(qiáng),情緒波動(dòng)較大,對(duì)于自己感興趣的知識(shí)會(huì)認(rèn)真去聽,對(duì)于一些過(guò)于枯燥或復(fù)雜的知識(shí)則比較排斥。部分學(xué)生有自主學(xué)習(xí)意識(shí),但不知道如何去學(xué),缺乏資源與指導(dǎo),目標(biāo)不是很明確。針對(duì)學(xué)生情況,教學(xué)過(guò)程中應(yīng)盡量以案例驅(qū)動(dòng),以生活中常見的功能效果為例來(lái)講解知識(shí)點(diǎn),引導(dǎo)學(xué)生一步步分析與思考,從而明確任務(wù)、目標(biāo),同時(shí)提供相關(guān)的操作步驟以便于水平較差的學(xué)生參考。五、教學(xué)內(nèi)容與教學(xué)目標(biāo)教學(xué)內(nèi)容(1)Handler消息傳遞機(jī)制出現(xiàn)背景(2)Handler消息傳遞機(jī)制的原理(3)Handler消息傳遞機(jī)制中核心類及其角色、作用(4)Handler消息傳遞機(jī)制開發(fā)的步驟教學(xué)目標(biāo)【知識(shí)與技能目標(biāo)】通過(guò)本節(jié)課的學(xué)習(xí),學(xué)生能夠了解Handler消息傳遞機(jī)制使用的場(chǎng)景;理解Handler消息傳遞機(jī)制的原理;熟悉Handler消息傳遞機(jī)制中涉及到的核心類;熟練掌握Handler消息傳遞機(jī)制開發(fā)的步驟?!具^(guò)程與方法目標(biāo)】通過(guò)過(guò)程引導(dǎo)和知識(shí)對(duì)比,使學(xué)生理解Handler消息傳遞機(jī)制與其它事件處理機(jī)制之間的內(nèi)在邏輯關(guān)系;通過(guò)案例實(shí)現(xiàn)過(guò)程演示,使學(xué)生加深手機(jī)軟件開發(fā)過(guò)程及編碼規(guī)范的認(rèn)識(shí),體會(huì)到手機(jī)軟件開發(fā)的基本思路、方法和步驟?!厩楦小B(tài)度與價(jià)值觀目標(biāo)】通過(guò)趣味案例激發(fā)學(xué)生的求知欲,增強(qiáng)學(xué)生學(xué)習(xí)積極性;通過(guò)自主練習(xí)實(shí)現(xiàn)案例效果,即學(xué)即用,增強(qiáng)學(xué)生自我效能感;通過(guò)疑難解答和常見錯(cuò)誤分析,讓學(xué)生體會(huì)到程序邏輯嚴(yán)謹(jǐn)與編碼規(guī)范的重要性,鼓勵(lì)學(xué)生養(yǎng)成良好的編程習(xí)慣。六、教學(xué)重點(diǎn)難點(diǎn)項(xiàng)目?jī)?nèi)容解決措施教學(xué)重點(diǎn)Handler消息傳遞機(jī)制的開發(fā)步驟(1)通過(guò)程序流程圖明確Handler消息傳遞機(jī)制實(shí)現(xiàn)的流程;(2)通過(guò)代碼演示各步驟實(shí)現(xiàn)細(xì)節(jié)。(3)通過(guò)具體案例,讓學(xué)生學(xué)以致用,鞏固知識(shí)。教學(xué)難點(diǎn)Handler消息傳遞機(jī)制實(shí)現(xiàn)原理(1)引導(dǎo)思考為什么需要Handler消息傳遞機(jī)制;(2)通過(guò)圖解分析為什么Handler消息傳遞機(jī)制能夠解決問(wèn)題。七、教學(xué)策略采用的教學(xué)方法主要有:“案例驅(qū)動(dòng)—圖解分析—問(wèn)題誘導(dǎo)—啟發(fā)思考”、“知識(shí)講授—代碼演示—自主練習(xí)—?dú)w納總結(jié)”。積極營(yíng)造一種以學(xué)生為主體,教師為主導(dǎo)的雙主型課堂教學(xué)氛圍。八、教學(xué)過(guò)程教學(xué)環(huán)節(jié)師生活動(dòng)設(shè)計(jì)意圖時(shí)間安排知識(shí)復(fù)習(xí)請(qǐng)學(xué)生回答以下問(wèn)題(其他學(xué)生補(bǔ)充)(1)Android中常見的事件處理機(jī)制有哪三種?(2)基于監(jiān)聽的事件處理機(jī)制開發(fā)步驟是什么?(3)直接綁定到標(biāo)簽處理事件時(shí)需注意什么?鞏固所學(xué)知識(shí),明確前后知識(shí)間的關(guān)系。3分鐘導(dǎo)入新課(1)情境展示(1分鐘)前面所學(xué)的事件處理主要用于響應(yīng)式事件處理,用戶操作觸發(fā)事件,然后系統(tǒng)根據(jù)事件進(jìn)行相應(yīng)處理。實(shí)際應(yīng)用中,我們還經(jīng)??吹揭环N系統(tǒng)自動(dòng)觸發(fā)的事件,例如圖片的輪播等。(功能效果展示)(2)引導(dǎo)學(xué)生思考(8分鐘)【師問(wèn)】這樣的效果有什么特點(diǎn)呢?(功能效果分析)【學(xué)答】……【總結(jié)】周期性變化【師問(wèn)】周期性變化在程序里面如何實(shí)現(xiàn)呢?(知識(shí)復(fù)習(xí))【學(xué)答】……【總結(jié)】通常有兩種方式可實(shí)現(xiàn):①通過(guò)定時(shí)器執(zhí)行任務(wù)來(lái)實(shí)現(xiàn);②啟動(dòng)一個(gè)線程,在線程體內(nèi)執(zhí)行死循環(huán),循環(huán)體每次執(zhí)行后,休眠一定的時(shí)間。【師問(wèn)】那是不是只需要在任務(wù)或者循環(huán)體里面修改圖片的顯示就行了呢?這里我們先留個(gè)問(wèn)號(hào),我們通過(guò)實(shí)踐來(lái)驗(yàn)證一下。(引導(dǎo)學(xué)生用已有知識(shí)解決問(wèn)題)(演示并運(yùn)行事先準(zhǔn)備好的代碼)運(yùn)行結(jié)果如下:查看Logcat日志信息:(引導(dǎo)學(xué)生查看錯(cuò)誤信息、發(fā)現(xiàn)問(wèn)題)大概意思是:只有創(chuàng)建View的線程才能改變?cè)揤iew。即子線程無(wú)法改變主線程中的界面控件的顯示?!究偨Y(jié)】主線程可以改變界面控件的顯示,但是它不知道什么時(shí)候去改變;子線程知道什么時(shí)候去改變,但是又不能改變,這樣就陷入了一種矛盾之中!這是一種常見的需求,如何解決這一困境呢?(拋出問(wèn)題)(3)引入新課-Handler消息傳遞機(jī)制(1分鐘)Android中提供了一種Handler消息傳遞機(jī)制,主要用于子線程與主線程之間進(jìn)行通信和數(shù)據(jù)的傳遞。本次課我們就詳細(xì)學(xué)習(xí)如何通過(guò)消息傳遞機(jī)制解決這一困境。引導(dǎo)學(xué)生思考,培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力,嘗試用已有的知識(shí)解決問(wèn)題,從而引出新知識(shí)的必要性。不斷激發(fā)學(xué)生的學(xué)習(xí)積極性,保持一種渴求知識(shí)的狀態(tài)。培養(yǎng)學(xué)生查找錯(cuò)誤、分析錯(cuò)誤的能力10分鐘案例展示實(shí)現(xiàn)閃爍霓虹燈效果使學(xué)生明確任務(wù),帶著任務(wù)去學(xué)習(xí),更能集中注意力。1分鐘新知講授(1)Handler消息傳遞機(jī)制實(shí)現(xiàn)原理(5分鐘)引導(dǎo)學(xué)生分析Handler消息傳遞機(jī)制過(guò)程:什么時(shí)候發(fā)送消息?什么時(shí)候處理消息?如何保證接收和處理的是同一條消息?【歸納總結(jié)】①子線程需要更改界面顯示時(shí),則發(fā)送信息給主線程;②主線程接收到消息后,處理消息更改界面顯示;③Handler是子線程和主線程之間通信的媒介,發(fā)送消息和處理消息的是同一個(gè)Handler對(duì)象。Handler的作用是把消息加入特定的Looper所管理的消息隊(duì)列中,并分發(fā)和處理該消息隊(duì)列中的消息?!铩咀⒁馐马?xiàng)】發(fā)送消息和接收處理消息的是同一個(gè)Handler對(duì)象。(2)Handler消息傳遞機(jī)制中核心類(5分鐘)帶著學(xué)生一起查看Android幫助文檔,了解相關(guān)類的介紹及其關(guān)鍵屬性和方法的使用,核心類包括:①Handler類:消息操作處理類,用于發(fā)送、接收、處理消息。②Message類:用于封裝消息的信息,包括消息的標(biāo)記、內(nèi)容等。obtain():從消息池中獲取一個(gè)消息,或創(chuàng)建一個(gè)新消息;setData()、getData():添加數(shù)據(jù)和從Message中獲取數(shù)據(jù);setTarget()、getTarget():設(shè)置目標(biāo)Handler和獲取該消息的目標(biāo)Handler。recycle():回收Message對(duì)象,將其放入消息池中。(3)Handler消息傳遞機(jī)制的開發(fā)步驟(5分鐘)Handler消息傳遞機(jī)制的開發(fā)步驟如下圖所示:通過(guò)代碼演示具體的每一步驟的編碼過(guò)程,解決開始的問(wèn)題:①在MainActivity中聲明Handler對(duì)象,并在onCreate()方法中創(chuàng)建該類的你名字類對(duì)象,關(guān)鍵代碼如下:privateHandlermHandler;//Handler對(duì)象mHandler=newHandler(){//創(chuàng)建一個(gè)Handler類的匿名子類對(duì)象};②在run方法中創(chuàng)建一個(gè)Message對(duì)象,關(guān)鍵代碼如下:Messagemsg=Message.obtain();//獲取一個(gè)Message對(duì)象msg.what=0x11;//設(shè)置Message對(duì)象的標(biāo)記為0x11③調(diào)用Handler的sendMessage()方法發(fā)送消息,關(guān)鍵代碼如下:mHandler.sendMessage(msg);④重寫Handler的handleMessage()方法,處理消息,關(guān)鍵代碼如下:通過(guò)問(wèn)題引發(fā)學(xué)生思考消息傳遞機(jī)制中需要解決的核心問(wèn)題通過(guò)圖示法演示消息傳遞機(jī)制模型通過(guò)歸納總結(jié),列出核心流程通過(guò)注意事項(xiàng)引起學(xué)生注意通過(guò)幫助文檔教會(huì)學(xué)生如何去學(xué)習(xí)新知識(shí)通過(guò)開發(fā)步驟,是學(xué)生再次明確消息傳遞機(jī)制的整個(gè)流程通過(guò)代碼演示,能夠?qū)⒗碚撨\(yùn)用于實(shí)踐,同時(shí)使學(xué)生體會(huì)到開發(fā)步驟,添加注釋,養(yǎng)成良好的編碼規(guī)范。15分鐘案例分析【師問(wèn)】案例界面效果如何設(shè)計(jì)?使用什么布局?通過(guò)界面分析,回顧以往知識(shí),同時(shí)明確現(xiàn)在的任務(wù)。2分鐘自主練習(xí)提供操作步驟和部分關(guān)鍵代碼,由學(xué)生動(dòng)手自主完成案例效果。①導(dǎo)入提供的初始項(xiàng)目,運(yùn)行后可以得到初始界面效果;②為復(fù)選框添加選中事件處理,首先創(chuàng)建選中事件監(jiān)聽器,對(duì)應(yīng)的接口為OnCheckedChangeListener,重寫里面的onCheckedChanged()方法,最后調(diào)用setOnCheckedChangeListener()方法為復(fù)選框注冊(cè)選中事件監(jiān)聽器;③在onCheckedChanged()方法中,判斷復(fù)選框是否選中,如果選中則啟動(dòng)定時(shí)器,發(fā)送消息;如果復(fù)選框未選中,則停止發(fā)送消息。④重寫Handler類的消息處理方法,收到消息后,依次更改顏色塊的顏色;通過(guò)提供參考步驟和部分關(guān)鍵代碼,不僅可以節(jié)省課堂練習(xí)時(shí)間(相對(duì)于完全從0開始),同時(shí)又能檢驗(yàn)學(xué)生是否掌握核心知識(shí)(相對(duì)于提供完整代碼)。10分鐘內(nèi)容總結(jié)(1)常見問(wèn)題答疑①Handler對(duì)象應(yīng)定義為成員變量而不是局部變量,如果使用局部變量需要加final修飾符;②使用線程而不是定時(shí)器時(shí),一定要注意調(diào)用start()方法來(lái)啟動(dòng)線程,否則線程體不會(huì)執(zhí)行;(2)核心知識(shí)點(diǎn)總結(jié)①Handler消息傳遞機(jī)制使用的場(chǎng)景:子線程與主線程間的交互②Handler消息傳遞機(jī)制實(shí)現(xiàn)原理:子線程發(fā)送消息、主線程處理消息、發(fā)送和處理消息的是同一個(gè)Handler對(duì)象,誰(shuí)發(fā)送誰(shuí)處理;③Hanlder消息傳遞機(jī)制中的核心API:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中美術(shù)結(jié)業(yè)考試題目及答案
- 2025年信息系統(tǒng)項(xiàng)目管理考試題及答案
- 四川瀘州科一試題及答案
- java軟件研發(fā)面試題及答案
- 股票投資策略與實(shí)戰(zhàn)試題
- 電子競(jìng)技賽事組織作業(yè)指導(dǎo)書
- 機(jī)電工程實(shí)操練習(xí)試題及答案
- 項(xiàng)目資源優(yōu)化配置策略試題及答案
- 西方政治考試的技能提升路徑試題及答案
- 機(jī)電工程考試試題及答案解析分享
- 有限空間作業(yè)氣體檢測(cè)記錄表
- 部編版語(yǔ)文六年級(jí)下冊(cè)第五單元教材解讀大單元集體備課
- 乒乓球的起源與發(fā)展
- 服裝表演音樂(lè)游戲課程設(shè)計(jì)
- 理工英語(yǔ)3-01-國(guó)開機(jī)考參考資料
- 頭顱常見病影像
- 漫畫解讀非煤地采礦山重大事故隱患判定標(biāo)準(zhǔn)
- 2024年建筑業(yè)10項(xiàng)新技術(shù)
- 《客艙安全與應(yīng)急處置》-課件:顛簸的原因及種類
- 《養(yǎng)老護(hù)理員》-課件:老年人衛(wèi)生、環(huán)境、食品安全防護(hù)知識(shí)
- 健康體檢科(中心)規(guī)章制度匯編
評(píng)論
0/150
提交評(píng)論