《智能家居系統(tǒng)集成與應(yīng)用(雙色)》(郭海礁) 教案 第15課 環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
《智能家居系統(tǒng)集成與應(yīng)用(雙色)》(郭海礁) 教案 第15課 環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
《智能家居系統(tǒng)集成與應(yīng)用(雙色)》(郭海礁) 教案 第15課 環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
《智能家居系統(tǒng)集成與應(yīng)用(雙色)》(郭海礁) 教案 第15課 環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
《智能家居系統(tǒng)集成與應(yīng)用(雙色)》(郭海礁) 教案 第15課 環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE2PAGE2PAGE7PAGE7PAGE7PAGE7

課題第15課環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)課時(shí)2課時(shí)(90min)教學(xué)目標(biāo)知識(shí)目標(biāo):掌握J(rèn)SON數(shù)據(jù)格式的使用,JSONArray數(shù)據(jù)的獲取技能目標(biāo):掌握環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)Android程序設(shè)計(jì)與實(shí)現(xiàn)態(tài)度目標(biāo):在學(xué)習(xí)上持之以恒,生活中善于發(fā)現(xiàn)別人的閃光點(diǎn)教學(xué)重難點(diǎn)教學(xué)重點(diǎn):程序中用JSONArray存放和解析的數(shù)據(jù)教學(xué)難點(diǎn):漸變動(dòng)畫布局教學(xué)方法問(wèn)答法、討論法、講授法、練習(xí)法教學(xué)用具電腦、投影儀、多媒體課件、教材教學(xué)設(shè)計(jì)第1節(jié)課:傳授新知(28min)課堂實(shí)訓(xùn)(12min)第2節(jié)課:?jiǎn)栴}導(dǎo)入(3min)

傳授新知(22min)

課堂實(shí)訓(xùn)(15min)

課堂小結(jié)(3min)

