freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的智能家居控制系統(tǒng)的設(shè)計畢業(yè)設(shè)計(編輯修改稿)

2024-12-28 23:12 本頁面
 

【文章內(nèi)容簡介】 庭網(wǎng)絡(luò)無需人工參與,網(wǎng)絡(luò)設(shè)置可自動完成。 (2) MIDP MIDP 定義了一套完整的用戶界面接口,全部定義在 . lcdui 包中。 MIDP 用戶界面程序包的核心抽象是類 Displayable。根據(jù)用戶的交互,應(yīng)用程序在完成任務(wù)的每一步不斷設(shè)置和重設(shè)在 Display 對象上的當(dāng)前Displayable 對象。用戶任務(wù)(指與用戶界面的交互)通過 Command 對象來實現(xiàn)。當(dāng)用戶選擇了一個 Command 對象之后,應(yīng)用程序自動獲得通知。作為反饋,應(yīng)用程序經(jīng)常改變當(dāng)前的 Displayable 對象,把另一個 Displayable 作為當(dāng)前值。設(shè)備軟件管理了本地應(yīng)用程序和 MIDP 應(yīng)用程序之間的物理顯示資源的共享。 Displayable 的子類有兩種: Canvas:允許應(yīng)用程序進行圖形處理和輸入處理的底層對象。 Screen:封裝了完整的用戶界面組件(類 Alert、 List、 TextBox、Form)的高層對象。 List:允許從一個預(yù)定義的選擇集中選擇 。 TextBox:是一個擁有可控制編輯方法的平坦文本編輯器。 Alert:顯示臨時信息或者簡單選擇問詢。 Form:更寬泛的容器,允許顯示多個密切相關(guān)的叫做 Item 的用戶界面元素。 小結(jié) 本章通過對系統(tǒng)的結(jié)構(gòu)、工作原理等各方面的設(shè)計,對系統(tǒng)的流程以及系統(tǒng)所要完成的功能都有了較為深入的了解。為人們掌握智能家居的使用方法了解智能家居奠定了堅實的基礎(chǔ)。 13 4 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn) 數(shù)據(jù)存儲 在 MIDP 規(guī)范中,提供了記錄管理系統(tǒng)( Record Management System, RMS),這個記錄管理系統(tǒng)就是一個小型簡單的數(shù)據(jù)庫管理系統(tǒng)( Database Management System),除了能用于管理系統(tǒng)儲存的資料之外,也可以用于存儲對象的狀態(tài)信息。 RMS 是 J2me 的一個重要的子系統(tǒng),目的是實現(xiàn)應(yīng)用程序本地數(shù)據(jù)的持久性存儲。 RMS 是管理數(shù)據(jù)的系統(tǒng), Record(記錄)是系統(tǒng)中最重要的實體。在移動設(shè)備存儲空間存儲的并不是字段,而是字節(jié)數(shù)組。 RMS 的職責(zé)是存儲和唯一標(biāo)識記錄,而表示數(shù)據(jù)的任務(wù)是由應(yīng)用程序來完成的。這樣做的目的是簡化 MIDP的實現(xiàn),使得 J2ME 的子系統(tǒng)盡量的小巧、靈活。 Record Store(記錄倉儲)是一系列的有序集合,記錄是不能單獨存在的,必須屬于記錄倉儲。記錄倉儲保證記錄的讀寫操作都是原子的,數(shù)據(jù)不會被破壞。 在 API 中記錄倉儲是由 實現(xiàn)的。每條記錄代表了一條數(shù)據(jù)信息。一條記錄由一個整型的 RecordID 與一個代表數(shù)據(jù)的 byte[]數(shù)組兩個子元素組成。 RecordID 是每條記錄的唯一標(biāo)識符,利用這個標(biāo)識符可以從記錄倉儲中找到對應(yīng)的一條記錄。其中 RMS 所使用的空間圖如圖所示: R e c o r d S t o r eR e c o r dR e c o r dR e c o r d I D D a t aR e c o r d I D D a t a 圖( 3) RMS 空間圖 基于 JAVA的智能家居系統(tǒng)的設(shè)計 —— 信息控制子系統(tǒng) 14 系統(tǒng)中對密碼的存儲是通過 RMS 進行實現(xiàn)的。首先要在系統(tǒng)中使用 RMS,首先需要定義 RMS 的名稱。在系統(tǒng)中定義的 RMS 的名稱是 RMS_NAME,然后 對它進行實例化,使用 rs=openRSAnyway(RMS_NAME)來 進行 。 要寫入密碼,首先就需要打開 RMS,使用 rs= (rsname, ture)函數(shù),然后 returen rs;即可實現(xiàn)。密碼寫入之 后則需要關(guān)閉倉儲,使用 rs= (rsname)來實現(xiàn)。 系統(tǒng)中輸入密碼的時候要驗證密碼輸入是否正確,這個時候也需要用到倉儲。首先需要用函數(shù) (RMS_NAME, ture)來打開倉儲和倉儲中存儲的數(shù)據(jù)進行比對,然后調(diào)用相應(yīng)的函數(shù)來驗證。 系統(tǒng)功能的設(shè)計與實現(xiàn) 該智能家居控制系統(tǒng)實現(xiàn)了以下幾個功能:登陸、客廳模塊、廚房模塊、臥室模塊和改密等一系列的功能。下面將對以下幾種功能進行詳細(xì)的論述。 客戶 端完成的主要功能包括對家居的控制。通過客戶端發(fā)送控制信息通過網(wǎng)絡(luò)傳送到服務(wù)器端,再由服務(wù)器端返回給客戶端。進而實現(xiàn)對家居的控制。 其中,系統(tǒng)功能結(jié)構(gòu)圖如下所示: 用 戶 登 錄修改密碼發(fā)送控制信息接收控制信息家具狀態(tài)選擇房間選擇信 息 發(fā) 送 臥 室用戶登錄家具選擇信 息 發(fā) 送 端信 息 接 收圖 ( 4) 系統(tǒng)功能結(jié)構(gòu)圖 登錄功能的詳細(xì)設(shè)計 登錄功能是為了保證用戶信息的安全, 因此在智能家居控制系統(tǒng)的首頁需 15 要鍵入密碼, 鍵入密碼之后,則需要點擊菜單按鈕,然后點擊登入按鈕, 如果密碼輸入正確之后才能進入智能家居控制系統(tǒng)。如果密碼輸入錯誤,則會返回一個頁面,提示密碼輸入錯誤,請重新輸 入。 系統(tǒng)名稱的實現(xiàn):系統(tǒng)標(biāo)題“智能家居控制系統(tǒng)”首先需要使用 title 來定義系統(tǒng)名稱。實現(xiàn)方法如下: public static String TITLE=“ 智能家居控制系統(tǒng) ” ;其中要設(shè)計它的位置,則需要使用錨點來實現(xiàn), 錨點的作用就是設(shè)置占用屏幕矩形方塊的具體位置。實現(xiàn)方法如下: (Main MID. TITLE,getWidth() /6+10,10,|)。 字體的實現(xiàn)方法每個 Graphics 都有一個 Font 對象與其關(guān)聯(lián),來進行文字的 渲染操作,調(diào)用其類方法 setFont(null),即可使字體恢復(fù)到默認(rèn)狀態(tài)。使用 static Font getFont (int face, int Style, int size)來獲得一個對象以表示字體所具有制定的外觀。使用的均為最大字體。 Face 參數(shù),用來定義字體的外觀。其中使用到的 Font 類定義的外觀常數(shù)如下: Static int FACE_PROPORTIONAL: “比例”字體外觀,數(shù)值 64被制定給此數(shù)。 Style 參數(shù),用來定義字體的樣式。在這個類中使用到 Font 類定義的樣式參數(shù)如下: Static int STYLE_PLAIN: 格式常數(shù)“常規(guī)”,數(shù)值 0 被制定給此常數(shù)。 Static int STYLE_BOLD: 格式常數(shù)“加粗”,數(shù)值 1被制定給此常數(shù)。 首頁顯示圖片的實現(xiàn)方法:首先需要構(gòu)建畫布,使用 back = Image. createImage(“/”) 來實現(xiàn)對畫布 圖片 的載入。 用低級用戶界面 Canvas 實現(xiàn)智能家居控制系統(tǒng)中按鈕的設(shè)置。其中對按鈕的定義操作包括: private Command Cmd_Back。 private Command Cmd_Send。 按鈕實現(xiàn)的方法包括: Cmd_Back = new Command(返回 , , 1)。 Cmd_Send = new Command(發(fā)送 , , 1)。 密碼鍵入中文本框的實現(xiàn)則通過 TextField 類來實現(xiàn)。 TextField 類用于帶約束的文本類型輸入。密碼的設(shè)置要求輸入密碼的最大值為 8 個字符。因此對密碼的限制要求是 32 位。首先要對 TextField 進行后臺的實例化,然后設(shè)置這個文本框所在的位置,以及位數(shù)。實現(xiàn)方法是 textfield=new TextField(“” , “”,8,| ); 輸入密碼之后要獲取 TextField基于 JAVA的智能家居系統(tǒng)的設(shè)計 —— 信息控制子系統(tǒng) 16 中的文本,使用方法是 (str)。來實現(xiàn)。 密碼框的畫法包括對顏色、字?jǐn)?shù)的限制。其中對顏色的控制方法是調(diào)用 setColor()方法來設(shè)置字體的顏色。使用 ()方法來設(shè)置矩形的邊框。 Fillrect()方法則表示使用指定的畫刷來填充矩形。 系統(tǒng)運行界面如下所示: 圖( 5)系統(tǒng)運行界面 PassWordCanvas 類主要 包含 TextField 子類,首先要對 TextField 在后臺進行實例化, TextField 是用于帶約束的文本類型輸入。 textfield = new TextField(, , 8, | )。 // 后臺TextField 實例化。其中還包括對登錄界面中字體顏色、背景等方面的設(shè)計。鍵入密碼“ 1234”之后點擊菜單中的登陸按鈕我們就可以進入到智能家居控制系統(tǒng)的頁面。如果輸入密碼錯誤,則跳轉(zhuǎn)到密碼輸入錯誤頁面,重新輸入密碼,直到密碼輸入正確,則可以進入到控制頁面。 密碼錯誤界面的實現(xiàn)方法如下:使用 Screen 類的子類 Alert 來實現(xiàn)臨時信息的顯示。密碼輸入錯誤,則跳轉(zhuǎn)進入密碼錯誤界面,實現(xiàn)方法是 initAlert()方法。其中顯示文字的實現(xiàn)方法是alert= new Alert(“ 密碼錯誤 ” , “ 請輸入正確的密碼! ” , null,) ; 控 制 按 鈕 的 實 現(xiàn) 方 法 是 : (new Command(“ 退出 ” , ,2))。 (new Command(“ 返回 ” , ,1))。文字顯示的位置也是通過錨點來實現(xiàn)。其中密碼輸入錯誤之后頁面提示界面如下: 17 圖( 6)密碼鍵入錯誤 要實現(xiàn)對該頁面的設(shè)計,首先需要填充背景的顏色,畫出背景的邊框、標(biāo)題等。要通過確定錨點來實現(xiàn)對功能的定位。而鍵入的密碼則存儲在倉儲中。通過調(diào)用 getNextRecordID()方法來 驗證鍵入的密碼是否正確。如果密碼輸入錯誤,則會調(diào)用 initAlert()方法將“密碼錯誤,請輸入正確的密碼”返回給用戶。 如果密碼輸入錯誤,我們可以選擇回刪按鈕,調(diào)用 deleteOneChar()方法來刪除字符。最終輸入正確的密碼后, 調(diào)用 IntoSystem()方法進入系統(tǒng)。 家居狀態(tài)的詳細(xì)設(shè)計 密碼鍵入成功之后,就會自動跳轉(zhuǎn)到家居的控制頁面。選擇客廳點擊開始按鈕,就會進入到家具的選擇頁面。其中包括:防盜門、窗簾、吊燈、空調(diào)和電視的控制。防盜門、窗簾和電視的狀態(tài)包括開啟和關(guān)閉兩種狀態(tài)。另外吊燈在開 啟和關(guān)閉的基礎(chǔ)上另外增加了對亮度的控制。空調(diào)則是在開啟和關(guān)閉的基礎(chǔ)上增加了對濕度和溫度的調(diào)節(jié)和控制。 輸入密碼正確之后,則可以進入到系統(tǒng)控制界面。其中包括:客廳、廚房、臥室和 修改密碼 功能。 其中,這幾個模塊在頁面中的顯示方法是通過數(shù)組的形式來定義的。定義方法是 private String[] SEECT_ITEM = {“客廳”,“ 廚房 ”,“ 臥室 ”,“ 修改密碼 ” },然后通過 if 語句來實現(xiàn)對文本框現(xiàn)在所在位置的確定。 Fnt= 基于 JAVA的智能家居系統(tǒng)的設(shè)計 —— 信息控制子系統(tǒng) 18 (,|, )。這里實現(xiàn)了對字體的定義 , 然后調(diào)用 setFont()函數(shù)來實現(xiàn)。歡迎回到溫暖之家這幾個字的實現(xiàn)方法如下: (0x0011CC)最終顯示的字體為藍(lán)色。確定位置所使用的函數(shù)是 (“ 歡迎回到溫暖之家 ” ,getWidth()/6+10,10,|),確定屏幕中這幾個模塊所在的位置, 使用 Graphics 類提供的繪圖來實現(xiàn)。實現(xiàn)方法為(fnt)。(0xAA2200)。(SELECT_ITEM[i], pos[0] 1, pos[1] * (i + 3), | )。其中,系統(tǒng)運行界面圖如下所示: 圖( 7)家居狀態(tài)選擇界面 客廳、廚房、臥室的布局都是類似的,現(xiàn)在我們選擇以客廳為例 ,客廳中的家居包括:防盜門、窗簾、吊燈、空調(diào)和電視。 這幾個家居的實現(xiàn)方法和上面我們實現(xiàn)的方法類似, 但是在文本上增加了矩形方框的設(shè)計。選 擇客廳調(diào)用FamilyList 函數(shù) in=new FamilyList(display,this, “ 客廳 ” ,stringArray, (“ ” ))。使用 void drawRect()函數(shù)來實現(xiàn)。 其運行界面圖如下所示: 19 圖 ( 8) 客廳運行頁面 (1) 對燈光的控制包括: 無線射頻燈光控制系統(tǒng)由智能面板開關(guān)和調(diào)光器組成,調(diào)光器用以發(fā)送和接收命令信號,命令通過無線電傳播,而不是通過家庭的電源線路傳輸。每個面板開關(guān)都備有一個不同的遙控 識別代碼。這些代碼利用 19 位識別技術(shù),使接收器能準(zhǔn)確辨別每個指令。即使鄰居同時使用,也絕對不會因其遙控器干擾而發(fā)生傳輸錯誤。調(diào)光開關(guān)同樣內(nèi)置 RF 無線射頻發(fā)射器,能獨立于遙控器或移動開關(guān)之外,控制落地?zé)艋蜃罒舻拈_關(guān)或隨意調(diào)節(jié)燈光亮度。減少干擾,傳送或接收指令更加準(zhǔn)確無誤。 其中,開啟和關(guān)閉,除了在位置上的設(shè)置之外,還增加了矩形框的設(shè)計。當(dāng)矩形框在開啟這兩個字上面時,開啟二字加粗,關(guān)閉使用常規(guī)。 首先定義兩個函數(shù) fnt和 fnt2 來表示常規(guī)和加粗兩種狀態(tài)下所調(diào)用的方法。分別為 fnt=(, BLOD|,)。fnt2=(R
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1