【文章內(nèi)容簡(jiǎn)介】
Service 東北大學(xué)東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 3 章 系統(tǒng)分析與設(shè)計(jì) 8 service 沒(méi)有用戶(hù)界面,但它會(huì)在后臺(tái)一直運(yùn)行。例如, service 可能在用戶(hù)處理其它事情的時(shí)候播放背景音樂(lè),或者從網(wǎng)絡(luò) 上獲取數(shù)據(jù),或者執(zhí)行一些運(yùn)算,并把運(yùn)算結(jié)構(gòu)提供給 activity 展示給用戶(hù)。每個(gè) service 都擴(kuò)展自類(lèi) Serivce。 多媒體播放器播放音樂(lè)是應(yīng)用 service 的一個(gè)非常好的例子。多媒體播放器程序可能含有一個(gè)或多個(gè) activity,用戶(hù)通過(guò)這些 activity 選擇并播放音樂(lè)。然而,音樂(lè)回放并不需要一個(gè) activity 來(lái)處理,因?yàn)橛脩?hù)可能會(huì)希望音樂(lè)一直播放下去,即使退出了播放器去執(zhí)行其它程序。為了讓音樂(lè)一直播放,多媒體播放器 activity可能會(huì)啟動(dòng)一個(gè) service 在后臺(tái)播放音樂(lè)。 Android 系統(tǒng)會(huì)使 音樂(lè)回放 service 一直運(yùn)行,即使在啟動(dòng)這個(gè) service 的 activity 退出之后。 應(yīng)用程序可以連接到一個(gè)正在運(yùn)行中的 service。當(dāng)連接到一個(gè) service 后,可以使用這個(gè) service 向外暴露的接口與這個(gè) service 進(jìn)行通信。對(duì)于上面提到的播放音樂(lè)的 service,這個(gè)接口可能允許用戶(hù)暫停,停止或重新播放音樂(lè)。 與 activity 以及其它組件一樣, service 同樣運(yùn)行在應(yīng)用程序進(jìn)程的主線程中。所以它們不能阻塞其它組件或用戶(hù)界面,通常需要為這些 service 派生一個(gè)線程執(zhí)行耗時(shí)的任務(wù)。 Broadcase receiver broadcase receiver 不執(zhí)行任何任務(wù),僅僅是接受并響應(yīng)廣播通知的一類(lèi)組件。大部分廣播通知是由系統(tǒng)產(chǎn)生的,例如改變時(shí)區(qū),電池電量低,用戶(hù)選擇了一幅圖片或者用戶(hù)改變了語(yǔ)言首選項(xiàng)。應(yīng)用程序同樣也可以發(fā)送廣播通知,例如通知其他應(yīng)用程序某些數(shù)據(jù)已經(jīng)被下載到設(shè)備上可以使用。 一個(gè)應(yīng)用程序可以包含任意數(shù)量的 boradcase reveiver 來(lái)響應(yīng)它認(rèn)為很重要的通知。所有的 broadcast receiver 都擴(kuò)展自類(lèi) BroadcastReceiver。 broadcast receiver 不包含任何用戶(hù)界面。然而它們可以啟動(dòng)一個(gè) activity 以響應(yīng)接受到的信息,或者通過(guò) NotificationManager 通知用戶(hù)??梢酝ㄟ^(guò)多種方式使用戶(hù)知道有新的通知產(chǎn)生:閃動(dòng)背景燈、震動(dòng)設(shè)備、發(fā)出聲音等等。通常程序會(huì)在狀態(tài)欄上放置一個(gè)持久的圖標(biāo),用戶(hù)可以打開(kāi)這個(gè)圖標(biāo)并讀取通知信息。 Content provider 應(yīng)用程序可以通過(guò) content provider 訪問(wèn)其它應(yīng)用程序的一些私有數(shù)據(jù),這是Android 提供的一種標(biāo)準(zhǔn)的共享數(shù)據(jù)的機(jī)制。共享的數(shù)據(jù)可以是存儲(chǔ)在文件系統(tǒng)中、 SQLite 數(shù)據(jù)庫(kù)中或其它的一些媒體中。 content provider 擴(kuò)展自 ContentProvider東北大學(xué)東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 3 章 系統(tǒng)分析與設(shè)計(jì) 9 類(lèi),通過(guò)實(shí)現(xiàn)此類(lèi)的一組標(biāo)準(zhǔn)的接口可以使其它應(yīng)用程序存取由它控制的數(shù)據(jù)。然而應(yīng)用程序并不會(huì)直接調(diào)用 ContentProvider 中的方法,而是通過(guò)類(lèi)ContentResolver。 ContentResolver 能夠與任何一個(gè) ContentProvider 通信,它與ContentProvider 合作管理進(jìn)程間的通信。 任何時(shí)候當(dāng) Android 系統(tǒng)收到一個(gè)需要某個(gè)組件進(jìn)行處理的請(qǐng)求的時(shí)候,Android 會(huì)確保處理 此請(qǐng)求的組件的宿主進(jìn)程是否已經(jīng)在運(yùn)行,如果沒(méi)有,則立即啟動(dòng)這個(gè)進(jìn)程,當(dāng)請(qǐng)求的組件的宿主進(jìn)程已經(jīng)在運(yùn)行,它會(huì)繼續(xù)查看請(qǐng)求的組件是否可以使用,如果不能立即使用,它會(huì)創(chuàng)建一個(gè)請(qǐng)求的組件的實(shí)例來(lái)響應(yīng)請(qǐng)求。 WiFi WiFi 的英文全稱(chēng)為 wireless fidelity, WiFi原先是無(wú)線保真的縮寫(xiě) ,它 在無(wú)線局域網(wǎng)的范疇是指“無(wú)線相容性認(rèn)證”,實(shí)質(zhì)上 那 是一種商業(yè)認(rèn)證,同時(shí)也是一種無(wú)線聯(lián)網(wǎng)的技術(shù) 。 以前通過(guò)網(wǎng)線連接電腦,而現(xiàn)在則是通過(guò)無(wú)線電波來(lái)連網(wǎng) 。常見(jiàn)的就是一個(gè)無(wú)線路由器 , 那么在這個(gè)無(wú)線路由器 電波覆蓋 的有效范圍 內(nèi) 都可以采用 WIFI 的 連接方式 來(lái) 進(jìn)行聯(lián)網(wǎng),如果無(wú)線路由器連接了一條 ADSL 線路或者別的上網(wǎng)線路,則又被稱(chēng)為“熱點(diǎn)”。 所謂 WiFi,是由一個(gè)名為“無(wú)線以太網(wǎng)相容聯(lián)盟”( Wireless Ether Compatibility Alliance, WECA)的組織所發(fā)布的業(yè)界術(shù)語(yǔ),中文譯為“無(wú)線相容認(rèn)證”。它是一種短程無(wú)線傳輸技術(shù),能夠在數(shù)百英尺范圍內(nèi)支持互聯(lián)網(wǎng)接入的無(wú)線電信號(hào)。隨著技術(shù)的發(fā)展,以及 IEEE 及 IEEE 等標(biāo)準(zhǔn)的出現(xiàn),現(xiàn)在 IEEE 這個(gè)標(biāo)準(zhǔn)已被統(tǒng)稱(chēng)作 WiFi。從應(yīng)用層面來(lái)說(shuō),要使用 WiFi,用戶(hù)首先要有 WiFi 兼容的用戶(hù)端裝置。 WiFi是一種幫助用戶(hù)訪問(wèn)電子郵件、 Web 和流式媒體的互聯(lián)網(wǎng)技術(shù)。它為用戶(hù)提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。同時(shí),它也是在家里、辦公室或在旅途中上網(wǎng)的快速、便捷的途徑。能夠訪問(wèn) WiFi 網(wǎng)絡(luò)的地方被稱(chēng)為熱點(diǎn)。 WiFi或 在 頻段工作,所支持的速度最高達(dá) 54Mbps( 工作在 或者 ,最高速度600Mbps)。另外還有兩種 空間的協(xié)議,包括 (a)和 (b)。它們也是公開(kāi)使用的,但。 WiFi 熱點(diǎn)是通過(guò)在互聯(lián)網(wǎng)連接上安裝訪問(wèn)點(diǎn)來(lái)創(chuàng)建的。這個(gè)訪問(wèn)點(diǎn)將無(wú)線信號(hào)通過(guò)短程進(jìn)行傳輸 一般覆蓋 300 英尺。當(dāng)一臺(tái)支持 WiFi 的設(shè)備(例如 Pocket PC)遇到一個(gè)熱點(diǎn)時(shí),這個(gè)設(shè)備可以用無(wú)線方式連接到那個(gè)網(wǎng)絡(luò)。大部分熱點(diǎn)都位于供大眾訪問(wèn)的地方,例如機(jī)場(chǎng)、咖啡店、旅館、書(shū)店以及校園等等。許多家庭和辦公室也擁有東北大學(xué)東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 3 章 系統(tǒng)分析與設(shè)計(jì) 10 WiFi 網(wǎng)絡(luò)。雖然有些熱點(diǎn)是免費(fèi)的,但是大部分穩(wěn)定的公共 WiFi 網(wǎng)絡(luò)是由私人互聯(lián)網(wǎng)服務(wù)提供商 (ISP)提供的 ,因此會(huì)在用戶(hù)連接到互聯(lián)網(wǎng)時(shí)收取一定費(fèi)用。 有時(shí)也被錯(cuò)誤地標(biāo)為 WiFi,實(shí)際上 WiFi是無(wú)線局域網(wǎng)聯(lián)盟( WLANA)的一個(gè)商標(biāo),該商標(biāo)僅保障使用該商標(biāo)的商品互相之間可以合作,與標(biāo)準(zhǔn)本身實(shí)際上沒(méi)有關(guān)系。但是后來(lái)人們逐漸習(xí)慣用 WIFI 來(lái)稱(chēng)呼 協(xié)議。它的最大優(yōu)點(diǎn)就是傳輸速度較高,可以達(dá)到 11Mbps,另外它的有效距離也很長(zhǎng),同時(shí)也與已有的各種 DSSS 設(shè)備兼容。筆記本電腦技術(shù) —— 迅馳技術(shù)就是基于該標(biāo)準(zhǔn)的。 IEEE( [美國(guó) ]電子和電氣工程師協(xié)會(huì)) 無(wú)線網(wǎng)絡(luò)規(guī)范是 IEEE 網(wǎng)絡(luò)規(guī)范的擴(kuò)展,最高帶寬為 11 Mbps,在信號(hào)較弱或有干擾的情況下,帶寬可調(diào)整為 、 2Mbps 和 1Mbps,帶寬的自動(dòng)調(diào)整,有效地保障了網(wǎng)絡(luò)的穩(wěn)定性和可靠性。其主要特性為:速度快,可靠性高,在開(kāi)放性區(qū)域,通訊距離可達(dá) 305 米,在封閉性區(qū)域,通訊距離為 76 米到 122 米,方便與現(xiàn)有的有線以太網(wǎng)絡(luò) , 支持 WiFi的筆記本 。 整合,組網(wǎng)的成本更低 。 Wi- Fi( WirelessFidelity,無(wú)線相容性認(rèn)證)的正式名稱(chēng)是“ ”,與藍(lán)牙一樣,同屬于在辦公室和家庭中使用的短距離無(wú)線技術(shù)。雖然在數(shù)據(jù)安全性方面,該技術(shù)比藍(lán)牙技術(shù)要差一些,但是在電波的覆蓋范圍方面則要略勝一籌。 Wi- Fi的覆蓋范圍則可達(dá) 300 英尺左右(約合 90 米),辦公室自不用說(shuō),就是在小一點(diǎn)的整棟大樓中也可使用。 基于 TCP 的 Socket 通信 基于 TCP 的 Socket 通信是通過(guò)指定 IP 地址和 port 號(hào),采用 C/S 模式建立 TCP 協(xié)議下的兩個(gè)通信進(jìn)程間的連接,實(shí)現(xiàn)可 靠的雙向通信。 在 Java 中 , 實(shí)現(xiàn)客戶(hù)端套接字的Socket 類(lèi);實(shí)現(xiàn)服務(wù)器端套接字的 ServerSocket 類(lèi) 。 Socket 通信原理 是 網(wǎng)絡(luò)中基于 Socket 通信的兩個(gè)進(jìn)程間建立連接時(shí),會(huì)將其中一個(gè)進(jìn)程作為客戶(hù)端,而另一個(gè)進(jìn)程作為服務(wù)器端。 ServerSocket 類(lèi)和 Socket 類(lèi)實(shí)現(xiàn)通信的C/S 模型。 東北大學(xué)東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 3 章 系統(tǒng)分析與設(shè)計(jì) 11 S o c k e t s o c k e t = n e w S o c k e t ( S e r v e r H o s t , P O R T ) 。O u t p u t S t r e a m o u t = s o c k e t . g e t O u t O u t S t r e a m ( ) 。I n p u t S t r e a m i n = s o c k e t . g e t I n p u t S t r e a m ( ) 。O u t . c l o s e ( ) 。I n . c l o s e ( ) 。S o c k e t . c l o s e 。S e r v e r S o c k e t s e r v e r s o c k e t = n e w S e r v e r S o c k e t ( P O R T ) 。S o c k e t s o c k e t = s e r v e r s o c k e t . a c c e p t ( ) 。O u t p u t S t r e a m o u t = s o c k e t . g e t O n p u t S t r e a m ( ) 。I n p u t S t r e a m i n = s o c k e t . g e t I n p u t S t r e a m ( ) 。O u t . c l o s e ( ) 。I n . c l o s e ( ) 。S o c k e t . c l o s e ( ) 。S e r v e r s o c k e t . c l o s e ( ) ???戶(hù) 端 進(jìn) 程服 務(wù) 器 端 進(jìn) 程創(chuàng) 建 客 戶(hù) 端實(shí) 例 并 發(fā) 送請(qǐng) 求數(shù) 據(jù) 通 信結(jié) 束 通 信創(chuàng) 建 服 務(wù)器 端 實(shí) 例監(jiān) 聽(tīng) 端 口 并建 立 連 接數(shù) 據(jù) 通 信結(jié) 束 通 信 由服務(wù)器端程序與客戶(hù)端程序兩部分組成,基本功能是: 服務(wù)器端程序監(jiān)聽(tīng) C/S 雙方約定的端口( 55558),等待并接收客戶(hù)請(qǐng)求,接受客戶(hù)請(qǐng)求后建立一個(gè)至 客戶(hù)端的基于套接字的連接,然后利用該連接返回到客戶(hù)端的 Socket對(duì)象,創(chuàng)建一個(gè)服務(wù)器端輸入流 InputStream 和一個(gè)服務(wù)器端輸出流 OutputStream,同時(shí)將它們分別包裝成便于操作與刷新的 BufferedReader 輸入流和 PrintWriter 輸出流。 然后,服務(wù)器端從 InputStream 讀入客戶(hù)端輸出的數(shù)據(jù),用 OutputStream 向客戶(hù)端輸出數(shù)據(jù),直到接收到客戶(hù)端的數(shù)據(jù)終止標(biāo)志“結(jié)束”為止, 最后關(guān)閉連接,釋放網(wǎng)絡(luò)資源,結(jié)束本次通信。 客戶(hù)端程序 首先創(chuàng)建客戶(hù)端 Socket 對(duì)象后,然后在約 定端口向服務(wù)器端發(fā)送請(qǐng)求,待服務(wù)器端接受請(qǐng)求后建立基于套接字的連接,然后利用該連接的 Socket 對(duì)象,創(chuàng)建一個(gè)客戶(hù)端輸入流 InputStream 和一個(gè)客戶(hù)端輸出流 OutputStream,同時(shí)將它們分別包裝成便于操作與刷新的 BufferedReader 輸入流和 PrintWriter 輸出流。 然后,客戶(hù)端從 InputStream 讀入服務(wù)器端輸出的數(shù)據(jù),用 OutputStream 向服務(wù)器端輸出數(shù)據(jù),直到發(fā)送完數(shù)據(jù)終止標(biāo)志“結(jié)束”為止,最后關(guān)閉連接,釋放網(wǎng)絡(luò)資源,結(jié)束本次通信。 東北大學(xué)東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 3 章 系統(tǒng)分析與設(shè)計(jì) 12 第 3 章 系統(tǒng)分析與設(shè)計(jì) 構(gòu) 架概述 功能構(gòu)架 W i f i管 理 員計(jì) 算 機(jī)服 務(wù) 員 組客 人 組 圖 系統(tǒng)結(jié)構(gòu)圖 K T V 管 理 系 統(tǒng)基 于 Q t 服 務(wù) 器端 ( 管 理 員 )基 于 A n d r o i d客 戶(hù) 端 ( 服 務(wù)員 )基 于 A n d r o i d客 戶(hù) 端 ( 客人 )