作業(yè)布置(2min)教學(xué)過(guò)程主要教學(xué)內(nèi)容及步驟設(shè)計(jì)意圖第一節(jié)課課前任務(wù)【教師】我們現(xiàn)在處于大數(shù)據(jù)的時(shí)代,每天通過(guò)手機(jī)會(huì)生成很多數(shù)據(jù),請(qǐng)學(xué)生通過(guò)網(wǎng)上檢索,了解如何保障數(shù)據(jù)安全【學(xué)生】按照要求完成課前任務(wù)通過(guò)課前任務(wù),讓學(xué)生了解數(shù)據(jù)安全的重要性考勤(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】班干部報(bào)請(qǐng)假人員及原因培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問(wèn)題導(dǎo)入(3min)【教師】讓學(xué)生思考并回答以下問(wèn)題:手機(jī)上通過(guò)網(wǎng)絡(luò)獲取到的數(shù)據(jù)是如何存儲(chǔ)的?【學(xué)生】聆聽(tīng)、思考、回答【教師】總結(jié)學(xué)生的回答,導(dǎo)入本節(jié)課內(nèi)容:JSON數(shù)據(jù)交換格式通過(guò)提問(wèn),引入新課,激發(fā)學(xué)生對(duì)數(shù)據(jù)存儲(chǔ)方式的興趣傳授新知(28min)【教師】講解新知,介紹環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)一、認(rèn)識(shí)JSONJSON是一種輕量級(jí)的數(shù)據(jù)交換格式,被廣泛應(yīng)用于Web應(yīng)用程序開(kāi)發(fā)。JSON的簡(jiǎn)潔和清晰的層次結(jié)構(gòu)易于程序員的閱讀和編寫,同時(shí)也有利于機(jī)器的解析和生成,有效地提升了網(wǎng)絡(luò)傳輸效率,很多流行的語(yǔ)言都對(duì)JSON格式有著很友好的支持。下面是一個(gè)JSON對(duì)象示例,其特征就是多個(gè)屬性是被{}括起來(lái)的。{"area":"天津津南","name":"天現(xiàn)寶寶","age":21}【課堂問(wèn)答】【教師】隨機(jī)邀請(qǐng)學(xué)生回答以下問(wèn)題JSON數(shù)據(jù)交換格式的優(yōu)點(diǎn)有哪些?【學(xué)生】聆聽(tīng)、思考、回答【教師】總結(jié)學(xué)生的回答二、JSON數(shù)組JSON數(shù)組其實(shí)就是包含了多個(gè)JSON對(duì)象的一個(gè)集合,這些對(duì)象是被數(shù)組括號(hào)[]括起來(lái)的。[{"area":"天津津南","name":"天現(xiàn)寶寶","age":21},{"area":"天津津南","name":"王寶寶","age":25}]JSON數(shù)組并不一定是相同的JSON對(duì)象的集合,也可以是不同的JSON對(duì)象。下面這種類型也是正確的JSON數(shù)組格式。[{"area":"天津津南","name":"天現(xiàn)寶寶","age":21},{"drugCode":"HXUDP000000000000MED0000342809","dosformName":"注射","drugName":"打點(diǎn)滴"}]三、JSON、JSON對(duì)象、JSON數(shù)組的區(qū)別JSON只是一種宏觀上的叫法,可以理解為是一種數(shù)據(jù)結(jié)構(gòu),就像xml結(jié)構(gòu)一樣,是一種規(guī)約性內(nèi)容;而JSON對(duì)象則是對(duì)JSON的具體體現(xiàn);JSON數(shù)組則是將多個(gè)JSON對(duì)象進(jìn)行存儲(chǔ)的一個(gè)集合,可以想象成Java中的List和Object的關(guān)系。四、JSONObject和JSONArray的數(shù)據(jù)表示形式JSONObject的數(shù)據(jù)是用{}來(lái)表示的,例如:{"id":"123","courseID":"huangt-test","title":"提交作業(yè)","content":null}而JSONArray,顧名思義是由JSONObject構(gòu)成的數(shù)組,用[{},{},,{}]來(lái)表示,例如:[{"id":"123","courseID":"huangt-test","title":"提交作業(yè)"},{"content":null,"beginTime":1398873600000"endTime"}]表示了包含兩個(gè)JSONObject的JSONArray。可以看到一個(gè)很明顯的區(qū)別,JSONObject最外面用{}括起來(lái),而JSONArray最外面用[]括起來(lái)?!緦W(xué)生】聆聽(tīng)、思考、理解、記錄【教師】引入任務(wù)實(shí)施內(nèi)容,講解環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序的設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建Android工程創(chuàng)建Android工程,應(yīng)用名稱為“獲取溫度”,項(xiàng)目名稱為“GetTemperature”,其他設(shè)置參考“任務(wù)一:燈控系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)”。布局文件實(shí)現(xiàn)1.創(chuàng)建漸變動(dòng)畫布局【多媒體】演示創(chuàng)建漸變動(dòng)畫布局步驟步驟1選中工程下的“res”資源文件夾,然后選擇“File”/“New”/“Folder”選項(xiàng),如圖6-18所示(詳見(jiàn)教材)。步驟2打開(kāi)“Enterorselecttheparentfolder”對(duì)話框,在“Foldername”編輯框中輸入文件夾名稱“anim”,單擊“Finish”按鈕,如圖6-19所示(詳見(jiàn)教材)。步驟3創(chuàng)建動(dòng)畫布局文件。右擊res下的anim文件夾,在彈出的快捷菜單中選擇“New”/“AndroidXMLFile”選項(xiàng)。步驟4打開(kāi)“NewAndroidXMLFile”對(duì)話框,在“RootElement”列表框中選擇“alpha”選項(xiàng),單擊“Finish”按鈕,如圖6-20所示(詳見(jiàn)教材)。步驟5在創(chuàng)建的動(dòng)畫布局文件中輸入以下代碼,然后按“Ctrl+S”組合鍵保存。<setxmlns:android="/apk/res/android">

<alpha

android:fromAlpha="1"

android:toAlpha="0.2"

android:duration="500"

android:repeatCount="-1"/>

