版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE2PAGE2PAGE7PAGE7PAGE7PAGE7
課題第15課環(huán)境(溫度)監(jiān)測系統(tǒng)程序設(shè)計與實現(xiàn)課時2課時(90min)教學(xué)目標(biāo)知識目標(biāo):掌握J(rèn)SON數(shù)據(jù)格式的使用,JSONArray數(shù)據(jù)的獲取技能目標(biāo):掌握環(huán)境(溫度)監(jiān)測系統(tǒng)Android程序設(shè)計與實現(xiàn)態(tài)度目標(biāo):在學(xué)習(xí)上持之以恒,生活中善于發(fā)現(xiàn)別人的閃光點教學(xué)重難點教學(xué)重點:程序中用JSONArray存放和解析的數(shù)據(jù)教學(xué)難點:漸變動畫布局教學(xué)方法問答法、討論法、講授法、練習(xí)法教學(xué)用具電腦、投影儀、多媒體課件、教材教學(xué)設(shè)計第1節(jié)課:傳授新知(28min)課堂實訓(xùn)(12min)第2節(jié)課:問題導(dǎo)入(3min)
傳授新知(22min)
課堂實訓(xùn)(15min)
課堂小結(jié)(3min)
作業(yè)布置(2min)教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計意圖第一節(jié)課課前任務(wù)【教師】我們現(xiàn)在處于大數(shù)據(jù)的時代,每天通過手機(jī)會生成很多數(shù)據(jù),請學(xué)生通過網(wǎng)上檢索,了解如何保障數(shù)據(jù)安全【學(xué)生】按照要求完成課前任務(wù)通過課前任務(wù),讓學(xué)生了解數(shù)據(jù)安全的重要性考勤(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】班干部報請假人員及原因培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問題導(dǎo)入(3min)【教師】讓學(xué)生思考并回答以下問題:手機(jī)上通過網(wǎng)絡(luò)獲取到的數(shù)據(jù)是如何存儲的?【學(xué)生】聆聽、思考、回答【教師】總結(jié)學(xué)生的回答,導(dǎo)入本節(jié)課內(nèi)容:JSON數(shù)據(jù)交換格式通過提問,引入新課,激發(fā)學(xué)生對數(shù)據(jù)存儲方式的興趣傳授新知(28min)【教師】講解新知,介紹環(huán)境(溫度)監(jiān)測系統(tǒng)程序設(shè)計與實現(xiàn)一、認(rèn)識JSONJSON是一種輕量級的數(shù)據(jù)交換格式,被廣泛應(yīng)用于Web應(yīng)用程序開發(fā)。JSON的簡潔和清晰的層次結(jié)構(gòu)易于程序員的閱讀和編寫,同時也有利于機(jī)器的解析和生成,有效地提升了網(wǎng)絡(luò)傳輸效率,很多流行的語言都對JSON格式有著很友好的支持。下面是一個JSON對象示例,其特征就是多個屬性是被{}括起來的。{"area":"天津津南","name":"天現(xiàn)寶寶","age":21}【課堂問答】【教師】隨機(jī)邀請學(xué)生回答以下問題JSON數(shù)據(jù)交換格式的優(yōu)點有哪些?【學(xué)生】聆聽、思考、回答【教師】總結(jié)學(xué)生的回答二、JSON數(shù)組JSON數(shù)組其實就是包含了多個JSON對象的一個集合,這些對象是被數(shù)組括號[]括起來的。[{"area":"天津津南","name":"天現(xiàn)寶寶","age":21},{"area":"天津津南","name":"王寶寶","age":25}]JSON數(shù)組并不一定是相同的JSON對象的集合,也可以是不同的JSON對象。下面這種類型也是正確的JSON數(shù)組格式。[{"area":"天津津南","name":"天現(xiàn)寶寶","age":21},{"drugCode":"HXUDP000000000000MED0000342809","dosformName":"注射","drugName":"打點滴"}]三、JSON、JSON對象、JSON數(shù)組的區(qū)別JSON只是一種宏觀上的叫法,可以理解為是一種數(shù)據(jù)結(jié)構(gòu),就像xml結(jié)構(gòu)一樣,是一種規(guī)約性內(nèi)容;而JSON對象則是對JSON的具體體現(xiàn);JSON數(shù)組則是將多個JSON對象進(jìn)行存儲的一個集合,可以想象成Java中的List和Object的關(guān)系。四、JSONObject和JSONArray的數(shù)據(jù)表示形式JSONObject的數(shù)據(jù)是用{}來表示的,例如:{"id":"123","courseID":"huangt-test","title":"提交作業(yè)","content":null}而JSONArray,顧名思義是由JSONObject構(gòu)成的數(shù)組,用[{},{},,{}]來表示,例如:[{"id":"123","courseID":"huangt-test","title":"提交作業(yè)"},{"content":null,"beginTime":1398873600000"endTime"}]表示了包含兩個JSONObject的JSONArray??梢钥吹揭粋€很明顯的區(qū)別,JSONObject最外面用{}括起來,而JSONArray最外面用[]括起來。【學(xué)生】聆聽、思考、理解、記錄【教師】引入任務(wù)實施內(nèi)容,講解環(huán)境(溫度)監(jiān)測系統(tǒng)程序的設(shè)計與實現(xiàn)創(chuàng)建Android工程創(chuàng)建Android工程,應(yīng)用名稱為“獲取溫度”,項目名稱為“GetTemperature”,其他設(shè)置參考“任務(wù)一:燈控系統(tǒng)程序設(shè)計與實現(xiàn)”。布局文件實現(xiàn)1.創(chuàng)建漸變動畫布局【多媒體】演示創(chuàng)建漸變動畫布局步驟步驟1選中工程下的“res”資源文件夾,然后選擇“File”/“New”/“Folder”選項,如圖6-18所示(詳見教材)。步驟2打開“Enterorselecttheparentfolder”對話框,在“Foldername”編輯框中輸入文件夾名稱“anim”,單擊“Finish”按鈕,如圖6-19所示(詳見教材)。步驟3創(chuàng)建動畫布局文件。右擊res下的anim文件夾,在彈出的快捷菜單中選擇“New”/“AndroidXMLFile”選項。步驟4打開“NewAndroidXMLFile”對話框,在“RootElement”列表框中選擇“alpha”選項,單擊“Finish”按鈕,如圖6-20所示(詳見教材)。步驟5在創(chuàng)建的動畫布局文件中輸入以下代碼,然后按“Ctrl+S”組合鍵保存。<setxmlns:android="/apk/res/android">
<alpha
android:fromAlpha="1"
android:toAlpha="0.2"
android:duration="500"
android:repeatCount="-1"/>
</set>【課堂問答】【教師】隨機(jī)邀請學(xué)生回答以下問題上述布局文件實現(xiàn)的效果是什么?【學(xué)生】聆聽、思考、回答【教師】總結(jié)學(xué)生的回答設(shè)置漸變效果的透明度從1到0.2,設(shè)置變化的持續(xù)時間,設(shè)置循環(huán)次數(shù)為無線循環(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
……(詳見教材)步驟2按“Ctrl+S”組合鍵保存,至此完成了對應(yīng)用“獲取溫度”的界面布局程序代碼的編寫,效果如圖6-21所示(詳見教材)?!緦W(xué)生】聆聽、觀看、思考、理解、記錄通過教師講解、課堂問答和多媒體演示等方式,讓學(xué)生認(rèn)識JSON,了解JSON數(shù)組,JSON、JSON對象、JSON數(shù)組的區(qū)別,JSONObject和JSONArray的數(shù)據(jù)表示形式等內(nèi)容;掌握創(chuàng)建代碼工程、添加漸變動畫布局和溫度主界面布局的實現(xiàn)步驟課堂實訓(xùn)(12min)【教師】組織學(xué)生完成以下任務(wù)創(chuàng)建Android程序工程,創(chuàng)建代碼工程,添加漸變動畫布局、溫度主界面布局,查看界面實現(xiàn)的效果?!緦W(xué)生】聆聽、思考、上機(jī)操作、完成任務(wù)【教師】根據(jù)學(xué)生的課堂表現(xiàn)在考核評價表(詳見教材)中進(jìn)行評價通過課堂實訓(xùn),使學(xué)生真正掌握漸變動畫布局的實現(xiàn)第二節(jié)課問題導(dǎo)入(3min)【教師】讓學(xué)生思考并回答以下問題環(huán)境溫度不斷變化,我們?nèi)绾螌崿F(xiàn)獲取到的溫度實時更新?【學(xué)生】聆聽、思考、回答通過問題,讓學(xué)生思考并設(shè)計程序的實現(xiàn)步驟傳授新知(22min)【教師】引入任務(wù)實施內(nèi)容,講解環(huán)境(溫度)監(jiān)測系統(tǒng)程序的設(shè)計與實現(xiàn)功能實現(xiàn)用戶通過設(shè)置閥值來管理溫度并記錄,當(dāng)超過設(shè)定值時會傳送一個參數(shù)到相應(yīng)節(jié)點進(jìn)行提醒。http請求用到的請求接口和請求參數(shù)均由智能家居系統(tǒng)平臺提供?!径嗝襟w】演示創(chuàng)建功能實現(xiàn)的操作步驟初始化參數(shù)/**
*上下文對象
*/
privateContextcontext=null;
/**
*顯示溫度
*/
privateListViewlv_temper=null;
/**
*溫度數(shù)據(jù)
*/
……(詳見教材)2.實例化按鈕對象并設(shè)置監(jiān)聽//實例化開、關(guān)按鈕并設(shè)置監(jiān)聽
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);
}
……(詳見教材)【課堂問答】【教師】隨機(jī)邀請學(xué)生回答以下問題上述代碼中創(chuàng)建JSONArray中的response代表什么?從哪里獲?。俊緦W(xué)生】聆聽、思考、回答【教師】總結(jié)學(xué)生的回答Response是通過http請求到的溫度數(shù)據(jù),從系統(tǒng)平臺的服務(wù)器中獲取。3.檢查是否設(shè)置服務(wù)器IP/**
*檢查是否設(shè)置服務(wù)器IP
*/
StringserverIp=DataSave.getString(context,"serverIp");
if(serverIp.equals("")){
showSetIpDialog("設(shè)置服務(wù)器IP","請在下面對話框輸入服務(wù)器IP");
}privatevoidshowSetIpDialog(Stringtitle,Stringmess){
AlertDialog.Builderbuilder=newAlertDialog.Builder(context);
builder.setTitle(title);
builder.setMessage(mess);
……(詳見教材)4.獲取溫度值/**
*獲取溫度
*/
publicsynchronizedvoidcontrol(){
//開啟異步線程請求數(shù)據(jù)
AsyncHttpClientclient=newAsyncHttpClient();
client.setTimeout(8000);
RequestParamsparams=newRequestParams();
params.put("equno","32258778P6B508");//參數(shù)設(shè)置--設(shè)備編號--具體查看平臺設(shè)置
……(詳見教材)【課堂問答】【教師】隨機(jī)邀請學(xué)生回答以下問題簡述上述代碼的功能。【學(xué)生】聆聽、思考、回答【教師】總結(jié)學(xué)生的回答通過POST方式發(fā)送http請求,從服務(wù)器端獲取溫度數(shù)據(jù),并將獲取到的數(shù)據(jù)存入msg,最后用handler發(fā)送帶有溫度數(shù)據(jù)的消息。5.對話框內(nèi)容顯示/**
*顯示設(shè)置IP對話框
*@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"));
……(詳見教材)通過單擊按鈕來啟動一個定時線程發(fā)送指令到網(wǎng)關(guān),定時讓網(wǎng)關(guān)上報數(shù)據(jù)。同時對網(wǎng)關(guān)返回的數(shù)據(jù)進(jìn)行過濾。篩選出溫度數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行判斷和顯示。完整代碼請查看本書配套源代碼。6.功能驗證將編譯好的程序安裝到手機(jī)中(需要打開手機(jī)的開發(fā)者模式,不同型號的手機(jī)開發(fā)者模式的打開方式有所不同,可根據(jù)所用手機(jī)的型號查閱相關(guān)資料)。連接好硬件,啟動服務(wù)器。通過剛安裝好的App查看是否能夠正常獲取溫度、設(shè)置閾值,如圖6-22所示(詳見教材)?!緦W(xué)生】聆聽、觀看、思考、理解、記錄通過教師講解、課堂問答和多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)生自我評價集錦15篇
- 校園活動策劃書(集錦15篇)
- 端午節(jié)演講稿3分鐘(合集4篇)
- 銷售上半年工作總結(jié)15篇
- 旅游案例-彝人古鎮(zhèn)
- 長度單位手抄報6篇
- 人教版高一地理必修2同步習(xí)題及答案解析(全冊)
- 兒童樂園合同(2篇)
- 河南省安陽市林州第二職業(yè)高級中學(xué)高三語文聯(lián)考試卷含解析
- 2025年斗型布草車項目合作計劃書
- 2024年放射工作人員放射防護(hù)培訓(xùn)考試題及答案
- 2024年1月國開電大??啤肚拦芾怼菲谀┛荚囋囶}及答案
- JGT302-2022卷簾門窗規(guī)范
- 居家養(yǎng)老單項服務(wù)及收費(fèi)
- 長輸管道項目管道封堵施工技術(shù)方案
- 醫(yī)療器械質(zhì)量安全承諾書
- 湘美版三年級美術(shù)上冊《12. 盤泥條-瓶子變裝秀》教學(xué)設(shè)計
- 遵義市仁懷市2022-2023學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題【帶答案】
- 發(fā)展?jié)h語初級口語I-L18
- 2024-2034年全球及中國藥用菌行業(yè)市場發(fā)展分析及前景趨勢與投資發(fā)展研究報告
- 2024年中小學(xué)勞動技能大賽活動方案
評論
0/150
提交評論