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

正文內(nèi)容

基于android的移動(dòng)辦公系統(tǒng)畢業(yè)論文-資料下載頁(yè)

2024-11-10 03:58本頁(yè)面

【導(dǎo)讀】自2020年谷歌領(lǐng)導(dǎo)的手持開(kāi)放設(shè)備聯(lián)盟推出手機(jī)智能操作系統(tǒng)Android以來(lái),隨著3G網(wǎng)絡(luò)的普及和4G網(wǎng)絡(luò)的接入并推廣使用,移動(dòng)互聯(lián)網(wǎng)發(fā)展迅速,隨時(shí)隨地使用移動(dòng)應(yīng)用進(jìn)行辦公和獲取信息,達(dá)到提高工作效率的目的?;诒鞠到y(tǒng)的背景、意義及必要性,本文對(duì)應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程作了詳細(xì)闡述。UML模型,包括類(lèi)圖、用例圖、時(shí)序圖等,從不同角度分析系統(tǒng)的功能的業(yè)務(wù)邏輯,接著進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),得到E-R模型,設(shè)計(jì)數(shù)據(jù)庫(kù)。的表及關(guān)聯(lián)關(guān)系。關(guān)鍵性原理及技術(shù),并設(shè)計(jì)了系統(tǒng)主要界面,根據(jù)詳細(xì)設(shè)計(jì)進(jìn)行編碼和單元測(cè)試。對(duì)系統(tǒng)進(jìn)行整體性測(cè)試,完成整個(gè)移動(dòng)辦公系統(tǒng)應(yīng)用的設(shè)計(jì)和實(shí)現(xiàn)。最終完成移動(dòng)辦公

  