</set>【課堂問(wèn)答】【教師】隨機(jī)邀請(qǐng)學(xué)生回答以下問(wèn)題上述布局文件實(shí)現(xiàn)的效果是什么?【學(xué)生】聆聽(tīng)、思考、回答【教師】總結(jié)學(xué)生的回答設(shè)置漸變效果的透明度從1到0.2,設(shè)置變化的持續(xù)時(shí)間,設(shè)置循環(huán)次數(shù)為無(wú)線循環(huán)2.獲取溫度主界面布局【多媒體】演示創(chuàng)建溫度主界面布局的操作步驟步驟1在“res”/“l(fā)ayout”/“activity_control.xml”文件中添加以下代碼:<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center"

android:background="@drawable/neon_bg"

android:orientation="vertical">

<Button

……(詳見(jiàn)教材)步驟2按“Ctrl+S”組合鍵保存,至此完成了對(duì)應(yīng)用“獲取溫度”的界面布局程序代碼的編寫,效果如圖6-21所示(詳見(jiàn)教材)?!緦W(xué)生】聆聽(tīng)、觀看、思考、理解、記錄通過(guò)教師講解、課堂問(wèn)答和多媒體演示等方式,讓學(xué)生認(rèn)識(shí)JSON,了解JSON數(shù)組,JSON、JSON對(duì)象、JSON數(shù)組的區(qū)別,JSONObject和JSONArray的數(shù)據(jù)表示形式等內(nèi)容;掌握創(chuàng)建代碼工程、添加漸變動(dòng)畫布局和溫度主界面布局的實(shí)現(xiàn)步驟課堂實(shí)訓(xùn)(12min)【教師】組織學(xué)生完成以下任務(wù)創(chuàng)建Android程序工程,創(chuàng)建代碼工程,添加漸變動(dòng)畫布局、溫度主界面布局,查看界面實(shí)現(xiàn)的效果?!緦W(xué)生】聆聽(tīng)、思考、上機(jī)操作、完成任務(wù)【教師】根據(jù)學(xué)生的課堂表現(xiàn)在考核評(píng)價(jià)表(詳見(jiàn)教材)中進(jìn)行評(píng)價(jià)通過(guò)課堂實(shí)訓(xùn),使學(xué)生真正掌握漸變動(dòng)畫布局的實(shí)現(xiàn)第二節(jié)課問(wèn)題導(dǎo)入(3min)【教師】讓學(xué)生思考并回答以下問(wèn)題環(huán)境溫度不斷變化,我們?nèi)绾螌?shí)現(xiàn)獲取到的溫度實(shí)時(shí)更新?【學(xué)生】聆聽(tīng)、思考、回答通過(guò)問(wèn)題,讓學(xué)生思考并設(shè)計(jì)程序的實(shí)現(xiàn)步驟傳授新知(22min)【教師】引入任務(wù)實(shí)施內(nèi)容,講解環(huán)境(溫度)監(jiān)測(cè)系統(tǒng)程序的設(shè)計(jì)與實(shí)現(xiàn)功能實(shí)現(xiàn)用戶通過(guò)設(shè)置閥值來(lái)管理溫度并記錄,當(dāng)超過(guò)設(shè)定值時(shí)會(huì)傳送一個(gè)參數(shù)到相應(yīng)節(jié)點(diǎn)進(jìn)行提醒。http請(qǐng)求用到的請(qǐng)求接口和請(qǐng)求參數(shù)均由智能家居系統(tǒng)平臺(tái)提供?!径嗝襟w】演示創(chuàng)建功能實(shí)現(xiàn)的操作步驟初始化參數(shù)/**

*上下文對(duì)象

*/

privateContextcontext=null;

/**

*顯示溫度

*/

privateListViewlv_temper=null;

/**

*溫度數(shù)據(jù)

*/

……(詳見(jiàn)教材)2.實(shí)例化按鈕對(duì)象并設(shè)置監(jiān)聽(tīng)//實(shí)例化開(kāi)、關(guān)按鈕并設(shè)置監(jiān)聽(tīng)

button=(Button)findViewById(R.id.but_get);

button.setOnClickListener(this);

lv_temper=(ListView)findViewById(R.id.lv_data);

adapter=newSimpleAdapter(context,data,R.layout.layout_adapter,

keys,newint[]{R.id.tv_senorid,R.id.tv_senordata,

R.id.tv_collecttime,R.id.tv_addr,R.id.tv_typeid,

R.id.tv_state});

