![《智能家居系統(tǒng)集成與應用(雙色)》(郭海礁) 教案 第13課 燈控系統(tǒng)程序設計與實現(xiàn)_第1頁](http://file4.renrendoc.com/view/30249e15fd79c1369b65c88fe915d3ef/30249e15fd79c1369b65c88fe915d3ef1.gif)
![《智能家居系統(tǒng)集成與應用(雙色)》(郭海礁) 教案 第13課 燈控系統(tǒng)程序設計與實現(xiàn)_第2頁](http://file4.renrendoc.com/view/30249e15fd79c1369b65c88fe915d3ef/30249e15fd79c1369b65c88fe915d3ef2.gif)
![《智能家居系統(tǒng)集成與應用(雙色)》(郭海礁) 教案 第13課 燈控系統(tǒng)程序設計與實現(xiàn)_第3頁](http://file4.renrendoc.com/view/30249e15fd79c1369b65c88fe915d3ef/30249e15fd79c1369b65c88fe915d3ef3.gif)
![《智能家居系統(tǒng)集成與應用(雙色)》(郭海礁) 教案 第13課 燈控系統(tǒng)程序設計與實現(xiàn)_第4頁](http://file4.renrendoc.com/view/30249e15fd79c1369b65c88fe915d3ef/30249e15fd79c1369b65c88fe915d3ef4.gif)
![《智能家居系統(tǒng)集成與應用(雙色)》(郭海礁) 教案 第13課 燈控系統(tǒng)程序設計與實現(xiàn)_第5頁](http://file4.renrendoc.com/view/30249e15fd79c1369b65c88fe915d3ef/30249e15fd79c1369b65c88fe915d3ef5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE2PAGE2PAGE7PAGE7PAGE7PAGE7
課題第13課燈控系統(tǒng)程序設計與實現(xiàn)課時2課時(90min)教學目標知識目標:掌握下拉列表Spinner的使用方法,事件監(jiān)聽器的實現(xiàn)技能目標:掌握燈控系統(tǒng)Android程序設計與實現(xiàn)態(tài)度目標:在學習上要有多種思路,具備發(fā)散思維,條條大路通羅馬教學重難點教學重點:Spinner定義數(shù)據(jù)源的三種方式教學難點:Android終端與物聯(lián)網(wǎng)的通信教學方法問答法、討論法、講授法、練習法教學用具電腦、投影儀、多媒體課件、教材教學設計第1節(jié)課:傳授新知(28min)課堂討論(10min)第2節(jié)課:問題導入(3min)
傳授新知(27min)
課堂實訓(10min)
課堂小結(3min)
作業(yè)布置(2min)教學過程主要教學內容及步驟設計意圖第一節(jié)課課前任務【教師】現(xiàn)在我們已經(jīng)處于互聯(lián)網(wǎng)時代,移動互聯(lián)網(wǎng)得到了飛速發(fā)展,請學生對比各類應用在PC端實現(xiàn)的,在手機移動端是否也有對應APP【學生】按照要求完成課前任務通過課前任務,讓學生了解手機APP給我們日常生活帶來了很大的便利考勤(2min)【教師】使用文旌課堂APP進行簽到【學生】班干部報請假人員及原因培養(yǎng)學生的組織紀律性,掌握學生的出勤情況問題導入(5min)【教師】讓學生思考并回答以下問題:電腦端操作有哪些便利性?手機端操作有哪些便利性?【學生】聆聽、思考、回答【教師】總結學生的回答,導入本節(jié)課內容:燈控系統(tǒng)Android程序設計與實現(xiàn)通過提問,引入新課,激發(fā)學生對手機移動端應用開發(fā)的興趣傳授新知(28min)【教師】講解新知,介紹燈控系統(tǒng)程序設計與實現(xiàn)一、Spinner概述1.定義Spinner是下拉列表框,單擊Spinner時會彈出一個下拉列表供用戶選擇,顯示時只能顯示列表中的當前項,其繼承關系如圖6-1所示(詳見教材)。根據(jù)圖6-1的繼承關系可知,Spinner是ViewGroup的間接子類,因此它也可以作為容器控件使用?!菊n堂問答】【教師】隨機邀請學生回答以下問題從自己手機APP中查找使用下拉列表的情形,總結哪些情況下會選擇使用下拉列表。【學生】聆聽、思考、回答【教師】總結學生的回答具有多個、固定的數(shù)據(jù)或者選項,需要讓用戶選擇時,推薦使用下拉列表。2.使用位置(1)在XML布局文件中,使用<Spinner>標簽定義下拉列表框控件。(2)在Java程序代碼中,使用Spinner類創(chuàng)建下拉列表框控件。3.常用屬性與相關方法Spinner提供了大量常用的XML屬性與相關方法,如表6-1所示(詳見教材)?!径嗝襟w】展示“Spinner支持的XML屬性與相關方法”表格(詳見教材),并講解具體內容4.重要方法setAdapter():設置下拉列表框與數(shù)據(jù)源的關聯(lián)。getPrompt():獲取提示文字。getSelectedItem():獲取下拉列表項的值。setOnItemClickListener():為下拉列表框中的每一個選項設置鼠標單擊事件監(jiān)聽器。setOnItemSelectedListener():為下拉列表框中的每一個選項設置被選中事件監(jiān)聽器。5.定義數(shù)據(jù)的3種方式數(shù)據(jù)源是下拉列表中需要提供的數(shù)據(jù)。Spinner定義數(shù)據(jù)源的方式有以下三種。方式一:直接通過資源文件來配置數(shù)據(jù)源,涉及的資源文件有arrays.xml和布局文件。步驟1定義數(shù)組資源。在values目錄下創(chuàng)建一個數(shù)組資源文件arrays.xml,在arrays.xml中,通過<string-array>標記定義字符串數(shù)組資源,并添加數(shù)組元素的值。步驟2指定數(shù)據(jù)源。為布局文件中的Spinner控件添加android:entries屬性,設置數(shù)據(jù)源為定義的字符串數(shù)組。方式二:在Java程序中,通過ArrayAdapter讀取資源文件來配置數(shù)據(jù)源。步驟1定義數(shù)組資源。在數(shù)組資源文件arrays.xml中,通過<string-array>標記定義字符串數(shù)組資源,并添加數(shù)組元素的值。步驟2定義數(shù)據(jù)源。在Java程序代碼中,通過ArrayAdapter類的createFromResourcer()方法創(chuàng)建一個ArrayAdapter(數(shù)組適配器,即數(shù)據(jù)源)對象,由它負責列表條目的顯示。(createFromResourcer()中有3個參數(shù)分別是上下文、定義的數(shù)組資源、布局Spinner的風格)。步驟3設置與數(shù)據(jù)源的關聯(lián)。在Java程序代碼中,將Spinner與數(shù)據(jù)源進行關聯(lián)。方式三:在Java程序中,通過ArrayAdapter指定設置的具體數(shù)據(jù)來配置數(shù)據(jù)源。步驟1定義數(shù)組,保存數(shù)據(jù)源中的數(shù)據(jù)內容。在Java程序中,定義數(shù)據(jù)源中要使用的數(shù)組,并添加數(shù)組元素的值。步驟2定義數(shù)據(jù)源。在Java程序代碼中,通過ArrayAdapter類的構造方法創(chuàng)建一個ArrayAdapter對象,由它負責列表條目的顯示。步驟3設置與數(shù)據(jù)源的關聯(lián)。在Java程序代碼中,將Spinner與數(shù)據(jù)源進行關聯(lián)?!菊n堂問答】【教師】隨機邀請學生回答以下問題對比分析定義數(shù)據(jù)的3種方式有哪些相同點和不同點?【學生】聆聽、思考、回答【教師】總結學生的回答二、使用類自身實現(xiàn)事件監(jiān)聽器1.使用類自身實現(xiàn)事件監(jiān)聽器的步驟步驟1定義成員變量。將要控制的組件定義為Activity的成員變量。步驟2獲取組件。在Activity的onCreate()方法中獲取需要的組件。步驟3讓本類實現(xiàn)監(jiān)聽器接口。在本類的聲明部分添加要實現(xiàn)的監(jiān)聽器接口,并且實現(xiàn)接口中沒有實現(xiàn)的事件處理器方法。步驟4為事件源注冊監(jiān)聽器。在Activity的onCreate()方法中為事件源注冊監(jiān)聽器,監(jiān)聽器為本類的當前對象,即this。2.使用類自身實現(xiàn)事件監(jiān)聽器的優(yōu)勢Activity類本身作為事件監(jiān)聽器,就如同生活中,我們自己剛好能夠處理某一件事,不需要委托給他人處理,可以直接在Activity類中定義事件處理方法,這種形式非常簡捷。3.使用類自身實現(xiàn)事件監(jiān)聽器的缺點(1)可能造成程序結構混亂,Activity的主要職責是完成界面初始化工作,若此時還要包含事件處理方法,可能引起混亂。(2)如果Activity界面類需要實現(xiàn)監(jiān)聽器接口,給人感覺比較怪異。4.常見事件監(jiān)聽器接口及其處理方法常見事件監(jiān)聽器接口及其處理方法如表6-2所示(詳見教材)。【多媒體】展示“常見事件監(jiān)聽器接口及其處理方法”表格(詳見教材),并講解具體內容5.View類的常見事件監(jiān)聽器注冊方法View類的常見事件監(jiān)聽器注冊方法如表6-3所示(詳見教材)?!径嗝襟w】展示“View類的常見事件監(jiān)聽器注冊方法”表格(詳見教材),并講解具體內容【課堂問答】【教師】隨機邀請學生回答以下問題除了使用類自身實現(xiàn)事件監(jiān)聽器,還有哪些方式實現(xiàn)事件監(jiān)聽器?【學生】聆聽、思考、回答【教師】總結學生的回答1.外部類作為事件監(jiān)聽器2.匿名內部類作為事件監(jiān)聽器3.內部類作為事件監(jiān)聽器【學生】聆聽、觀看、思考、理解、記錄通過教師講解、課堂問答和多媒體演示等方式,讓學生掌握Spinner的定義、使用位置、屬性、方法、定義數(shù)據(jù)方式等內容;學會如何使用類自身實現(xiàn)事件監(jiān)聽器,熟悉其優(yōu)缺點;了解View類的常見事件監(jiān)聽器注冊方法課堂討論(10min)【教師】對學生進行分組,4~6人一組,每組選出一名組長,然后組織學生以小組為單位討論以下問題對比Spinner定義數(shù)據(jù)的3種方式,分析每種方式的優(yōu)點和缺點?!緦W生】聆聽、思考、小組討論,由小組代表上臺發(fā)表討論結果【教師】總結學生的回答,并評價各組的表現(xiàn)通過課堂討論,使學生真正掌握Spinner定義數(shù)據(jù)的3種方式,并能根據(jù)實際使用情況,選擇合適的方式第二節(jié)課問題導入(3min)【教師】讓學生思考并回答以下問題如何設計一個漂亮并且方便用戶操作的APP界面?【學生】聆聽、思考、回答通過問題,讓學生明白一個好的APP不僅功能上要完善,還需要一個好的交互界面?zhèn)魇谛轮?7min)【教師】引入任務實施內容,講解燈控系統(tǒng)程序的設計與實現(xiàn)創(chuàng)建Android工程創(chuàng)建Android工程的操作步驟如下:【多媒體】演示創(chuàng)建Android工程的操作步驟步驟1雙擊打開Android開發(fā)工具Eclipse,選擇“File”/“New”/“AndroidApplicationProject”選項,創(chuàng)建一個Android工程,如圖6-2所示(詳見教材)。步驟2打開“AndroidApplicationProject”對話框,輸入應用名稱、項目名稱和包名稱,然后選擇最低支持版本、目標版本、編譯版本和主題,最后單擊“Next”按鈕,如圖6-3所示(詳見教材)。步驟3在打開的界面中進行項目配置,本例保持默認設置,直接單擊“Next”按鈕,如圖6-4所示(詳見教材)。步驟4在打開的界面中配置項目圖標,然后單擊“Next”按鈕,如圖6-5所示(詳見教材)。步驟5在打開的界面中取消“CreateActivity”復選框,取消創(chuàng)建Activity,然后單擊“Finish”按鈕,如圖6-6所示(詳見教材)。步驟6項目創(chuàng)建完成,其結構目錄如圖6-7所示(詳見教材)。步驟7從本書配套素材“項目六源代碼”/“任務1燈控系統(tǒng)程序設計與實現(xiàn)”/“l(fā)ibs”中復制HttpApi.jar到新創(chuàng)建項目的相同目錄下,如圖6-8所示(詳見教材)。步驟8右擊src目錄,在彈出的快捷菜單中選擇“New”/“Class”選項,新建一個類,如圖6-9所示(詳見教材)。步驟9打開“NewJavaClass”對話框,輸入Java類文件包名稱、類名及繼承Activity父類,然后單擊“Finish”按鈕,完成類的創(chuàng)建,如圖6-10所示(詳見教材)。步驟10在AndroidManifest.xml清單文件中注冊Activity。把代碼(詳見教材)添加到AndroidManifest.xml文件的相應位置。【課堂問答】【教師】隨機邀請學生回答以下問題androidmanifest.xml文件的作用是什么?【學生】聆聽、思考、回答【教師】總結學生的回答1、它是每個android程序中必須的文件,位于整個項目的根目錄。2、配置程序運行所必要的組件,權限,以及一些相關信息。3、它是整個應用的入口,所以有助于更加深入的理解Android。步驟11添加網(wǎng)絡訪問權限。把代碼(詳見教材)添加到AndroidManifest.xml清單文件的相應位置。步驟12在“res”/“l(fā)ayout”目錄創(chuàng)建布局文件。右擊layout目錄,在彈出的快捷菜單中選擇“New”/“Other”選項,如圖6-11所示(詳見教材)。步驟14打開“NewAndroidLayoutXMLFile”對話框,在“File”編輯框中輸入布局文件名稱,單擊“Finish”按鈕完成布局文件的創(chuàng)建,如圖6-13所示(詳見教材)。步驟15在文件中加載布局。在重寫的onCreate方法中的指定位置添加“setContentView(R.layout.activity_control);”布局文件實現(xiàn)控制界面布局需要用戶在控制界面選擇組別,因此需要用到Spinner控件。最外層使用垂直的線性布局android:orientation="vertical"。垂直的線性布局中有兩組內容:圖片和控制按鈕;組別說明的TextView和組別選擇器的Spinner;均為水平擺放,因此它們均采用水平布局。在“res”/“l(fā)ayout”/“activity_control.xml”文件中添加如下代碼?!径嗝襟w】演示布局文件實現(xiàn)步驟步驟1添加控制界面中選擇燈布局的代碼。<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="2dip"
android:gravity="center"
android:orientation="horizontal">
……(詳見教材)步驟2添加開關按鈕布局代碼。<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="12dip"
android:gravity="center"
android:orientation="horizontal"
android:paddingLeft="25dip"
android:paddingRight="25dip">……(詳見教材)步驟3把以上代碼添加到布局文件后按“Ctrl+S”組合鍵保存,控制界面效果如圖6-14所示(詳見教材)。功能實現(xiàn)通過添加控制代碼實現(xiàn)設置Spinner適配和監(jiān)聽事件,監(jiān)聽選擇哪一組燈泡進行操作。設置按鈕監(jiān)聽事件,監(jiān)聽用戶的單擊事件,設置請求參數(shù),其中燈光控制實驗用到的參數(shù)有四個。請參照平臺提供的接口文檔,將數(shù)據(jù)以POST請求方式提交平臺進行驗證,等待平臺驗證結果進行相應的操作,http請求需要用到的請求接口和請求參數(shù)均由智能家居系統(tǒng)平臺提供,在“src”/“ControlActivity.java”文件中實現(xiàn)控制功能?!径嗝襟w】演示創(chuàng)建功能實現(xiàn)的操作步驟初始化參數(shù)/**
*上下文對象
*/
privateContextcontext=null;
/**
*選擇控制燈泡
*/
……(詳見教材)2.Spinner實現(xiàn)實例化和監(jiān)聽spinner=(Spinner)findViewById(R.id.spinner_light);
//初始化組別選擇器
spinner.setAdapter(newArrayAdapter<String>(context,
android.R.layout.simple_list_item_1,lightGroup));
spinner.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){
……(詳見教材)【課堂問答】【教師】隨機邀請學生回答以下問題Spinner的定義數(shù)據(jù)的方式屬于上節(jié)課中所講的哪種方式?【學生】聆聽、思考、回答【教師】總結學生的回答方式三:在Java程序中,通過ArrayAdapter指定設置的具體數(shù)據(jù)來配置數(shù)據(jù)源。3.實例化按鈕對象并設置監(jiān)聽//實例化開燈關燈按鈕并設置監(jiān)聽
findViewById(R.id.but_open).setOnClickListener(this);
findViewById(R.id.but_close).setOnClickListener(this);4.按鈕單擊事件監(jiān)聽@Override
publicvoidonClick(Viewv){
switch(v.getId()){
caseR.id.but_open:
control(1);
img_none.setVisibility(View.VISIBLE);
……(詳見教材)5.發(fā)起http請求publicvoidcontrol(intonOrOff){
//開啟異步線程請求數(shù)據(jù)
AsyncHttpClientclient=newAsyncHttpClient();
client.setTimeout(8000);
RequestParamsparams=newRequestParams();
params.put("equno","32258778P6B508");//參數(shù)設置--設備編號--具體查看文檔《具體參數(shù)設置》
……(詳見教材)6.對話框內容顯示privatevoidshowSetIpDialog(Stringtitle,Stringmess){
AlertDialog.Builderbuilder=newAlertDialog.Builder(context);
builder.setTitle(title);
builder.setMessage(mess);
finalEditTexteditText=newEditText(context);
editText.setText(DataSave.getString(context,"serverIp"));
……(詳見教材)最后按“CtrL+S”組合鍵保存即可,完整代碼請查看本書配套源代碼。7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省安康市2024-2025學年八年級(上)期末語文試卷
- 2025年全球及中國氯雷他定片行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球工商用管道除濕機行業(yè)調研及趨勢分析報告
- 2025年全球及中國劃線輪(描線輪)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球PTFE化學鍍鎳行業(yè)調研及趨勢分析報告
- 2025年全球及中國汽車超高頻天線行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國多托盤貨叉行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球汽車行業(yè)用生物基聚酰胺行業(yè)調研及趨勢分析報告
- 2025年全球及中國樹木介紹牌行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球醫(yī)美用A型肉毒毒素行業(yè)調研及趨勢分析報告
- 2025-2030年中國納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報告新版
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務
- 2025年貴州蔬菜集團有限公司招聘筆試參考題庫含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計劃樣本(四篇)
- 【7歷期末】安徽省宣城市2023-2024學年七年級上學期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開工第一課
- 2025光伏組件清洗合同
- 電力電纜工程施工組織設計
- 2024年網(wǎng)格員考試題庫完美版
- 《建筑與市政工程防水規(guī)范》解讀
評論
0/150
提交評論