【正文】 T, HEAD 等); 蘭州交通大學(xué)畢業(yè)設(shè)計(jì)(論文) 13 ( 2)支持自動(dòng)轉(zhuǎn)向; ( 3)支持 HTTPS 協(xié)議; ( 4)支持代理服務(wù)器等。 使用 Apache HttpClient 需要以下 6 個(gè)步驟: ( 1)創(chuàng)建 HttpClient 的實(shí)例; ( 2)創(chuàng)建連接方法的實(shí)例,如 GetMethod,在其構(gòu)造函數(shù)中傳入待連接的地址; ( 3)調(diào)用 HttpClient 實(shí)例的 execute 方法來(lái)執(zhí)行第二步中創(chuàng)建好的 method 實(shí)例; ( 4)讀 response; ( 5)釋放連接。無(wú)論執(zhí)行方法是否成功,都必須釋放連接; ( 6)對(duì)得到后的內(nèi)容進(jìn)行處理。 Apache HttpClient 對(duì) HTTP 協(xié)議支持非常好,使用起來(lái)很簡(jiǎn)單,版本更新快,功能也很強(qiáng)大,具有足夠的靈活性和擴(kuò)展性。對(duì)于想在 Java 應(yīng)用中直接訪問(wèn) HTTP 資源的編程人員來(lái)說(shuō), Apache HttpClient 是一個(gè)非常好的工具包。 JSON JSON 簡(jiǎn)介 JSON 全稱(chēng)為 JavaScript Object Notation 是一種輕量級(jí)的數(shù)據(jù)交換格式。它是基于JavaScrip 的一個(gè)子集。 JSON 采用的是完全獨(dú)立于語(yǔ)言的文本格式,使 JSON 成為理想的數(shù)據(jù)交換語(yǔ)言。具有易于閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成等優(yōu)點(diǎn)。 JSON 結(jié)構(gòu)有兩種結(jié)構(gòu), JSON 簡(jiǎn)單說(shuō)就是 JavaScript 中的對(duì)象和數(shù)組,所以這兩種結(jié)構(gòu)就是對(duì)象和數(shù)組兩種結(jié)構(gòu),通過(guò)這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu): ( 1)對(duì)象:對(duì)象在 JS 中表示為“ {}”括起來(lái)的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key: value, key:value,?? }的鍵值對(duì)的結(jié)構(gòu),在面向?qū)ο蟮恼Z(yǔ)言中, key 為對(duì)象的屬性, value 為對(duì)應(yīng)的屬性值,所以很容易理解,取值方法為“對(duì)象 .key”獲取屬性值,這個(gè)屬性值的類(lèi)型可以是數(shù)字、字符串、數(shù)組、對(duì)象幾種。 ( 2)數(shù)組:數(shù)組在 JS 中是中括號(hào)“ []”括起來(lái)的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為: [java,javascript, vb,?? ],取值方式和所有語(yǔ)言中一樣,使用索引獲取,字段值的類(lèi)型可以是數(shù)字、字符串、數(shù)組、對(duì)象幾種。 蘭州交通大學(xué)畢業(yè)設(shè)計(jì)(論文) 14 JSON 與 XML 的比較 XML 擁有跨平臺(tái)、跨語(yǔ)言的優(yōu)勢(shì),然而,除非應(yīng)用于 Web Service,否則,在普通的 Web 應(yīng)用中, XML 的解析是復(fù)雜的,無(wú)論是服務(wù)器端生成或處理 XML,還是客戶(hù)端用 JavaScript 解析 XML,都常常導(dǎo)致復(fù)雜的代碼,極大地降低了開(kāi)發(fā)效率。實(shí)際上,對(duì)于大多數(shù) Web 應(yīng)用來(lái)說(shuō),根本不需要復(fù)雜的 XML 來(lái)傳輸數(shù)據(jù), XML 的擴(kuò)展性很少具有優(yōu)勢(shì),許多 AJAX 應(yīng)用甚至直接返回 HTML 片段來(lái)構(gòu)建動(dòng)態(tài) Web 頁(yè)面。和返回XML 并解析它相比,返回 HTML 片段大大降低了系統(tǒng)的復(fù)雜性,但同時(shí) 缺少了一定的靈活性?,F(xiàn)在, JSON 為 Web 應(yīng)用開(kāi)發(fā)者提供了另一種數(shù)據(jù)交換格式。 JSON 數(shù)據(jù)格式的優(yōu)點(diǎn): ( 1)可讀性: JSON 和 XML 的可讀性都比較好, JSON 是簡(jiǎn)易的語(yǔ)法, XML 是規(guī)范的標(biāo)簽形式。 ( 2)可擴(kuò)展性: XML 天生有很好的擴(kuò)展性, JSON 當(dāng)然也有,沒(méi)有什么是 XML可以擴(kuò)展而 JSON 卻不能擴(kuò)展的。不過(guò) JSON 在 Javascript 主場(chǎng)作戰(zhàn),可以存儲(chǔ) Javascript復(fù)合對(duì)象,有著 XML 不可比擬的優(yōu)勢(shì)。 ( 3)編碼難度: XML 有豐富的 編碼工具 ,比如 Dom4j、 JDom 等, JSON 也有提供的工具,如 、 且方便易用。 JSON 通過(guò)文檔模型解析,也就是通過(guò)父標(biāo)簽索引出一組標(biāo)記。例如:(“ tagName” ),但是這樣是要在預(yù)先知道文檔結(jié)構(gòu)的情況下使用,無(wú)法進(jìn)行通用的封裝。另外一種方法是遍歷節(jié)點(diǎn)( document)以及子節(jié)點(diǎn)( childNodes)。這個(gè)可以通過(guò) 遞歸 來(lái)實(shí)現(xiàn),不過(guò)解析出來(lái)的數(shù)據(jù) 仍舊是形式各異,往往也不能滿(mǎn)足預(yù)先的要求。凡是這樣可擴(kuò)展的結(jié)構(gòu)數(shù)據(jù)解析起來(lái)一定都很困難。 JSON 也同樣如此。如果預(yù)先知道 JSON 結(jié)構(gòu)的情況下,使用 JSON 進(jìn)行數(shù)據(jù)傳遞,可以寫(xiě)出很實(shí)用美觀可讀性強(qiáng)的代碼。以上是在 Javascript 中僅對(duì)于數(shù)據(jù)傳遞的 XML 與 JSON 的解析。 JSON 的優(yōu)勢(shì)要遠(yuǎn)遠(yuǎn)超過(guò) XML。 除此之外, JSON 和 XML 還有另外一個(gè)很大的區(qū)別在于有效數(shù)據(jù)率。 JSON 作為數(shù)據(jù)包格式傳輸?shù)臅r(shí)候具有更高 的效率,這是因?yàn)?JSON 不像 XML 那樣需要有嚴(yán)格的閉合標(biāo)簽,這就讓有效數(shù)據(jù)量與總數(shù)據(jù)包比大大提升,從而減少同等數(shù)據(jù)流量的情況下,網(wǎng)絡(luò)的傳輸壓力。 因此,考慮到 JSON 的眾多優(yōu)勢(shì),在 Android 中使用 JSON 可以大大降低流量使用,蘭州交通大學(xué)畢業(yè)設(shè)計(jì)(論文) 15 選用 JSON 數(shù)據(jù)格式,在后臺(tái)應(yīng)用中可以直接使用 Strutsjson 插件包,自動(dòng)將對(duì)象數(shù)據(jù)封裝成 JSON 格式數(shù)據(jù),高效地傳送該數(shù)據(jù)至 Android 客戶(hù)端, Android 客戶(hù)端應(yīng)用使用集成好的 工具,解析 JSON 格式的數(shù)據(jù),然后給用戶(hù)顯示相應(yīng)的信息。 JSON 解析 Android 的 JSON 解析部分都在包 下,在該應(yīng)用中主要使用了 2 個(gè)類(lèi): ( 1) JSONObject: JSON 對(duì)象,其中只包含鍵值( Key/Value)對(duì)??梢允褂?toString()方法輸出完整的 JSON 格式字符串。調(diào)用的響應(yīng)體現(xiàn)為一個(gè)標(biāo)準(zhǔn)的字符串(例如:{“ JSON”:“ HelloWorld” },最外被大括號(hào)包裹,其中的 Key 和 Value 被冒號(hào)“:”分隔)。例如:初始 化一個(gè) JSONObject 實(shí)例,引用內(nèi)部的 put 方法添加數(shù)值 new JSONObject() .put((“ JSON”),“ HelloWorld”)。 Value 的類(lèi)型包括: Boolean、 JSONArray、 JSONObject、Number( Integer, Dobule, Float)、 String 或者默認(rèn)值 object。獲取JSONObject 對(duì)象中的值是根據(jù)值的類(lèi)型,通過(guò) getInt、 getString 等方法獲得相應(yīng)的值。 ( 2) JSONArray:它代表一組有序的數(shù)值。同樣使用 toString()方法輸出完整的 JSON格式字符串。其形式是用方括號(hào)包裹,數(shù)值以逗號(hào)”,”分隔(例如: [value1, value2,value3])。這個(gè)類(lèi)的內(nèi)部同樣具有查詢(xún)行為, get 和 opt 兩個(gè)方法都可以通過(guò) index 索引返回指定的數(shù)值, put 方法用來(lái)添加或者替換數(shù)值。同樣這個(gè)類(lèi)的 value 類(lèi)型可以包括:Boolean、 JSONArray、 JSONObject、 Number、 String 或者默認(rèn)值 object。 Android 會(huì)話(huà) 保持 瀏覽器和 web 服務(wù)器是之間的會(huì)話(huà)即 session,是通過(guò) web 服務(wù)器產(chǎn)生的 sessionId來(lái)唯一標(biāo)識(shí)的。 sessionId 通過(guò) cookie 來(lái)傳遞的,瀏覽器的每次數(shù)據(jù)請(qǐng)求保持 sessionId是同一個(gè)不變的,這樣就達(dá)到了會(huì)話(huà)保持的目的。會(huì)話(huà)保持的 sessonId 唯一標(biāo)識(shí)了用戶(hù)的登錄操作,達(dá)到驗(yàn)證用戶(hù)是否登錄的目的??蛻?hù)端對(duì) sessionId 的處理方式有 2 種,在瀏覽器中,會(huì)話(huà)保持的工作都是由瀏覽器默認(rèn)完成的。而 Android 客戶(hù)端并沒(méi)有默認(rèn)完成瀏覽器的會(huì)話(huà)保持的工作,需要使用程序代碼來(lái)完成。 ( 1)客戶(hù) 端用 cookie 保存了 sessionId 客戶(hù)端用 cookie 保存了 sessionId,當(dāng)我們請(qǐng)求服務(wù)器的時(shí)候,會(huì)把這個(gè) sessionId一起發(fā)給服務(wù)器,服務(wù)器會(huì)到內(nèi)存中搜索對(duì)應(yīng)的 sessionId,如果找到了對(duì)應(yīng)的 sessionId,說(shuō)明我們處于登錄狀態(tài),有相應(yīng)的權(quán)限。如果沒(méi)有找到對(duì)應(yīng)的 sessionId,這說(shuō)明要么是我們把客戶(hù)端關(guān)閉了,要么 session 超時(shí)了, session 被服務(wù)器清除了,則服務(wù)器會(huì)給你蘭州交通大學(xué)畢業(yè)設(shè)計(jì)(論文) 16 分配一個(gè)新的 sessionId。在沒(méi)有把客戶(hù)端關(guān)掉的時(shí)候,這個(gè) sessionId 會(huì)一直保存在客戶(hù)端 中,每次請(qǐng)求的時(shí)候都會(huì)把這個(gè) sessionId 提交到服務(wù)器,所以服務(wù)器認(rèn)為我們是登錄的。當(dāng)然,如果太長(zhǎng)時(shí)間沒(méi)有請(qǐng)求服務(wù)器,服務(wù)器會(huì)認(rèn)為我們已經(jīng)所以把客戶(hù)端關(guān)掉了,這個(gè)時(shí)候服務(wù)器會(huì)把該 sessionId 從內(nèi)存中清除掉,這個(gè)時(shí)候如果我們?cè)偃フ?qǐng)求服務(wù)器,sessionId 已經(jīng)不存在了,所以服務(wù)器并沒(méi)有在內(nèi)存中找到對(duì)應(yīng)的 sessionId,因此會(huì)再產(chǎn)生一個(gè)新的 sessionId,這個(gè)時(shí)候一般我們又要再登錄一次。以上過(guò)程中的客戶(hù)端是瀏覽器的處理方式,瀏覽器負(fù)責(zé)會(huì)話(huà)保持的工作。 ( 2)客戶(hù)端沒(méi)有用 cookie 保存 sessionId 當(dāng)客戶(hù)端請(qǐng)求服務(wù)器時(shí),服務(wù)器會(huì)產(chǎn)生一個(gè) sessionId 并通過(guò)響應(yīng)請(qǐng)求返回給客戶(hù)端,如果客戶(hù)端沒(méi)有用 cookie 保存 sessionId,這個(gè)時(shí)候如果我們請(qǐng)求服務(wù)器,因?yàn)闆](méi)有提交 sessionId,服務(wù)器會(huì)認(rèn)為你是一個(gè)全新的請(qǐng)求,服務(wù)器會(huì)給你分配一個(gè)新的sessionId,同樣會(huì)認(rèn)定這是一個(gè)新的用戶(hù)請(qǐng)求。這樣就沒(méi)有完成會(huì)話(huà)保持的工作。而在Android 應(yīng)用中要實(shí)現(xiàn)會(huì)話(huà)保持,就必須在程序中加入相應(yīng)的處理代碼,做法是在 HTTP協(xié)議第一次數(shù)據(jù)請(qǐng)求獲得的響應(yīng)時(shí)就從 header 里頭得到 sessionId 的值并保存在一個(gè)靜態(tài)變量中,然后在第二次請(qǐng)求數(shù)據(jù)的時(shí)候要將這個(gè) sessionId 一并放在 cookie 中發(fā)給服務(wù)器,服務(wù)器則是通過(guò)這個(gè) sessionId 來(lái)識(shí)別究竟是哪個(gè)客戶(hù)端在請(qǐng)求數(shù)據(jù),這樣就唯一標(biāo)識(shí)了 Android 客戶(hù)端用戶(hù)的登錄操作,達(dá)到驗(yàn)證用戶(hù)登錄的目的。在 Java 中這個(gè)sessionId 的名字叫做 JSESSIONID。 XMPP 與 Android 消息推送 XMPP 協(xié)議介紹 XMPP( Extensible Messaging and Presence Protocol,可擴(kuò)展消息處 理現(xiàn)場(chǎng)協(xié)議)的前身是 Jabber 項(xiàng)目,是一種以 XML 為基礎(chǔ)的開(kāi)放式即時(shí)通訊協(xié)議。 XMPP 因?yàn)楸?Google Talk 和網(wǎng)易泡泡應(yīng)用而被廣大網(wǎng)絡(luò)用戶(hù)所接觸。 XMPP 的關(guān)鍵特色是,分散式的即時(shí)通訊系統(tǒng),以及使用 XML 串流。 XMPP 目前被 IETF 國(guó)際標(biāo)準(zhǔn)組織完成了標(biāo)準(zhǔn)化工作。 XMPP 是基于可擴(kuò)展標(biāo)記語(yǔ)言( XML)的協(xié)議,它用于即時(shí)消息( IM)以及在線現(xiàn)場(chǎng)探測(cè)。它在促進(jìn)服務(wù)器之間的準(zhǔn)即時(shí)操作。這個(gè)協(xié)議可能最終允許因特網(wǎng)用戶(hù)向因特網(wǎng)上的其他任何人發(fā)送即時(shí)消息,即使其操作系統(tǒng)和瀏覽器不同。 蘭州交通大學(xué)畢業(yè)設(shè)計(jì)(論文) 17 XMPP 服務(wù)器端與客戶(hù)端 XMPP 是一個(gè)典型的 C/S 架構(gòu),而不是像大多數(shù)即時(shí)通訊軟件一樣,使用 P2P 客戶(hù)端到客戶(hù)端的架構(gòu),也就是說(shuō)在大多數(shù)情況下,當(dāng)兩個(gè)客戶(hù)端進(jìn)行通訊時(shí),他們的消息都是通過(guò)服務(wù)器傳遞的(也有例外,例如在兩個(gè)客戶(hù) 端傳輸文件時(shí))。采用這種架構(gòu)主要是為了簡(jiǎn)化客戶(hù)端,將大多數(shù)工作放在服務(wù)器端進(jìn)行,這樣,客戶(hù)端的工作就比較簡(jiǎn)單,而且,當(dāng)增加功能時(shí),多數(shù)是在服務(wù)器端進(jìn)行。 XMPP 中定義了三個(gè)角色, XMPP客戶(hù)端, XMPP 服務(wù)器、網(wǎng)關(guān)。通信能夠在這三者的任意兩個(gè)之間雙向發(fā)生。服務(wù)器同時(shí)承擔(dān)了客戶(hù)端信息記錄、連接管理和信息的路由功能。網(wǎng)關(guān)承擔(dān)著與異構(gòu)即時(shí)通信系統(tǒng)的互聯(lián)互通,異構(gòu)系統(tǒng)可以包括 SMS(短信)、 MSN、 ICQ 等.基本的網(wǎng)絡(luò)形式是單客戶(hù)端通過(guò) TCP/IP 連接到單服務(wù)器,然后在之上傳輸 XML。 XMPP 系統(tǒng)的一個(gè)設(shè)計(jì)標(biāo)準(zhǔn)是必須支持簡(jiǎn)單的客戶(hù)端。事實(shí)上, XMPP 系統(tǒng)架構(gòu)對(duì)客戶(hù)端只有很少的幾個(gè)限制。一個(gè) XMPP 客戶(hù)端必須支持的功能有通過(guò) TCP 套接字與XMPP 服務(wù)器進(jìn)行通信、解析組織好的 XML 信息包和理解消息數(shù)據(jù)類(lèi)型。 XMPP 將復(fù)雜性從客戶(hù)端轉(zhuǎn)移到服務(wù)器端。這使得客戶(hù)端編寫(xiě)變得非常容易,更新系統(tǒng)功能也同樣變得容易。 XMPP 客戶(hù)端與服務(wù)端通過(guò) XML 在 TCP 套接字的 5222 端口進(jìn)行通信,而不需要客戶(hù)端之間直接進(jìn)行通信。 XMPP 開(kāi)源服務(wù)器一般被設(shè)計(jì)成模塊化,由各個(gè)不同的代碼包構(gòu)成,這些代碼包分別處理 Session 管理、用戶(hù)和服務(wù)器之間的通信、服務(wù)器之間的通信、 DNS( Domain Name System)轉(zhuǎn)換、存儲(chǔ)用戶(hù)的個(gè)人信息和朋友名單、保留用戶(hù)在下線時(shí)收到的信息、用戶(hù)注冊(cè)、用戶(hù)的身份和權(quán)限認(rèn)證、根據(jù)用戶(hù)的要求過(guò)濾信息和系統(tǒng)記錄等。另外,服務(wù)器可以通過(guò)附加服務(wù)來(lái)進(jìn)行擴(kuò)展,如完整的安全策略,允許服務(wù)器組件的連接或客戶(hù)端選擇,通向其他消息系統(tǒng)的網(wǎng)關(guān)。 建立在 TCP 協(xié)議之上的 XMPP 協(xié)議,不僅可提供可這種持久連接的功能,能實(shí)現(xiàn)服務(wù)器和客戶(hù)機(jī)的雙工通信,還能不依賴(lài)與系統(tǒng)版本和 Google 服務(wù)器的限制,提供了比較好的解決方 案。 Android 消息推送 androidpn( Android push notification)是一個(gè)基于 XMPP 協(xié)議的 Java 開(kāi)源實(shí)現(xiàn),它包含了完整的客戶(hù)端和服務(wù)器端。該服務(wù)器端基本是在另外一個(gè)開(kāi)源工程 openfire 基礎(chǔ)上修改實(shí)現(xiàn)的。 androidpn 客戶(hù)端需要用到一個(gè)基于 Ja
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1