lv_temper.setAdapter(adapter);

findViewById(R.id.but_setting).setOnClickListener(this);

}

……(詳見(jiàn)教材)【課堂問(wèn)答】【教師】隨機(jī)邀請(qǐng)學(xué)生回答以下問(wèn)題上述代碼中創(chuàng)建JSONArray中的response代表什么?從哪里獲???【學(xué)生】聆聽(tīng)、思考、回答【教師】總結(jié)學(xué)生的回答Response是通過(guò)http請(qǐng)求到的溫度數(shù)據(jù),從系統(tǒng)平臺(tái)的服務(wù)器中獲取。3.檢查是否設(shè)置服務(wù)器IP/**

*檢查是否設(shè)置服務(wù)器IP

*/

StringserverIp=DataSave.getString(context,"serverIp");

if(serverIp.equals("")){

showSetIpDialog("設(shè)置服務(wù)器IP","請(qǐng)?jiān)谙旅鎸?duì)話框輸入服務(wù)器IP");

}privatevoidshowSetIpDialog(Stringtitle,Stringmess){

AlertDialog.Builderbuilder=newAlertDialog.Builder(context);

builder.setTitle(title);

builder.setMessage(mess);

……(詳見(jiàn)教材)4.獲取溫度值/**

*獲取溫度

*/

publicsynchronizedvoidcontrol(){

//開(kāi)啟異步線程請(qǐng)求數(shù)據(jù)

AsyncHttpClientclient=newAsyncHttpClient();

client.setTimeout(8000);

RequestParamsparams=newRequestParams();

params.put("equno","32258778P6B508");//參數(shù)設(shè)置--設(shè)備編號(hào)--具體查看平臺(tái)設(shè)置

……(詳見(jiàn)教材)【課堂問(wèn)答】【教師】隨機(jī)邀請(qǐng)學(xué)生回答以下問(wèn)題簡(jiǎn)述上述代碼的功能?!緦W(xué)生】聆聽(tīng)、思考、回答【教師】總結(jié)學(xué)生的回答通過(guò)POST方式發(fā)送http請(qǐng)求,從服務(wù)器端獲取溫度數(shù)據(jù),并將獲取到的數(shù)據(jù)存入msg,最后用handler發(fā)送帶有溫度數(shù)據(jù)的消息。5.對(duì)話框內(nèi)容顯示/**

*顯示設(shè)置IP對(duì)話框

*@paramtitle

*@parammess

*/

privatevoidshowSetIpDialog(Stringtitle,Stringmess){

AlertDialog.Builderbuilder=newAlertDialog.Builder(context);

builder.setTitle(title);

builder.setMessage(mess);

finalEditTexteditText=newEditText(context);

editText.setText(DataSave.getString(context,"serverIp"));

……(詳見(jiàn)教材)通過(guò)單擊按鈕來(lái)啟動(dòng)一個(gè)定時(shí)線程發(fā)送指令到網(wǎng)關(guān),定時(shí)讓網(wǎng)關(guān)上報(bào)數(shù)據(jù)。同時(shí)對(duì)網(wǎng)關(guān)返回的數(shù)據(jù)進(jìn)行過(guò)濾。篩選出溫度數(shù)據(jù),對(duì)這些數(shù)據(jù)進(jìn)行判斷和顯示。完整代碼請(qǐng)查看本書配套源代碼。6.功能驗(yàn)證將編譯好的程序安裝到手機(jī)中(需要打開(kāi)手機(jī)的開(kāi)發(fā)者模式,不同型號(hào)的手機(jī)開(kāi)發(fā)者模式的打開(kāi)方式有所不同,可根據(jù)所用手機(jī)的型號(hào)查閱相關(guān)資料)。連接好硬件,啟動(dòng)服務(wù)器。通過(guò)剛安裝好的App查看是否能夠正常獲取溫度、設(shè)置閾值,如圖6-22所示(詳見(jiàn)教材)?!緦W(xué)生】聆聽(tīng)、觀看、思考、理解、記錄通過(guò)教師講解、課堂問(wèn)答和多

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論