基于Android的儀器管理系統(tǒng)App設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁
基于Android的儀器管理系統(tǒng)App設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

編號: 畢業(yè)設(shè)計(jì)說明書題 目:基于Android的儀器管 理系統(tǒng)App設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院: 信息與通信學(xué)院 專 業(yè): 電子信息工程 學(xué)生姓名: 黃 暉 學(xué) 號: 1201120117 指導(dǎo)教師: 李曉歡 職 稱: 副教授 題目類型: 理論研究 實(shí)驗(yàn)研究 工程設(shè)計(jì) 工程技術(shù)研究 軟件開發(fā)2016 年 6 月 10 日第II 頁 共IV頁桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 摘 要隨著科研投入不斷增加,貴重儀器設(shè)備資源緊缺,無法滿足大量研究人員的需求。高校之間實(shí)驗(yàn)室資源分布不均勻,儀器重復(fù)購買的情況極為普遍。再加上儀器共享信息的渠道不通暢,管理方式和管理思想落后,從而導(dǎo)致了儀器設(shè)備利用率低下等問題日益突出。為了提高實(shí)驗(yàn)室儀器的使用效率,現(xiàn)本人受桂林市國創(chuàng)朝陽信息科技有限公司委托,開發(fā)一款基于Android的實(shí)驗(yàn)室儀器管理系統(tǒng)APP,在移動平臺實(shí)現(xiàn)對實(shí)驗(yàn)室儀器共享的管理。本課題的研究內(nèi)容為基于Android平臺的儀器管理系統(tǒng)設(shè)計(jì)與開發(fā),擬采用Java語言為基礎(chǔ)的Android Studio作為開發(fā)工具,以SDK作為開發(fā)環(huán)境。儀器管理的App設(shè)計(jì)利用了先進(jìn)的互聯(lián)網(wǎng)技術(shù)替代了傳統(tǒng)的管理方式,給實(shí)驗(yàn)室研究人員提供開放共享的管理、服務(wù)信息。同時(shí),為用戶查詢儀器的狀況、預(yù)約及使用儀器,為儀器的效益評價(jià)提供充分可靠的技術(shù)支持,從而提高實(shí)驗(yàn)室儀器的使用效率。鑒于使用過程中產(chǎn)生的數(shù)據(jù)量不會太多,考慮用第三方的服務(wù)器LeanCloud進(jìn)行存儲系統(tǒng)基礎(chǔ)信息。關(guān)鍵詞:資源緊缺;利用率低;Android;儀器管理;JavaAbstractWith the increasing investment in scientific research, Lack of equipment resources can not meet the needs of a large number of developers. Laboratory uneven distribution of resources between Universities, Situation is very common instrument repeat purchase. Instrument sharing information channels are not smooth, Management mode and management thinking behind, Which leads to the low utilization ratio of instrument and equipment. In order to improve efficiency in the use of laboratory equipment, Now, I entrusted by Guilin Guochuangchaoyang information technology co., LTD., Develop an Android-based laboratory instrument management system APP, laboratory instruments to achieve shared management in the mobile internet.The research content of this paper is the design and development of instrument management system based on Android platform. It intends to use Java language-based Android Studio as a development tool to SDK as a development environment. App management instrument design takes advantage of advanced Internet technology to replace the traditional management methods, laboratory researchers to provide open shared management, service information. At the same time, for the user to check the status of the instrument, make an appointment and use of equipment, to provide adequate and reliable technical support for the evaluation of the instrument, so as to improve the efficiency of the use of laboratory equipment. Given the amount of data generated during the use of the process will not be too much, consider using third party server LeanCloud for storage system based information.Keywords: Resource shortage; Inefficient; Android; Instrument Management; Java第IV 頁 共IV 頁桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 目 錄引言11 設(shè)計(jì)目的和意義21.1 項(xiàng)目背景21.2 Android的現(xiàn)狀21.3 系統(tǒng)設(shè)計(jì)意義32 Android系統(tǒng)和開發(fā)工具32.1 Android操作系統(tǒng)介紹32.1.1Android系統(tǒng)架構(gòu)42.1.2Android應(yīng)用程序組件52.2 開發(fā)工具Android Studio介紹63 系統(tǒng)分析73.1 功能需求分析73.2 數(shù)據(jù)庫需求分析83.3 開發(fā)環(huán)境需求分析84 系統(tǒng)的概要設(shè)計(jì)94.1 總體設(shè)計(jì)94.2 實(shí)體-聯(lián)系圖104.3 數(shù)據(jù)庫設(shè)計(jì)114.4 系統(tǒng)的設(shè)計(jì)原則145 系統(tǒng)實(shí)現(xiàn)145.1 Android客戶端邏輯結(jié)構(gòu)設(shè)計(jì)145.2 后臺系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)165.3用戶界面設(shè)計(jì)和功能實(shí)現(xiàn)175.4 后臺服務(wù)器的搭建216實(shí)驗(yàn)與驗(yàn)證246.1 用戶注冊模塊246.2 用戶登錄模塊246.3 主界面模塊256.3.1首頁模塊266.3.2中心資訊模塊316.3.3我的信息模塊327總結(jié)33謝 辭35參考文獻(xiàn)36附 錄37第 62 頁 共 55 頁桂林電子科技大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 引言隨著科研投入的不斷增加,科研院所購置了大量儀器,但是大型、貴重儀器設(shè)備資源相對于大量的研究人員來說仍然緊缺。高校之間、高校學(xué)院之間以及各實(shí)驗(yàn)室之間資源分布難以平衡,而且儀器設(shè)備重復(fù)購買情況極為普遍。制約各高??蒲邪l(fā)展的瓶頸不僅是大型貴重儀器和專項(xiàng)設(shè)備的缺乏,而更常見于儀器共享信息渠道不暢,儀器設(shè)備利用率低下甚至長期閑置,利用率低下與需求旺盛矛盾激化。因此應(yīng)當(dāng)采取積極的手?jǐn)鄰亩龠M(jìn)貴重儀器設(shè)備資源的共享,成為了解決儀器設(shè)備利用率不平衡,提高儀器設(shè)備使用效益的最佳途徑。二十一世紀(jì)的今天,科技正在飛速地進(jìn)步,發(fā)展速度已經(jīng)遠(yuǎn)遠(yuǎn)的超出了人們的想象,我們已經(jīng)步入了互聯(lián)網(wǎng)時(shí)代,智能手機(jī)也已經(jīng)普及到人們的日常生活中,它的應(yīng)用也越來越廣泛。在這個(gè)時(shí)代的背景下,我們可以嘗試通過開發(fā)移動設(shè)備的應(yīng)用程序,并結(jié)合互聯(lián)網(wǎng)的方式,來解決儀器資源分配不均勻,利用率低下的問題。現(xiàn)在市面上的移動設(shè)備多種多樣,它們搭載的操作系統(tǒng)也不同。而常見的移動設(shè)備操作系統(tǒng)有:微軟公司推出的Windows Phones操作系統(tǒng)、塞班公司推出的Symbian操作系統(tǒng)、Google公司推出的Android操作系統(tǒng)、蘋果公司推出的IOS操作系統(tǒng)等等??紤]到我們所要開發(fā)的應(yīng)用程序能最大程度的提供給盡可能多的用戶使用,那么我們有必要選擇使用目前市場占有率最高、開放性最強(qiáng)的一款操作系統(tǒng)來對這個(gè)應(yīng)用進(jìn)行開發(fā)。自從Google推出Android系統(tǒng)以來,就存在著很明顯的市場優(yōu)勢,市場占有份額也在飛速擴(kuò)大。Android操作系統(tǒng)目前全球范圍內(nèi)正處與蒸蒸日上的開拓階段,正所謂是如日中天,如魚得水。據(jù)目前最新的市場調(diào)查報(bào)告顯示,搭載著Android操作系統(tǒng)的智能手機(jī)以超過80%的銷售量占據(jù)全球手機(jī)銷售量的鰲頭,緊追其后的則是而名揚(yáng)四海、人人皆知的搭載IOS系統(tǒng)的蘋果手機(jī)。通過上述,我們已經(jīng)確定了Android系統(tǒng)在智能手機(jī)領(lǐng)域不可動搖的統(tǒng)治地位。又因Android系統(tǒng)具有很強(qiáng)的開發(fā)性,隨著全球許多的軟件開發(fā)者不斷開發(fā)Android操作系統(tǒng)各種應(yīng)用程序,可以確信有越來越多的消費(fèi)者會選擇購買搭載Android操作系統(tǒng)的手機(jī)或者平板電腦等終端設(shè)備。Android操作系統(tǒng)擁有開放的開發(fā)平臺,免費(fèi)而又繁多的應(yīng)用程序,華麗、新鮮的運(yùn)行界面,簡單、親切的用戶體驗(yàn)而備受消費(fèi)者的喜愛。所以,綜合上述的各方面的因素,我們選擇基于Android系統(tǒng)來對設(shè)計(jì)與開發(fā)出一款用于儀器管理平臺的應(yīng)用程序,為用戶提供開放共享的管理、服務(wù)信息;同時(shí),為用戶查詢、預(yù)約及使用,為儀器的效益評價(jià)提供充分的技術(shù)支持,便于用戶的使用和管理,從而提高儀器的使用效率。1 設(shè)計(jì)目的和意義1.1 項(xiàng)目背景隨著科研投入的不斷增加,科研院所購置了大量儀器,但是大型、貴重儀器設(shè)備資源相對于大量的研究人員來說仍然緊缺。高校之間、高校學(xué)院之間以及各實(shí)驗(yàn)室之間資源分布難以平衡,而且儀器設(shè)備重復(fù)購買情況普遍。制約各高校科研發(fā)展的瓶頸不僅是大型貴重儀器和專項(xiàng)設(shè)備的缺乏,而更常見于儀器共享信息渠道不暢,儀器設(shè)備利用率低下甚至長期閑置,利用率低下與需求旺盛矛盾激化。因此積極推進(jìn)貴重儀器設(shè)備資源共享,成為解決這種不平衡,提高儀器設(shè)備效益的最有效途徑1。2014年10月27日,習(xí)近平總書記主持召開中央全面深化改革領(lǐng)導(dǎo)小組會議,審議通過關(guān)于國家重大科研基礎(chǔ)設(shè)施和大型科研儀器向社會開放的意見,明確指出需通過深化改革和制度創(chuàng)新,把公共財(cái)產(chǎn)投資形成國家重大科研基礎(chǔ)設(shè)施和大型科研儀器向社會開放,讓它們更好的為科技創(chuàng)新服務(wù)、為社會服務(wù)。2同時(shí)教育部也對“211工程”、“985工程”等儀器共享管理的專項(xiàng)建設(shè)要求,納入到國家“十一五”建設(shè)項(xiàng)目“高等學(xué)校儀器設(shè)備和優(yōu)質(zhì)資源共享系統(tǒng)”(CERS)中。儀器共享固然可以提高儀器使用率,減少重復(fù)投資,但同時(shí),儀器使用人的復(fù)雜性和流動性給儀器安全造成隱患,提高了實(shí)驗(yàn)室的儀器管理難度和管理成本;另外,設(shè)備資源的緊缺也對儀器預(yù)約模式、計(jì)費(fèi)收費(fèi)結(jié)算模式提出要求。以往高校及科研院所實(shí)驗(yàn)平臺在管理中出現(xiàn)的問題:(1)儀器共享信息渠道不夠通暢:不少儀器使用率不高、有充分的共享?xiàng)l件,但許多師生卻得不到相關(guān)信息,不知該去哪里尋找自己要用的儀器設(shè)備;儀器預(yù)約靠書面錄入,經(jīng)常出現(xiàn)信息交換不及時(shí)導(dǎo)致實(shí)驗(yàn)無法進(jìn)行1。(2)儀器管理方式落后、運(yùn)行成本高、代價(jià)大:大多數(shù)儀器單機(jī)工作,缺少人機(jī)對話能力;許多儀器分散放置,需要投入較多管理人力,實(shí)施共享的難度很大、代價(jià)很高;儀器大多使用手工管理,增加了工作量,工作效率低1。(3)儀器管理思想落后,管理機(jī)制沒有理順,缺乏必要監(jiān)控手段:由于儀器自身無法判斷使用者的合法性,導(dǎo)致某些使用者可能在缺乏監(jiān)管的情況下任意使用儀器,甚至導(dǎo)致設(shè)備的損壞卻無從查證1。1.2 Android的現(xiàn)狀目前基于Android操作系統(tǒng)的應(yīng)用程序處于全新的飛速發(fā)展階段。如今,全世界各大IT廠商都擁有自己的Android應(yīng)用軟件研發(fā)團(tuán)隊(duì),開發(fā)屬于自己的Android應(yīng)用軟件;全世界大部分的手機(jī)生產(chǎn)廠商也都紛紛意識到了Android系統(tǒng)的優(yōu)勢,如國外的三星、摩托羅拉、LG、索尼、夏普等公司;國內(nèi)的聯(lián)想、小米、魅族、中興、華為、OPPO等公司,前赴后繼地推出了搭載Android操作系統(tǒng)的手機(jī),以便在競爭極為激烈市場上占據(jù)一席之地;就連許多的家居廠商和汽車電子廠商也都表示對Android產(chǎn)生濃厚的興趣,希望憑借它來打破市場的平衡。相反,十年前如日中天,連續(xù)多年獨(dú)霸全球手機(jī)銷量排行榜榜首的手機(jī)品牌廠商諾基亞,因?yàn)楣滩阶苑猓豁槕?yīng)時(shí)代的改變,堅(jiān)持選擇使用自己的塞班操作系統(tǒng),而遭到了市場的淘汰。由此可見Android對這個(gè)互聯(lián)網(wǎng)時(shí)代的影響力有多么強(qiáng)大。因?yàn)锳ndroid系統(tǒng)的出現(xiàn),給各大知名企業(yè)帶來了一種良性的競爭,這大大的提高了我們的生活質(zhì)量,讓我們能很好的享受科技給我們生活帶來的進(jìn)步。Android應(yīng)用程序的開發(fā)技術(shù)并不是獨(dú)立的,它需要開發(fā)者在掌握Android三層框架的同時(shí),還必須融合Java語言和C/C+語言的編程、Android系統(tǒng)的通信機(jī)制、各種核心服務(wù)框架的關(guān)鍵機(jī)制、UI界面設(shè)計(jì)和云服務(wù)框架與其的API等技術(shù)。而且Android的操作系統(tǒng)絕對不局限于在手機(jī)上應(yīng)用,近年以來已經(jīng)快速的拓展到了相關(guān)的電子領(lǐng)域,例如平板電腦、車載電腦、智能手表、智能電視機(jī)、智能學(xué)習(xí)機(jī)等。Android操作系統(tǒng)憑借著它強(qiáng)大的性能,優(yōu)秀的表現(xiàn)已經(jīng)滲透了全球市場。它逐漸以移動設(shè)備操作系統(tǒng)的身份,逐漸轉(zhuǎn)變成為一個(gè)消費(fèi)電子設(shè)備操作系統(tǒng)。它的用戶幾乎遍布全球每一個(gè)家庭,前景也是一片光明。1.3 系統(tǒng)設(shè)計(jì)意義本課題通過綜合了上述兩個(gè)背景為出發(fā)點(diǎn),要求設(shè)計(jì)一款基于Android平臺的儀器管理系統(tǒng)。通過使用這個(gè)儀器管理系統(tǒng),來解決高校實(shí)驗(yàn)室資源分布不均勻,儀器重復(fù)購買情況普遍,儀器共享信息的渠道不通暢等一系列因素而導(dǎo)致的儀器利用率低下的問題,同時(shí)也給高校研究人員提供一個(gè)獲取儀器信息的渠道。該儀器管理系統(tǒng)可以把高校實(shí)驗(yàn)室中各種儀器設(shè)備的信息和狀態(tài)展示提供到一個(gè)平臺上展示出來,并且給研究人員共享了儀器設(shè)備的預(yù)約使用,用戶們只需要擁有一部Android智能手機(jī)就可以實(shí)時(shí)了解實(shí)驗(yàn)室儀器的狀態(tài),而不必浪費(fèi)時(shí)間到實(shí)驗(yàn)室排隊(duì)等待使用儀器,這不但節(jié)省了研究人員寶貴的時(shí)間,也很方便實(shí)驗(yàn)室管理人員對儀器使用的管理??偠灾?,基于Android的儀器管理系統(tǒng)是根據(jù)高校實(shí)驗(yàn)室的需求孕育而生的。在這儀器資源緊缺、儀器資源分配不均勻、儀器利用率低下且儀器共享信息渠道不通暢的環(huán)境下,為了提高儀器的使用效率、節(jié)約研究人員的時(shí)間、方便實(shí)驗(yàn)室管理員對儀器的管理,從而實(shí)現(xiàn)利益最大化的目的。2 Android系統(tǒng)和開發(fā)工具2.1 Android操作系統(tǒng)介紹Android是一個(gè)自由的、開放源代碼的操作系統(tǒng),本義指“機(jī)器人”。該操作系統(tǒng)基于Linux內(nèi)核,由著名的美國Google公司大力推出,并對它進(jìn)行領(lǐng)導(dǎo)及開發(fā)。該操作系統(tǒng)的身影在日常生活中隨處可見,目前主要提供給移動終端設(shè)備使用,例如在我們的日常生活必不可少的智能手機(jī)、智能手表和平板電腦等很多都搭載該系統(tǒng)。Android目前還尚未擁有統(tǒng)一的中文名稱,在中國大陸地區(qū)大部分人喜歡把該操作系統(tǒng)稱呼為“安卓”或“安致”。2.1.1Android系統(tǒng)架構(gòu)絕大多數(shù)操作系統(tǒng)如Windows、塞班和IOS等都使用了分層的架構(gòu),而Android的操作系統(tǒng)也不例外。從Android官方提供的架構(gòu)圖上可以看出,它的架構(gòu)可由四個(gè)層來劃分:第一層是應(yīng)用程序?qū)?,第二層是?yīng)用程序框架層,第三層是系統(tǒng)運(yùn)行庫層,最后一層則是Linux內(nèi)核層。這四層中為開發(fā)者提供一些基礎(chǔ)功能的是底層Linux內(nèi)核;其它三層則是由開發(fā)者自行開發(fā),開發(fā)過程中大部分程序以Java語言進(jìn)行編寫。其基本架構(gòu)如圖2-1所示:圖2-1 Android系統(tǒng)架構(gòu)圖(1)應(yīng)用程序?qū)討?yīng)用程序?qū)邮茿ndroid的頂層,每個(gè)應(yīng)用程序至少有一個(gè)活動,一般都是由多個(gè)活動組成,可以在虛擬機(jī)上運(yùn)行?;顒涌梢栽诓煌臓顟B(tài)之間任意的切換,這跟電腦系統(tǒng)上的進(jìn)程非常相似,但活動和進(jìn)程起來又更為快捷靈活。值得一提的是該層中所有的代碼都是使用JAVA語言編寫的。(2)應(yīng)用程序框架層應(yīng)用程序框架層是Google核心應(yīng)用所使用的API框架。在遵循框架開發(fā)原則的前提下,開發(fā)者同樣能在開發(fā)自己的應(yīng)用時(shí)使用應(yīng)用程序框架。這對開發(fā)者能快速的開發(fā)應(yīng)用程序有很大的幫助,因?yàn)榭梢院侠砝眠@些框架從而簡化程序開發(fā)的構(gòu)架設(shè)計(jì),并且也讓用戶替換程序組件帶來幫助。其中核心組件包括:視圖、內(nèi)容提供器、通知管理器、活動管理器、資源管理器等。(3)系統(tǒng)運(yùn)行庫層在這個(gè)層中又主要分為程序庫和Android運(yùn)行庫兩大部分。在程序庫中,Android系統(tǒng)會給不同的組件提供一些不同的庫來使用,其中比較核心的庫包括有:系統(tǒng)C庫、媒體庫、SGL、Surface Manager、LibWebCore、3D libraries等,這些庫一般都是以C/C+的庫。Android運(yùn)行庫包含一個(gè)核心庫,這個(gè)核心庫提供了很多核心技術(shù)的功能,其中包括JAVA編程語言核心庫功能。每一個(gè)應(yīng)用程序都運(yùn)行在在各自的進(jìn)程中,在運(yùn)行的過程中各自都會擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例3。(4)Linux 內(nèi)核層Linux內(nèi)核層給開發(fā)者提供一些基礎(chǔ)功能,核心服務(wù)都依賴于Linux 2.6內(nèi)核,其中Android的核心服務(wù)功能有內(nèi)存的管理服務(wù)、系統(tǒng)的安全性服務(wù)、網(wǎng)絡(luò)的協(xié)議棧服務(wù)、進(jìn)程的管理服務(wù)和驅(qū)動模型服務(wù)等。2.1.2Android應(yīng)用程序組件Android 應(yīng)用程序中最突出的一個(gè)特點(diǎn)就是每個(gè)應(yīng)用都由若干組件來構(gòu)成。而且只要在代碼中設(shè)置相應(yīng)權(quán)限,各個(gè)應(yīng)用程序的組件還可以相互的調(diào)用。例如:假設(shè)現(xiàn)在我們需要編寫一個(gè)內(nèi)嵌于網(wǎng)頁的程序,那么我們并不需要親自來編寫一個(gè)瀏覽器,而是我們可以直接調(diào)用系統(tǒng)中自帶的Chrome Lite瀏覽器組件。又假設(shè)我們編寫了兩個(gè)應(yīng)用程序,其中一個(gè)程序中有列表顯示圖標(biāo)的組件,那么我們在另一個(gè)應(yīng)用程序中就可以通過調(diào)用的方法來使用該組件,而不需要重新再編寫該功能。也就是說,不同于我們平常編寫的程序,Android的應(yīng)用程序的入口不是單一的,而是可以從代碼的不同位置來啟動。這就要依靠組件來實(shí)現(xiàn)。主要的組件有:(1) 活動(Activities)組件任何一個(gè)應(yīng)用程序的界面都是通過Activities表現(xiàn)出來的。Activities界面可以由圖片、文字、列表等任意一種形式表現(xiàn)出來,也可以是兩種或多種不同的形式組合而成的。一個(gè)應(yīng)用程序一般由很多個(gè)Activity界面組成。例如一個(gè)通訊錄的應(yīng)用程序,首先要有一個(gè)顯示通訊錄名單列表的Activity界面,至少還要再有一個(gè)查看聯(lián)系人詳情的Activity界面,如果功能更完善的話還需要撥號、編輯聯(lián)系人等Activity界面。所有的活動(Activities)都是與用戶交互的,活動的展示方式通常為全屏,但也有可能為小窗口嵌入等方式展示。每個(gè)活動都會有一個(gè)窗口和它相對應(yīng)。整個(gè)屏幕一般都會被窗口默認(rèn)填滿,但那是只是默認(rèn)的情況,如果開發(fā)者對它進(jìn)行了修改那么也可能會以小窗口、懸浮窗口或者是額外的窗口的方式呈現(xiàn)。例如彈出式對話框,就是一種額外窗口的呈現(xiàn)方式,又例如當(dāng)用戶選擇一個(gè)特定按鈕時(shí),會以一個(gè)彈出窗口的方式給用戶顯示重要的信息。(2) 服務(wù)(Services)組件服務(wù)無期限地在后臺中無運(yùn)行。例如一個(gè)服務(wù)可能是在用戶在收聽電臺廣播的同時(shí),又可以去完成一些其它的事情,比如上網(wǎng)聊天;或者它可能正在網(wǎng)絡(luò)中下載東西,又或者同時(shí)去完成一些其它的活動(activities)需要的計(jì)算,而且服務(wù)沒有可視化的用戶界面。服務(wù)(services)跟活動(activities)還有其他組件一樣,在應(yīng)用程序的主線程中運(yùn)行。因此,它們會產(chǎn)生一些如廣播播放的耗時(shí)任務(wù),但是它們不會阻止和干擾其它組件或用戶界面。(3) 廣播接收者(Broadcast receivers)組件一個(gè)廣播接收者是這樣的一個(gè)組件:它不做任何事情,僅是接收廣播公告并會做出相應(yīng)的反應(yīng)。我們常見的廣播有:公告時(shí)區(qū)的改變、電量不足、已更換來電鈴聲、用戶改變了語言偏好等,而這一類的廣播來源都是源自于系統(tǒng)的代碼。當(dāng)然開發(fā)者開發(fā)的應(yīng)用程序同樣可以發(fā)起廣播。廣播接收者是一個(gè)去響應(yīng)收到信息的活動,它是沒有顯示的用戶界面的。最終廣播通知通過使用閃爍呼吸燈、播放提示鈴聲、振動設(shè)備等多種方式去提醒用戶從而獲得用戶的注意。例如:把一個(gè)特定的圖標(biāo)放在狀態(tài)欄上,用戶可以通過操作該圖標(biāo)來得到相關(guān)的通知信息,也是一種很典型很常見的廣播方法。(4) 內(nèi)容提供者(Content providers)組件一個(gè)應(yīng)用程序的指定數(shù)據(jù)集通過內(nèi)容提高者給其他應(yīng)用程序提供數(shù)據(jù)。這些數(shù)據(jù)可以文件系統(tǒng)的形式存儲、以數(shù)據(jù)庫的形式存儲又或者以其它任何合理的方式存儲。負(fù)責(zé)給應(yīng)用程序提供內(nèi)容的就是內(nèi)容提供者。它們將數(shù)據(jù)封裝起來,并通過使用ContentResolver接口給應(yīng)用程序提供數(shù)據(jù),ContentResolver接口是一個(gè)單個(gè)接口。如果不止一個(gè)應(yīng)用程序需要互相共享數(shù)據(jù),那么就要用到內(nèi)容提供者了。例如,通話記錄中的數(shù)據(jù)不需要被多個(gè)應(yīng)用程序同時(shí)使用,可以直接使用SQLiteDataBase方法,但是如果通話記錄中的數(shù)據(jù)需要被多個(gè)應(yīng)用程序同時(shí)使用,那么數(shù)據(jù)就必須存儲在一個(gè)內(nèi)容提供者中。2.2 開發(fā)工具Android Studio介紹2013年5月16日,美國Google公司在I/O大會上推出了一款全新的Android開發(fā)環(huán)境工具,并將它命名為Android Studio。這是一款非常使用的Android開發(fā)工具,利用這款全新的開發(fā)工具,可以讓開發(fā)者看到正在編寫的應(yīng)用程序呈現(xiàn)在不同大小尺寸的顯示器中的樣子,這樣更方便開發(fā)者去修改自己的應(yīng)用。Google還對這款新開發(fā)平臺的開發(fā)者控制臺上增加了優(yōu)化小貼士、階段性展示和應(yīng)用翻譯等五個(gè)全新的基礎(chǔ)功能,這對開發(fā)者來說一個(gè)很好且很大的改進(jìn)。而Google推出并公布這款開發(fā)工具的目的無非是為了方便全球的開發(fā)者基于Android系統(tǒng)的項(xiàng)目的開發(fā)。首先Android Studio解決了多分辨率的問題。全球范圍內(nèi)有數(shù)不勝數(shù)的手機(jī)、平板電腦等電子設(shè)備都搭載著Android的操作系統(tǒng),但這些設(shè)備都來自不同是廠商,它們的屏幕尺寸不一,分辨率也是各不相同,這款新的開發(fā)工具上,Google給開發(fā)者提供了多分辨率和多屏幕尺寸的選擇,讓開發(fā)者很好的掌握自己開發(fā)的應(yīng)用程序在這些不同的設(shè)備上所呈現(xiàn)出來的樣子。同時(shí)Android Studio還是一款可以適應(yīng)全球環(huán)境的開發(fā)工具,它支持翻譯功能,并為開發(fā)者提供了多國語言版本,但目前還沒有中文版本給開發(fā)者提供下載,這對我們中國開發(fā)者來說是比較遺憾的。比起上述的改變,這款開發(fā)工具最顯著的改變莫過于增加了Beta測試功能。因?yàn)橛辛诉@個(gè)功能可以讓開發(fā)者很方便快捷的試運(yùn)行開發(fā)的應(yīng)用程序。圖2-3 Android Studio開發(fā)界面3 系統(tǒng)分析3.1 功能需求分析該設(shè)計(jì)的實(shí)驗(yàn)室儀器管理系統(tǒng)功能主要分位客戶端功能和后臺管理功能兩大模塊。客戶端功能:(1)為用戶提供賬號的注冊功能,用戶點(diǎn)擊進(jìn)入注冊界面,在用戶名和密碼上填寫正確、合法的信息即可完成賬號的注冊,每一個(gè)賬號的用戶名都是獨(dú)立的;(2)用戶登錄功能,用戶注冊好賬號以后,在登錄界面輸入正確的登錄信息,如輸入的信息無誤,即可登錄客戶端;(3)儀器展示、新聞公告和規(guī)章制度的查看功能,用戶可點(diǎn)擊查看系統(tǒng)發(fā)布的相關(guān)信息;(4)儀器設(shè)備的預(yù)約功能,用戶可對想使用的儀器設(shè)備進(jìn)行提前的預(yù)約使用;(5)歷史記錄、使用狀況等信息的查看功能;(6)使用具有管理權(quán)限的賬號登錄客戶端,可對儀器的預(yù)約進(jìn)行審核。服務(wù)器后臺管理功能:管理員專用的賬號和管理平臺,提供管理員登錄、儀器信息管理、新聞公告和規(guī)章制度管理、注冊用戶管理等功能。(1)管理員登錄服務(wù)器管理平臺,可查看注冊用戶的基本信息、查看用戶預(yù)約儀器設(shè)備的基本信息;(2)管理員登錄服務(wù)器管理平臺,可管理儀器展示的基本信息,對服務(wù)器上展示儀器的數(shù)據(jù)庫內(nèi)容進(jìn)行添加、刪除、修改、查詢功能;(3)管理員登錄服務(wù)器管理平臺,可管理新聞公告和規(guī)章制度等信息,可對服務(wù)器上發(fā)布的新聞規(guī)章信息的數(shù)據(jù)庫內(nèi)容進(jìn)行添加、刪除、修改、查詢功能。3.2 數(shù)據(jù)庫需求分析基于以上功能需求分析中提出的各項(xiàng)功能需求,從而總結(jié)得出,在數(shù)據(jù)庫上需要建立用戶、儀器展示、預(yù)約、中心資訊這四張數(shù)據(jù)表。這四張表所包含的信息分別是: (1)用戶表:該表用來保存注冊用戶的各項(xiàng)信息,其中包含用戶名,用戶密碼,性別、手機(jī)號碼和頭像等基本的信息;(2)儀器展示表:該表為儀器展示功能提供相關(guān)的信息和數(shù)據(jù),其中包含儀器設(shè)備的名稱,儀器設(shè)備的儀器圖片,儀器設(shè)備的詳情等所應(yīng)具備的基本信息;(3)預(yù)約表:該表用來存儲預(yù)約者申請使用儀器設(shè)備的各項(xiàng)信息,其中包含預(yù)約開始和結(jié)束時(shí)間,預(yù)約用戶昵稱,預(yù)約儀器名稱,預(yù)約狀態(tài)等詳細(xì)信息;(4)中心資訊表:該表為新聞規(guī)章功能提供相關(guān)的信息和數(shù)據(jù),其中包含新聞標(biāo)題,新聞圖片,新聞詳情等基本信息。3.3 開發(fā)環(huán)境需求分析硬件類需求:(1)計(jì)算機(jī)一臺:運(yùn)行內(nèi)存2G或以上,CPU雙核或以上;(2)智能手機(jī)一臺:運(yùn)行內(nèi)存512M或以上,CPU雙核或以上;(3)其它。軟件類需求:(1)后臺服務(wù)器:LeanCloud服務(wù)器;(2)客戶端開發(fā)平臺:Android Studio 2.0;(3)客戶端開發(fā)語言包:Android SDK + JDK1.6;(4)計(jì)算機(jī)操作系統(tǒng):Windows XP操作系統(tǒng)或以上操作系統(tǒng);(5)手機(jī)操作系統(tǒng):Android操作系統(tǒng);(6)其它。開發(fā)者應(yīng)在有線或無線的寬帶網(wǎng)絡(luò)環(huán)境下,使用計(jì)算機(jī)進(jìn)行設(shè)計(jì)和編程、使用手機(jī)運(yùn)行調(diào)試的方法對應(yīng)用程序進(jìn)行的開發(fā)。4 系統(tǒng)的概要設(shè)計(jì)4.1 總體設(shè)計(jì)經(jīng)過分析系統(tǒng)的各項(xiàng)需求后,明確了該系統(tǒng)主要分為兩個(gè)端。分別是:前臺客戶端和后臺管理端。前臺客戶端主要是提供用戶的注冊、登錄、預(yù)約和相關(guān)信息的查看,后臺主要是管理員對儀器展示、儀器預(yù)約,新聞發(fā)布等各項(xiàng)信息的管理。對該系統(tǒng)的總體設(shè)計(jì)如圖4-1所示:客戶端基于Android的儀器管理APP數(shù)據(jù)交互和邏輯處理首 頁服務(wù)端我的信息用戶注冊中心資訊用戶登錄管理登錄預(yù)約處理信息發(fā)布儀器展示儀器預(yù)約預(yù)約結(jié)果歷史記錄頻率統(tǒng)計(jì)新聞公告規(guī)章制度個(gè)人信息軟件分享退 出開始時(shí)間結(jié)束時(shí)間選擇儀器個(gè)人頭像手機(jī)號碼用戶性別圖4-1 系統(tǒng)功能模塊圖客戶端的主要使用對象是普通用戶,分為用戶登錄,用戶注冊,主界面三大模塊。使用流程為:用戶注冊用戶登錄進(jìn)入主界面使用。而主界面中又分為首頁、中心資訊、我的信息三個(gè)板塊。首頁板塊主要提供給用戶對儀器進(jìn)行相關(guān)操作。首頁中各個(gè)模塊具體要完成的功能分別是:(1)儀器展示功能:提供給用戶查看實(shí)驗(yàn)室儀器的信息;(2)儀器預(yù)約:提供用戶選擇開始使用時(shí)間、結(jié)束使用時(shí)間和需要預(yù)約的儀器,使客戶能通過互聯(lián)網(wǎng)對實(shí)驗(yàn)室的儀器設(shè)備進(jìn)行預(yù)約;(3)預(yù)約結(jié)果:提供給申請儀器預(yù)約的用戶查看管理員對申請的答復(fù)狀況;(4)歷史記錄查詢:提供用戶對預(yù)約的歷史記錄進(jìn)行查詢;(5)頻率統(tǒng)計(jì):把各儀器預(yù)約使用的次數(shù)轉(zhuǎn)換成百分比的形式,顯示在界面中,直觀的顯示出各個(gè)儀器的使用效率。中心資訊板塊是幫助用戶了解實(shí)驗(yàn)室信息的一個(gè)很重要的渠道,實(shí)驗(yàn)室管理員通過它促進(jìn)貴重儀器設(shè)備資源的共享。它需要完成的功能:提供用戶查看實(shí)驗(yàn)室管理員發(fā)布的新聞通知、規(guī)章制度等信息,讓用戶隨時(shí)隨地了解掌握實(shí)驗(yàn)室的最新動態(tài)。我的信息板塊提供給用戶對個(gè)人的賬號進(jìn)行管理。主要的功能:(1)提供用戶上傳頭像;(2)提供用戶填寫手機(jī)號碼;(3)提供用戶修改性別。服務(wù)器端后臺管理模塊的主要使用對象是管理員,分為管理員登錄,預(yù)約信息管理,信息發(fā)布管理。它完成的功能有:(1)提供給管理員一個(gè)上傳儀器信息的平臺,方便管理員能夠很好發(fā)布實(shí)驗(yàn)室儀器的狀態(tài);(2)提供給管理員一個(gè)發(fā)布新聞公告、規(guī)章制度的平臺,方便管理員能夠第一時(shí)間發(fā)布實(shí)驗(yàn)室的最新動態(tài);(3)提供給管理員一個(gè)預(yù)約處理預(yù)約申請的平臺,方便管理員處理用戶對儀器設(shè)備使用的申請。4.2 實(shí)體-聯(lián)系圖系統(tǒng)管理員主要管理用戶,儀器展示列表,預(yù)約審核,新聞規(guī)章類型四個(gè)方面。用戶方面主要包含有用戶ID,用戶名、密碼、用戶手機(jī)號碼、用戶頭像等屬性;儀器展示主要包含儀器圖片,儀器名稱,儀器信息等屬性;儀器預(yù)約主要包含預(yù)約用戶名,預(yù)約狀態(tài),預(yù)約設(shè)備名稱、預(yù)約時(shí)間等屬性;新聞規(guī)章主要包含新聞標(biāo)題,新聞圖片、正文等屬性。如下圖3-2所示:用戶管理員新聞規(guī)章儀器預(yù)約管理管理管理管理儀器展示用戶ID用戶名密碼電話性別頭像儀器名稱儀器圖片儀器信息新聞圖片正文新聞標(biāo)題預(yù)約用戶名預(yù)約儀器名結(jié)束時(shí)間開始時(shí)間預(yù)約狀態(tài)圖4-2 實(shí)體-聯(lián)系圖4.3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫的設(shè)計(jì)是為了將存放在后臺數(shù)據(jù)庫中的資源共享,并提供給系統(tǒng)頁面對其數(shù)據(jù)進(jìn)行顯示,同時(shí)也為管理員修改、添加、刪除和更新信息提供便利,因此數(shù)據(jù)表的具體的關(guān)系模型可以通過上述的實(shí)體-聯(lián)系圖轉(zhuǎn)換而來,并將關(guān)系模型圖建立成關(guān)系表,保存在數(shù)據(jù)庫中。(1)新聞規(guī)章表新聞規(guī)章表具有新聞標(biāo)題、新聞圖片、正文等基本信息。它的屬性圖如圖4-3所示:新聞規(guī)章表新聞標(biāo)題新聞圖片正文新聞ID圖4-3 新聞規(guī)章屬性圖根據(jù)圖4-3可定義出新聞規(guī)章的數(shù)據(jù)表news,新聞規(guī)章表用來保存、添加、修改和刪除所有新聞規(guī)章的信息。結(jié)構(gòu)如表1所示:表1 新聞規(guī)章數(shù)據(jù)表字段數(shù)據(jù)類型說明objectldString新聞IDtitleString新聞標(biāo)題contentString正文picFile新聞圖片(2)用戶表用戶表中包含用戶名、密碼、電話號碼等必要的信息。用戶的屬性圖如圖4-4所示:用戶用戶ID用戶名手機(jī)號密碼性別圖4-4 用戶屬性圖根據(jù)圖4-4可以定義出用戶的數(shù)據(jù)表user,用戶表用來提供給注冊的用戶保存所有的注冊信息。結(jié)構(gòu)如表2所示:表2 用戶數(shù)據(jù)表字段數(shù)據(jù)類型說明objectldString用戶IDusernameString用戶名passwordString密碼mobilePhoneNumberString手機(jī)號碼sexString性別picFile頭像(3)儀器展示表儀器展示表中包含了儀器名稱、儀器圖片、儀器詳情等基本信息。它的屬性圖如圖4-5所示:儀器展示表儀器名稱儀器圖片儀器詳情儀器ID圖4-5 儀器展示屬性圖根據(jù)圖4-5可定義出儀器展示的數(shù)據(jù)表display,儀器展示表用來保存、添加、修改和刪除所有儀器展示的信息。結(jié)構(gòu)如表3所示:表3 儀器展示數(shù)據(jù)表字段數(shù)據(jù)類型說明objectldString儀器IDnameString儀器名稱descString儀器詳情picFile儀器圖片(4)儀器預(yù)約表儀器展示表具有預(yù)約用戶名、預(yù)約儀器名、預(yù)約開始結(jié)束時(shí)間等基本信息。它的屬性圖如圖4-6所示:儀器預(yù)約預(yù)約用戶名預(yù)約儀器名結(jié)束時(shí)間開始時(shí)間預(yù)約狀態(tài)預(yù)約的ID圖4-6 儀器預(yù)約屬性圖根據(jù)圖4-6可定義出儀器預(yù)約的數(shù)據(jù)表record,儀器預(yù)約表用來保存所有用戶預(yù)約的儀器的各種相關(guān)信息。結(jié)構(gòu)如表4所示:表4 儀器預(yù)約數(shù)據(jù)表字段數(shù)據(jù)類型說明objectldString預(yù)約的IDdeviceString預(yù)約儀器名usernameString預(yù)約用戶名timeString開始時(shí)間time_endString結(jié)束時(shí)間permissionNumber預(yù)約狀態(tài)4.4 系統(tǒng)的設(shè)計(jì)原則UI界面設(shè)計(jì)原則:(1)界面干凈簡潔而又不簡單;(2)關(guān)注內(nèi)容而非修飾;(3)避免頻繁使用狀態(tài)對話框;(4)避免使用太過于固定和太過絕對的定位布局;(5)注重界面與用戶的交互性,能給用戶帶來良好的使用體驗(yàn)。 代碼設(shè)計(jì)原則:代碼是一個(gè)應(yīng)用的核心,代碼設(shè)計(jì)好壞直接影響應(yīng)用的健壯性,可讀性,及可維護(hù)性,必須遵循以下的設(shè)計(jì)原則:(1)適當(dāng)?shù)臑榇a增加注釋,包括一些方法和一些類,都必須加一些描述性的話,這樣可以增強(qiáng)應(yīng)用的可讀性以及后期的維護(hù);(2)各功能模塊在編寫代碼時(shí),間盡量分開來寫,這有利于代碼的修改和維護(hù);(3)合理分配和使用各變量的作用域及周期;(4)變量、類、資源文件和布局的命名需要結(jié)合實(shí)際意義,盡量使用英文意思來命名,盡量避免使用中午拼音命名。5 系統(tǒng)實(shí)現(xiàn)5.1 Android客戶端邏輯結(jié)構(gòu)設(shè)計(jì)(1)用戶注冊功能,如圖5-1所示:輸入用戶名、密碼客戶端將輸入內(nèi)容以字節(jié)流發(fā)送至客戶端服務(wù)器客戶端接收數(shù)據(jù),做相應(yīng)跳轉(zhuǎn)圖5-1 客戶端注冊流程圖調(diào)用LeanCloud的jar包連接到數(shù)據(jù)庫,將輸入的用戶名和密碼以字節(jié)流的形式插入到后臺數(shù)據(jù)庫中并保存。實(shí)現(xiàn)功能的關(guān)鍵代碼在附錄十四中可見。(2)客戶端登錄功能,如圖5-2所示:輸入用戶名、密碼客戶端將輸入內(nèi)容以字節(jié)流發(fā)送至客戶端服務(wù)器用戶名、密碼判斷客戶端接收數(shù)據(jù),做相應(yīng)跳轉(zhuǎn)TrueFalse圖5-2 客戶端登錄流程圖同樣是調(diào)用LeanCloud的jar包連接到數(shù)據(jù)庫。運(yùn)用CQL語句查詢數(shù)據(jù)庫用戶表中的用戶的信息,如果登入時(shí)輸入并上傳到服務(wù)器的信息與數(shù)據(jù)庫中所保存的信息相匹配,便可實(shí)例化一個(gè)Intent對象,實(shí)現(xiàn)從登錄界面到應(yīng)用主界面的跳轉(zhuǎn)。如果信息匹配有誤,則登錄失敗并保存在登錄界面上,出現(xiàn)彈窗消息提示登錄信息有誤。實(shí)現(xiàn)功能的關(guān)鍵代碼在附錄一中可見。(3)儀器預(yù)約功能,如圖5-3所示:選擇需要預(yù)約的儀器和時(shí)間將預(yù)約請求發(fā)送至服務(wù)器服務(wù)器保存預(yù)約信息將預(yù)約消息推送給管理員進(jìn)行預(yù)約處理預(yù)約用戶收到預(yù)約結(jié)果圖5-3 儀器預(yù)約流程圖在預(yù)約儀器中添加使用一個(gè)監(jiān)聽器,實(shí)現(xiàn)onClick的方法,在判斷到點(diǎn)擊選擇時(shí)間和選擇儀器按鍵后,實(shí)例化一個(gè)Intent對象,同時(shí)跳出一個(gè)時(shí)間和儀器的選擇器的畫面,提供用戶選擇預(yù)約時(shí)間和預(yù)約的儀器設(shè)備。同理用onClick方法再次添加一個(gè)監(jiān)聽器,在判斷到點(diǎn)擊確定預(yù)約按鍵后,將預(yù)約的信息上傳到服務(wù)器,實(shí)現(xiàn)儀器預(yù)約功能。實(shí)現(xiàn)功能的關(guān)鍵代碼在附錄五中可見。(4)儀器展示、歷史記錄、頻率統(tǒng)計(jì)、新聞規(guī)章的查看功能,如圖5-4所示:選擇儀器展示Tab將請求發(fā)送至服務(wù)器服務(wù)器接收到相應(yīng)請求,將相對應(yīng)的數(shù)據(jù)表結(jié)果造型并返回至客戶端將列表元素在客戶端顯示選擇歷史記錄Tab選擇頻率統(tǒng)計(jì)Tab選擇中心資訊Tab選擇預(yù)約結(jié)果Tab圖5-4 查看功能流程圖同樣是調(diào)用LeanCloud的jar包連接到數(shù)據(jù)庫,將讀取數(shù)據(jù)請求發(fā)送到服務(wù)器,服務(wù)器接收到請求后將數(shù)據(jù)結(jié)果回饋給客戶端庫,并在客戶端中顯示。例如:管理員在同意或拒絕預(yù)約后,數(shù)據(jù)庫中將預(yù)約狀態(tài)更改為已同意或已拒絕,前臺頁面中,就會讀取到數(shù)據(jù)庫中返回的預(yù)約狀態(tài)。實(shí)現(xiàn)這五個(gè)功能的關(guān)鍵代碼分別在附錄四、附錄七、附錄八、附錄九、附錄十中可見。5.2 后臺系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)后臺系統(tǒng)主要有用戶信息管理,儀器信息管理,預(yù)約審核管理,新聞規(guī)章管理等。其中管理員登錄和預(yù)約審核管理是在客戶端完成的。(1)管理員登錄管理,如圖5-5所示:管理員登錄向服務(wù)器發(fā)送登錄請求,驗(yàn)證用戶名和密碼登錄重新登錄FalseTrue圖5-5 管理員登錄流程圖管理員登錄LeanCloud的管理界面,在控制臺數(shù)據(jù)庫中找到管理員客戶端賬號的ID,在客戶端的代碼中賦予它獲得預(yù)約管理的權(quán)利。實(shí)現(xiàn)賦予管理權(quán)限功能的關(guān)鍵代碼如下:public static final String ADMIN_ID = 74d0dcba157a6ba9af839940e2318639;public s

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論