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

正文內(nèi)容

用于控制智能家電的手機應(yīng)用程序設(shè)計畢業(yè)論文-資料下載頁

2025-06-28 05:59本頁面
  

【正文】 y 都被實現(xiàn)為一個獨立的類,并且繼承于 Activity 這個基類。這個 activity 類將會顯示由幾個 Views 控件組成的用戶接口,并對事件做出響應(yīng)。大部份的應(yīng)用都會包含多個的屏幕。例如,一個短消息應(yīng)用程序?qū)幸粋€屏幕用于顯示聯(lián)系人列表,第二個屏幕用于寫短消息,同時還會有用于瀏覽舊短消息及進行系統(tǒng)設(shè)置的屏幕。每一個這樣的屏幕,就是一個 activity。從一個屏幕導航到另一個屏幕是很簡單的。在一些應(yīng)用中,一個屏幕甚至會返回值給前一個屏幕 [8]。當一個新的屏幕打開后,前一個屏幕將會暫停,并保存在歷史堆棧中。用戶可以返回到歷史堆棧中的前一個屏幕。當屏幕不再使用時,還可以從歷史堆棧中刪除。默認情況下,Android 將會保留從主屏幕到每一個應(yīng)用的運行屏幕。Android 使用了 Intent 這個特殊類,實現(xiàn)在屏幕與屏幕之間移動。Intent 類用于描述一個應(yīng)用將會做什么事。在 Intent 的描述結(jié)構(gòu)中,有兩個最重要的部分:動作和動作對應(yīng)的數(shù)據(jù)。典型的動作類型有:MAIN(activity 的門戶) 、VIEW、PICK 、EDIT 等。而動作對應(yīng)的數(shù)據(jù)則以 URI 的形式進行表示。例如:要查看一個人的聯(lián)系方式,你需要創(chuàng)建一個動作類型為 VIEW 的 intent,以及一個表示這個人的 URI。與之有關(guān)系的一個類叫 IntentFilter。相對于 intent 是一個有效的做某事的請求,一個intent filter 則用于描述一個 activity(或者 Intent Receiver)能夠操作哪些 intent。一個activity 如果要顯示一個人的聯(lián)系方式時,需要聲明一個 IntentFilter,這個 IntentFilter 要知道怎么去處理 VIEW 動作和表示一個人的 URI。 IntentFilter 需要在 中定義。通過解析各種 intent,從一個屏幕導航到另一個屏幕是很簡單的。當向前導航時,activity 將會調(diào)用 startActivity(Intent myIntent)方法。然后,系統(tǒng)會在所有安裝的應(yīng)用程序中定義的 IntentFilter 中查找,找到最匹配 myIntent 的 Intent 對應(yīng)的 activity。新的 activity接收到 myIntent 的通知后,開始運行。當 startActivity 方法被調(diào)用將觸發(fā)解析 myIntent 的動作,這個機制提供了兩個關(guān)鍵好處:A、Activities 能夠重復利用從其它組件中以 Intent 的形式產(chǎn)生的一個請求;B、Activities 可以在任何時候被一個具有相同 IntentFilter 的新的 Activity 取代。南通大學本科畢業(yè)設(shè)計(論文)2.Intent Receiver當你希望你的應(yīng)用能夠?qū)σ粋€外部的事件(如當電話呼入時,或者數(shù)據(jù)網(wǎng)絡(luò)可用時,或者到了晚上時)做出響應(yīng),你可以使用一個 Intent Receiver。雖然 Intent Receiver 在感興趣的事件發(fā)生時,會使用 NotificationManager 通知用戶,但它并不能生成一個UI。 Intent Receiver 在 中注冊,但也可以在代碼中使用()進行注冊。當一個 intent receiver 被觸發(fā)時,你的應(yīng)用不必對請求調(diào)用 intent receiver,系統(tǒng)會在需要的時候啟動你的應(yīng)用。各種應(yīng)用還可以通過使用()將它們自己的 intent receiver 廣播給其它應(yīng)用程序。3.Service一個 Service 是一段長生命周期的,沒有用戶界面的程序。比較好的一個例子就是一個正在從播放列表中播放歌曲的媒體播放器。在一個媒體播放器的應(yīng)用中,應(yīng)該會有多個 activity,讓使用者可以選擇歌曲并播放歌曲。然而,音樂重放這個功能并沒有對應(yīng)的activity,因為使用者當然會認為在導航到其它屏幕時音樂應(yīng)該還在播放的。在這個例子中,媒體播放器這個 activity 會使用 ()來啟動一個 service,從而可以在后臺保持音樂的播放。同時,系統(tǒng)也將保持這個 service 一直執(zhí)行,直到這個 service 運行結(jié)束。另外,我們還可以通過使用 ()方法,連接到一個 service 上(如果這個 service 還沒有運行將啟動它) 。當連接到一個 service 之后,我們還可以 service 提供的接口與它進行通訊。拿媒體播放器這個例子來說,我們還可以進行暫停、重播等操作。4.Content Provider應(yīng)用程序能夠?qū)⑺鼈兊臄?shù)據(jù)保存到文件中、SQL 數(shù)據(jù)庫中,甚至是任何有效的設(shè)備中。當你想將你的應(yīng)用數(shù)據(jù)與其它的應(yīng)用共享時,Content Provider 將會很有用。一個Content Provider 類實現(xiàn)了一組標準的方法,從而能夠讓其它的應(yīng)用保存或讀取此 Content Provider 處理的各種數(shù)據(jù)類型。 項目功能的實現(xiàn)“控制空調(diào)”客戶端有兩個主要界面,分別是:短信控制,網(wǎng)絡(luò)控制。下面分別對兩個界面進行分析。 短信控制短信控制主要是面對簡單的模塊的用戶,這些模塊不能聯(lián)網(wǎng),但是可以通過接收短信來控制家電。軟件打開后顯示如圖 所示的界面。南通大學本科畢業(yè)設(shè)計(論文) 圖 短信控制界面 圖 開關(guān)控制界面客戶端上可以設(shè)定空調(diào)上常用的 5 種控制。先是電源,點擊打勾的方框,勾變成綠色的時候代表電影打開,灰色的就是關(guān)閉。如圖 所示。實現(xiàn)此功能的主要代碼是 [11]:public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(()){(, 電源開關(guān)已打開, ).show()。a=1。}else{(, 電源開關(guān)已關(guān)閉, ).show()。a=0。}}然后是運行模式,分別為制冷、制熱、除濕、送風四種模式,點擊白色的框就可以選擇,如圖所示。下面的溫度,風速,定時時間都和設(shè)定模式一樣操作。如圖 所示。南通大學本科畢業(yè)設(shè)計(論文)圖 下拉菜單界面實現(xiàn)的代碼主要是:private static final String[] mode = { 制 冷, 制 熱, 除 濕, 送 風 }。s1 = (Spinner) findViewById()。adapter = new ArrayAdapterString(this, mode)。 ()。 (adapter)。 /* 將 ArrayAdapter 添加 Spinner 對象中 */ (new (){public void onItemSelected(AdapterView? arg0, View arg1, int arg2,long arg3) {b=arg2。}public void onNothingSelected(AdapterView? arg0){}})。然后就是設(shè)置。點擊手機上的“菜單”按鈕或者是“menu”按鈕會顯示如圖 的界面,點擊設(shè)置后會彈出圖 的對話框。根據(jù)對話框提示可以設(shè)置號碼用來傳遞信息。南通大學本科畢業(yè)設(shè)計(論文)圖 菜單設(shè)置界面實現(xiàn)上述功能的主要代碼是:菜單設(shè)置代碼:public boolean onCreateOptionsMenu(Menu menu) { (0, 0, 0, 設(shè)置)。 (0, 1, 1, 關(guān)于)。 (0, 2, 2, 退出)。 return (menu)。 } //菜單響應(yīng) public boolean onOptionsItemSelected(MenuItem item) { (item)。 switch (()) { case 0: Intent intent=new Intent()。 (this, )。 startActivity(intent)。 break。 case 1:南通大學本科畢業(yè)設(shè)計(論文) (this, 本軟件由南通大學\n 電子信息學院\n 信 071 班 孫釬 制作, ).show()。 break。 case 2: ()。 break。 }return true。 }彈出對話框設(shè)置代碼:(savedInstanceState)。SharedPreferences sharedPreferences = getSharedPreferences(number, _PRIVATE)。 String name = (name, 無)。 LayoutInflater factory = ()。final View DialogView = (, null)。 AlertDialog dialog1 = new ().setCancelable(false)//返回鍵不可用.setTitle(設(shè)置號碼).setMessage(現(xiàn)在設(shè)置的號碼是:\n+name).setView(DialogView)//設(shè)置樣式.setPositiveButton(確定, new () {public void onClick(DialogInterface dialo, int arg1) {num2 = (EditText) ()。number1 = ().toString()。SharedPreferences sharedPreferences = getSharedPreferences(number, _PRIVATE)。Editor editor1 = ()。//獲取編輯器if(().length()!=0 ){(name, number1 )。if(()){ 南通大學本科畢業(yè)設(shè)計(論文)String name = (name, 無)。 (, 設(shè)置的新號碼是:+name, ).show()。()。} //提交修改else {(, 出錯!, ).show()。()。}}else{(, 輸入的號碼不能為空!\n 號碼設(shè)置不變, ).show()。()。}}}).setNegativeButton(取消, new () {public void onClick(DialogInterface dialo, int arg1) {()。}}).create()。//創(chuàng)建按鈕 ()。//顯示對話框設(shè)置好需要空調(diào)的狀態(tài)和號碼之后,就可以點擊“發(fā)送”按鈕進行發(fā)送短信,發(fā)送成功后會顯示“發(fā)送成功”字樣。發(fā)送的內(nèi)容是根據(jù)設(shè)定的狀態(tài)生成的不同代碼,只要接收方根據(jù)接收到短信后對代碼進行解析然后達到控制空調(diào)的目的。點擊網(wǎng)絡(luò)控制按鈕就會切換到網(wǎng)絡(luò)模式。這里用到了 Intent 類,切換代碼是:(new (){public void onClick(View v){Intent intent=new Intent()。 (, )。 startActivity(intent)。()。 }})。 網(wǎng)絡(luò)控制切換到網(wǎng)絡(luò)模式下會顯示如圖 所示的界面。網(wǎng)絡(luò)模式和短信模式的總體外觀是一樣的,也是顯示 5 中控制。不過多了一個“獲南通大學本科畢業(yè)設(shè)計(論文)取信息設(shè)備”的按鈕。這也是網(wǎng)絡(luò)模式的一個好處,可以查看需要控制空調(diào)的狀態(tài)。點擊手機上的“菜單”按鈕或者是“menu”按鈕,然后點擊設(shè)置后會彈出圖 的對話框。這里顯示的就和短信控制不一樣了,因為是網(wǎng)絡(luò)傳輸,需要設(shè)置服務(wù)器的 IP 地址和端口號。根據(jù)對話框提示就可以設(shè)置 IP 地址和端口號了,設(shè)置好就可以進行數(shù)據(jù)傳輸了。 圖 網(wǎng)絡(luò)控制界面 圖 設(shè)置 IP 對話框點擊“獲取信息設(shè)備”按鈕后,客戶端會通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)給設(shè)置好的服務(wù)端,然后服務(wù)器端通過判斷數(shù)據(jù)返回一些設(shè)備狀態(tài)的數(shù)據(jù),手機接收后顯示如圖 所示。南通大學本科畢業(yè)設(shè)計(論文)圖 獲取設(shè)備狀態(tài)實現(xiàn)功能的主要代碼是:socket=new Socket(ip1,port1)。DataOutputStream out=new DataOutputStream(())。DataInputStream in=new DataInputStream(())。//向服務(wù)器發(fā)送信息(1)。//接受服務(wù)器的信息String mstr=()。if(mstr!=null){Intent intent=new Intent()。(cont,mstr)。(, )。startActivity(intent)。}然后就可以根據(jù)現(xiàn)在的狀態(tài)設(shè)置你想要設(shè)置的內(nèi)容點擊“發(fā)送”即可。發(fā)送成功后會顯示“恭喜你,發(fā)送成功!”字樣。發(fā)送的內(nèi)容是根據(jù)設(shè)定的狀態(tài)生成的不同代碼,只要服務(wù)器接收到代碼,然后對代碼進行解析然后達到控制空調(diào)的目的。南通大學本科畢業(yè)設(shè)計(論文) 成果演示 程序安裝先打開所建工程的文件夾,打開 bin 文件夾,會看到如圖 所示的 Intelligent 的 apk 文件。把這個文件復制到手機內(nèi)存卡里面,然后進入文件管理打開安裝即可。安裝好后會顯示如圖 所示圖標。圖
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1