版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于Android的醫(yī)院預約掛號系統(tǒng)摘 要醫(yī)療事業(yè)對于人們生活顯得尤為重要,研究醫(yī)療信息服務中如何使用手機移動終端具有深刻的現(xiàn)實意義和廣泛的應用價值。本文在基于 PC 的基礎上進一步設計了基于Android 的醫(yī)療掛號信息系統(tǒng)。在實際設計中考慮到醫(yī)患雙方的功能需求存在很大差異,將系統(tǒng)劃分為醫(yī)生端系統(tǒng)和患者端子系統(tǒng)兩部分。同時考慮到系統(tǒng)所需部分功能復雜不適于在移動終端運行,在系統(tǒng)設計時增加了 PC 機 Web 端子系統(tǒng)的設計。Android 客戶端采用 C/S 結構模式,Web 管理端采用 B/S 結構模式。本文 Android 客戶端采用了 MVC 分層的設計模式、UI 界面設置技術和 JS
2、ON 進行通信,并封裝了一個網絡會話模型。系統(tǒng)功能主要包括病癥查詢、醫(yī)院查詢、掛號、專家查詢、查看醫(yī)生處方。通過二維碼模塊功能實現(xiàn)了可移動的信息錄入與查詢功能,簡化了信息錄入與查詢環(huán)節(jié)的操作。使用 Apache 的 HttpClient 組件進行網絡數(shù)據的獲取,該組件模擬實現(xiàn)了 HTTP 通信協(xié)議,采用了輕量級數(shù)據格式 JSON 作為數(shù)據封裝,在數(shù)據傳輸上降低資源開銷、獲得了較高的傳輸效率。提出了醫(yī)療云存儲的方案,通過云存儲文件功能,利用二維碼對電子病歷進行管理和再現(xiàn), 提高了數(shù)據安全性和存儲利用率。服務器端數(shù)據傳輸采用 JSON 格式,與 Android 移動終端共用同一后臺處理程序,采用S
3、truts2,Hibernate,Spring 技術,布局上通過 HTML,CSS 和 JavaScript 技術實現(xiàn)頁面的設計。實驗及運行結果表明,本文所開發(fā)的基于 Android 的醫(yī)療掛號系統(tǒng),在以 Android為平臺的智能移動終端中運行穩(wěn)定,在測試中達到了預期的效果,實現(xiàn)了可移動的信息錄入與查詢功能,解決了醫(yī)療雙方的需求,給醫(yī)患雙方帶來便利。關鍵詞: Android;醫(yī)療掛號系統(tǒng);JSON;二維碼;云存儲;電子病歷暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)Based on the Android hospital appointment register syste
4、m design and implementationAbstract As medical service is important to our social life, mobile terminal are of profound practical significance meaning and high applicational value in medical service. The system of Android-based medical service is designed, on the basis of Web PC-based terminal . For
5、 thesake to solve the medical problem, the medical information system of Android-based is designed, the system is composed of Android client terminal system and Web PC-based terminal . Android client will employ C/S structure mode while B/S structure mode will be adopted to fit Web management.The An
6、droid system employs MVC model coupled with the UI layout technology. The client and the server communicate by JSON.Then,we design the system functions.In order to reduce the information inputting and inquiry aspects of the operation, the two-dimensional code recognition technology is used in treatm
7、ent services to quickly read the patients entire medical record information. The network data access is through the Apache HttpClientcomponent,which completes the HTTP communication protocol;data encapsulation uses JSON data format of lightweight. Then,we propose medical cloud storage solutions and
8、use stwo-dimensional code to manage and preserve electronic medical record,which realizing the data security and the high storage utilization.The page of the client is designed through technologies such as HTML, CSS and JavaScript in a Web terminal system, where data acquisition is still using the J
9、SON format sharing the same spooler with Android client to achieve system optimization design.Struts2,Hibernate and Spring technology are also used in Web terminal.Experiments and operating results show that the medical information system developed in this paper works stably and well in smart mobile
10、 devices based on Android platform. The test achieves the desired results realizing the information inputting and inquiry functions movably, which takes greatly convenience to both doctors and patients.Keywords:Android;Medical Information System;Cloud Storage;JSON;two-dimensional code; Electronic Me
11、dical Record目 錄摘 要IAbstractII第一章 緒 論1 HYPERLINK l _Toc199897336 論文研究背景與意義 PAGEREF _Toc199897336 h 1 HYPERLINK l _Toc199897337 國內外發(fā)展現(xiàn)狀 PAGEREF _Toc199897337 h 2 HYPERLINK l _Toc199897338 本文所做工作 PAGEREF _Toc199897338 h 3 HYPERLINK l _Toc199897339 本文結構安排 PAGEREF _Toc199897339 h 3第二章 可行性研究20 技術可行性20 經濟可
12、行性 操作可行性 HYPERLINK l _Toc199897340 第三章 系統(tǒng)的相關技術及工具介紹 PAGEREF _Toc199897340 h 4 HYPERLINK l _Toc199897341 瀏覽器/服務器結構 PAGEREF _Toc199897341 h 4 HYPERLINK l _Toc199897342 Android的平臺特性 PAGEREF _Toc199897342 h 5 HYPERLINK l _Toc199897343 Android平臺的架構 PAGEREF _Toc199897343 h 5 HYPERLINK l _Toc199897344 客戶端和
13、服務端之間的通信原理 PAGEREF _Toc199897344 h 6 HYPERLINK l _Toc199897345 Android的構成和工作機制 PAGEREF _Toc199897345 h 7 HYPERLINK l _Toc199897346 MVC模式 PAGEREF _Toc199897346 h 7 HYPERLINK l _Toc199897347 第四章 系統(tǒng)性能需求和框架設計 PAGEREF _Toc199897347 h 9 HYPERLINK l _Toc199897348 性能需求分析 PAGEREF _Toc199897348 h 9 HYPERLINK
14、l _Toc199897349 系統(tǒng)總體架構 PAGEREF _Toc199897349 h 10 HYPERLINK l _Toc199897350 系統(tǒng)功能總體設計 PAGEREF _Toc199897350 h 12 HYPERLINK l _Toc199897352 數(shù)據庫系統(tǒng)架構與技術選型 PAGEREF _Toc199897352 h 14 HYPERLINK l _Toc199897353 網絡架構設計 PAGEREF _Toc199897353 h 16 HYPERLINK l _Toc199897353 醫(yī)院云存儲的解決方案 PAGEREF _Toc199897353 h 1
15、6 HYPERLINK l _Toc199897353 數(shù)據庫私密性 PAGEREF _Toc199897353 h 16 HYPERLINK l _Toc199897353 系統(tǒng)數(shù)據庫設計 PAGEREF _Toc199897353 h 16 HYPERLINK l _Toc199897353 本章小結 PAGEREF _Toc199897353 h 16 HYPERLINK l _Toc199897354 第五章 醫(yī)療信息服務系統(tǒng)的設計與實現(xiàn) PAGEREF _Toc199897354 h 17 HYPERLINK l _Toc199897355 系統(tǒng)開發(fā)環(huán)境搭建 PAGEREF _Toc
16、199897355 h 17 HYPERLINK l _Toc199897356 Android客戶端功能實現(xiàn) PAGEREF _Toc199897356 h 18 HYPERLINK l _Toc199897357 服務端功能模塊設計 PAGEREF _Toc199897357 h 18 HYPERLINK l _Toc199897358 服務端邏輯實現(xiàn) PAGEREF _Toc199897358 h 21 HYPERLINK l _Toc199897361 通信與數(shù)據交換 PAGEREF _Toc199897361 h 23 HYPERLINK l _Toc199897362 HDFS文件
17、系統(tǒng) PAGEREF _Toc199897362 h 23 HYPERLINK l _Toc199897363 本章小結 PAGEREF _Toc199897363 h 25 系統(tǒng)主要模塊實現(xiàn)與測試XX系統(tǒng)客戶端功能的實現(xiàn)與測試XX測試分析XX HYPERLINK l _Toc199897353 本章小結 PAGEREF _Toc199897353 h 16 HYPERLINK l _Toc199897353 第七章 總結與展望 PAGEREF _Toc199897353 h 16 HYPERLINK l _Toc199897353 總結 PAGEREF _Toc199897353 h 16
18、HYPERLINK l _Toc199897353 展望 PAGEREF _Toc199897353 h 16參考文獻XX HYPERLINK l _Toc199897353 附錄 PAGEREF _Toc199897353 h 16致謝XX暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)31 緒論1.1 研究背景醫(yī)療問題一直是我國急需解決的問題之一,目前在醫(yī)院就醫(yī)時,病人需耗費大量時間精力排隊問診,但醫(yī)生實際的診斷時間相對較短,因而這種傳統(tǒng)就醫(yī)方式會造成病人極大不便,而且對于初次就診的病人來說,由于不熟悉醫(yī)院的具體情況,更易陷入“病急亂投醫(yī)”的尷尬境地。伴隨著科技的發(fā)展,有人提出
19、采用現(xiàn)代化醫(yī)療管理軟件輔助醫(yī)療管理,這種模式能夠有效的改善就醫(yī)條件,從而開始受到越來越多的關注。隨著數(shù)字化時代的來臨,中國的醫(yī)療建設也進入了一個改革發(fā)展的新階段。醫(yī)院在提升醫(yī)療器械水平和醫(yī)生的醫(yī)療技術的基礎上,也開始關注病人的就診條件,陸續(xù)地設立了一些自動掛號的終端機和介紹醫(yī)院醫(yī)生信息的網站。但僅靠設立掛號終端機和信息網站,并不能完全解決病人就醫(yī)難的狀況。在此背景下,本課題研究了一個基于移動終端的醫(yī)療掛號系統(tǒng),該系統(tǒng)針對就醫(yī)難的問題,給出了全面的解決方案。通過對系統(tǒng)功能進行設計,其主要包括病癥查詢、醫(yī)院查詢、掛號、專家查詢、查看醫(yī)生處方等功能,患者可以通過子系統(tǒng),以手機端信息瀏覽取代人工咨詢模
20、式,根據需求自行查詢相關信息。另外該系統(tǒng)還可通過二維碼模塊功能實現(xiàn)可移動的信息錄入與查詢功能,從而簡化患者病歷信息的管理,以及信息錄入與查詢環(huán)節(jié)的操作。隨著中國聯(lián)通 2009 年推出了 3G 移動網絡通信后,中國的移動互聯(lián)網建設進入了一個高速發(fā)展的歷史時期。截止到目前為止,中國移動,中國聯(lián)通以及中國電信的 3G 網絡已覆蓋了全國各主要一、二線城市,并正在向周邊地區(qū)擴散。無線網絡通信技術的發(fā)展使移動設備如智能手機逐漸走進人們的生活。目前 Android 系統(tǒng)是作為智能手機其中的一個操作系統(tǒng),其市場占有率越來越大。因而本課題設計的醫(yī)療掛號系統(tǒng)選擇在Android 平臺上進行開發(fā),并在移動互聯(lián)網的支
21、撐下進行運行。通過開發(fā)這套 Android 醫(yī)療掛號系統(tǒng),將有效減少了病人候診時間、提升醫(yī)院工作效率。本方案的提出將會有利于醫(yī)療事業(yè)的發(fā)展和完善,對未來醫(yī)療技術的完善起到一個引領的作用。能提高醫(yī)療水平和效率、降低醫(yī)療開支,實現(xiàn)醫(yī)療資源共享,擴大醫(yī)療范圍,能夠為更廣大人民群眾日益提供一項全新的醫(yī)療服務,提升人民的健康水平。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)41.2 研究現(xiàn)狀目前社會上醫(yī)院的預約渠道如下:表 1-1 掛號方式的比較掛號方式 操作 費用和便利性電話醫(yī)療登記冊 通過各個醫(yī)院的醫(yī)療登記冊和電子醫(yī)療本反饋意見,通過致電熱線登記醫(yī)療計劃,由客服完成預約需要支付電話費
22、,需要等待通話接入時間互聯(lián)網預約 受年輕患者喜愛,是中年患者也可以接受的方式,通過簡單的電腦網頁瀏覽操作完成免話費,相對快捷移動互聯(lián)網預訂 通過下載手機軟件,手機端即可登陸隨時隨地方便快捷短信掛號預約 通過短信渠道將特定指令發(fā)送到 SMS 預訂中心并迅速完成預訂。需要查詢到短信的發(fā)送方式,也比較快捷,但信息往返回饋慢,反饋次數(shù)多自助預約機預約 通過機器的錄入和出票掛號約下次就診時間。需要人工協(xié)助,要人手管理目前的醫(yī)療信息管理系統(tǒng)僅是針對于醫(yī)護人員開發(fā)的,忽視了患者對于便利性的需求以及對醫(yī)療點和醫(yī)生查詢的重要性。過去的軟件基于 PC 上,并沒有充分體察病人的需求。而醫(yī)療軟件主要包括醫(yī)療百科全書系
23、列產品、醫(yī)療咨詢系列產品;其中,醫(yī)療百科全書系列產品主要是提供一個醫(yī)療的數(shù)據庫,里面記錄一些病癥對應的診療方法等,一般為靜態(tài)的數(shù)據,不能根據動態(tài)的數(shù)據進行更新,除非開發(fā)者進行更新,使用者主動更新。醫(yī)療咨詢系列產品,提供一些專家的在線咨詢方式,給用戶提供具有互動性的咨詢方式,但是仍然存在很多問題,例如單純的咨詢不能夠激發(fā)患者和醫(yī)生的主動性,往往使得咨詢的結果偏差較大。1.3 課題創(chuàng)新點1、采用二維碼模塊功能實現(xiàn)了可移動的信息錄入與查詢功能,簡化了患者病歷信息的管理以及信息錄入與查詢環(huán)節(jié)的操作,實現(xiàn)了醫(yī)院快速讀取患者病歷信息的功能。2、提出醫(yī)療云存儲的方案,通過云存儲文件功能,利用開源分布式框架
24、Hadoop 中的分布式文件系統(tǒng) HDFS,提出利用二維碼對電子病歷進行管理和再現(xiàn)的機制,使得數(shù)暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)5據存儲利用率和負載均衡性問題得到了改善。3、在客戶端與服務器端的使用 JSON 封裝數(shù)據,在數(shù)據傳輸上降低了資源開銷、獲取高效率的傳輸效率。在系統(tǒng)設計中融合了服務器和客戶端等多項技術。1.4 本課題研究意義 本課題研發(fā)的醫(yī)療服務系統(tǒng)從技術方面有效地解決了我國數(shù)字醫(yī)療建設在移動互聯(lián)網和智能手機系統(tǒng)平臺中數(shù)據交互問題以及數(shù)據容量升級問題,當今國內將移動互聯(lián)網和智能手機聯(lián)合起來應用到醫(yī)療的實例并不多,本系統(tǒng)的開發(fā)為后人創(chuàng)建更好醫(yī)療服務系統(tǒng)積累了
25、一定的經驗,同時可以根據本系統(tǒng)今后的運行數(shù)據分析出我國的醫(yī)療現(xiàn)狀和病人的醫(yī)療需求。從現(xiàn)實角度分析,由本課題研發(fā)的醫(yī)療服務系統(tǒng)切實有效地解決了病人在看病時遇到的各種問題。通過本系統(tǒng)病人可以根據自己的病情預約到相關領域的專家,可以獲得及時有效地治療;通過本系統(tǒng),病人只需在掛號時,醫(yī)生給出的時間段內來醫(yī)院就診即可,這樣就避免了長時間的枯燥等待;同時醫(yī)生根據本系統(tǒng)可以對病人的病情做一個初步的了解,對錯誤就診的病人,做到及時發(fā)現(xiàn)并引導其向其他相關醫(yī)生就診,有效提高醫(yī)患雙方的工作效率。各醫(yī)院的加盟能有利于維系本系統(tǒng)作為統(tǒng)一的管理平臺,便于對患者需求作進一步的挖掘。結合云服務 Sass 的分布式文件平臺搭建
26、,為日后平臺數(shù)據擴展做準備,通過對本系統(tǒng)中的數(shù)據進行分析,即可以針對用戶需要作出推薦,為用戶帶來了便利。1.5 本論文主要工作Android 操作系統(tǒng)是目前開源性和封裝性良好的操作系統(tǒng)。本文利用 Android 的應用技術,以實現(xiàn)基于 Android 平臺的醫(yī)療掛號的軟件的設計為目標,進行如下探究:1.提出本課題的研究意義和所研發(fā)產品的使用價值。2.分析醫(yī)療掛號軟件需求,分別 Android 客戶端和 Web 客戶端和云服務器入手,利用集成的開發(fā)工具插件進行系統(tǒng)的搭建環(huán)境;3.做方案技術選型,了解用戶之前平臺的使用情況,基于分析醫(yī)療信息服務系統(tǒng)需求來進行方案選型;4.進行詳細設計、連接數(shù)據庫,
27、通過 MySQL 和 apache tomcat 搭建和連接調試服務暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)6器,通過 SQLyog community 建立可視化數(shù)據庫連接工具,搭建數(shù)據庫關系模型和進行數(shù)據表的建立,對數(shù)據庫安全性作出評估和管理方案的建議;5.研究 HttpClient 協(xié)議接口,分析客戶端和服務器端使用的網絡協(xié)議,并實現(xiàn)客戶端和服務器端的通信交流。6.建立測試環(huán)境和手機模擬器,通過服務器和客戶端模擬器的雙向調試完成本次測試和錯誤排查;7.使用本地服務器構建一個 SaaS 云,通過對加盟的醫(yī)院授予不同級別的權限,利用二維碼對電子病歷進行管理。1.6 本論文
28、結構安排第一章緒論部分進行醫(yī)療信息服務系統(tǒng)的現(xiàn)狀研究,介紹了如今 Android 的技術發(fā)展,闡述國內外醫(yī)療信息服務系統(tǒng)的發(fā)展趨勢及現(xiàn)有系統(tǒng)的設計特點,提出本系統(tǒng)設計研究意圖。概括闡述本文的主要工作和架構。第二章主要闡述了 Android 平臺的軟件布局,研究系統(tǒng)開發(fā)用到的相關技術以及Android 組建的運行機制,最后簡單介紹開發(fā)中用到的 SPRING 框架和 HDFS 分布式文件系統(tǒng)。第三章對系統(tǒng)性能需求和框架進行整體設計,對技術進行選型。介紹所需要用到的開發(fā)工具,進行軟件的需求和總體架構。細化開發(fā)流程,完成客戶端與服務器端系統(tǒng)功能模塊說明,并作出關鍵模塊需求用例分析。第四章介紹了服務器通
29、信之間客戶端通信機制,以及對系統(tǒng)功能進行實現(xiàn)。對本系統(tǒng)的各個模塊進行分析,并作出關鍵流程圖。通過 JSON 對數(shù)據進行封裝,在數(shù)據傳輸中實現(xiàn)高效率的目的。第五章作為軟件測試部分,在測試用例和分析的基礎上,輸入幾個合理的用例進行結果分析,并對不合理的程序予以修正,完善系統(tǒng)的可靠性。對數(shù)據安全性作出可靠性分析,并對數(shù)據庫的管理安全作出幾點建議。通過文件存儲功能,利用二維碼對電子病歷進行管理和再現(xiàn)做測試。第六章對總結本論文的工作內容,并對以后的研究發(fā)展作出前瞻性分析。附錄附帶了之前章節(jié)說明性的程序和連接服務器的請求程序。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)71.7 本章小結通
30、過對研究現(xiàn)狀分析和對研究背景做出了總體的概述,提出了課題的工作要點。對Android 客戶端作和服務器端作出分析,并提到了提高系統(tǒng)存儲容量和數(shù)據傳輸效率的技術以及使用到的工具。通過系統(tǒng)規(guī)劃,提出了一個符合現(xiàn)今發(fā)展需要的醫(yī)療信息系統(tǒng)方案。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)82 系統(tǒng)的相關技術研究2.1 Android 的平臺特性Android 是基于 C 語言和 JAVA 語言開發(fā),同時具有可操作和移植性強的特點,是一款兼容性良好的操作系統(tǒng)。JAVA1-3語言的特性是接口復用性好,而且代碼易讀,方便程序間的調用。Android 的主要競爭力在于其廣大的用戶市場,使得其在
31、開發(fā)過程中能夠接受及時的反饋。Android 的4-6性能特點可以用幾個特點來形容,開源、具有免費的開發(fā)服務環(huán)境、界面豐富、系統(tǒng)可裁剪、應用程序框架支持應用組件的重用集成和繼承、具有自主研發(fā)的虛擬機且占用的內存和資源比較少、穩(wěn)定性能優(yōu)越、自帶有 3D 和自定義 2D 圖形庫、數(shù)據存儲方式靈活的 SQLite、支持藍牙等無線通信、3G 接入和公共網絡 WIFI 接入、支持羅盤技術、照相機和地理信息系統(tǒng)定位等、擁有強大的模擬器和調試工具、附加上7內存檢測后可以達到穩(wěn)步進行應用程序開發(fā)。Android 平臺具有良好的平臺開放性,能夠為用戶提供廣泛的應用和服務與 Google應用實現(xiàn)無縫結合。2.2
32、Android 平臺的架構Android 的操作系統(tǒng)Android 操作系統(tǒng)體系分為 4 層結構,從頂部到底部分別是應用層、應用程序框架層、9核心類庫和 Linux 內核(Linux 內核),其中在第三層還包括 Android 的運行環(huán)境。如下圖 2-1 所示,Android 系統(tǒng)脫胎于 Linux,借助 Java 的 jvm 思想,形成了自己特色的操作系統(tǒng),現(xiàn)在描述其框架。Android 的操作系統(tǒng)可以分為四層框架模型,從頂層的自定義應用程序層通過外部接口可以連接到應用框架層、繼而是運行支撐層支撐著整個框架,起著承上啟下的作用,接下來便是內核層,它的存在使得二次開發(fā)無需再進行大的改動,關鍵時
33、候可以進行內核裁剪??蚣軋D如下圖 2-1 所示,1、應用程序層里可以使用的包括了電話、瀏覽器、記事本等功能。2、應用框架層內具有通知管理器、內容提供器和活動管理器。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)93、運行支撐層包含了一些庫,其中有接口管理和媒體框架、SQLite 以及圖形界面的 OpenGLJES、WebKit 瀏覽器接口以及 libc 庫等;4、底層的內核層由 LINUX C 編寫,具有各種驅動,包括藍牙驅動、相機驅動庫、聲音驅動、節(jié)電管理、USB 接口驅動、無線上網驅動和圖形驅動等。圖 2-1 Android 系統(tǒng)的體系架構3內核層具有 LINUX 8-10內
34、核,它的文件管理系統(tǒng)能實現(xiàn)文件的打開、復制、移動、刪除等操作,具有空間分配、內存管理、設置管理權限;網絡通信模塊能夠針對 7 層模型進行 ISO 前四層的接口分配并進行數(shù)據包傳輸?shù)龋ㄟ^提供面向無連接和面向連接的單雙工工作方式,對包進行投遞;其中設備管理和節(jié)電管理,進行著 GPS 感應設備、觸摸屏、重力感應、溫度感應、電池等管理設備的管理,對處理器和內存進行動態(tài)管理,對線程進行時空調度,實現(xiàn)程序被 CPU 執(zhí)行的最優(yōu)方案。對于運行支撐層,內核提供了一些支撐上層的庫,并在軟件運行過程中進行11底層調用:提供了 SGL(2D 圖形引擎)、FreeType(字體庫)、Libc 標準 C 庫和作為 A
35、ndroid瀏覽器內核的 LibWebCore 和 3D 圖形界面開發(fā)庫 openGL。Android 的庫是用 C 和 C+編寫的,通過 Android 的應用程序框架提供構建 Android系統(tǒng)的庫給開發(fā)人員調用,實現(xiàn)其功能。Davlik 通過 JNI 方式能夠調用內核層和運行支暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)10撐層的程序。其實質是一個 Android 虛擬機。通過庫的調用可以實現(xiàn)附加功能,可以調用的庫有系統(tǒng) C 庫、SGL、3D 圖形庫等。2.3 客戶端和服務器之間的通信原理套接字是通信的基石,是作為 TCP/IP 協(xié)議的網絡通信的基本單位。它是網絡通信過程
36、中端點的抽象表示,包含進行網絡通信必須的五種信息: 11,12協(xié)議、協(xié)議端口中的本地進程、遠程主機的 IP 地址、本地主機的 IP 地址面向進程的協(xié)議端口的鏈接、協(xié)議端口中的本地進程。應用層通過傳輸層進行數(shù)據通信時,TCP 會遇到同時為多個應用程序進程提供并發(fā)服務的問題。多個 TCP 連接或多個應用程序進程有可能需要借助同一個 TCP 協(xié)議端口傳輸數(shù)據。為了對不同的應用程序進程和連接進行區(qū)分,多數(shù)的計算機操作系統(tǒng)與TCP/IP 協(xié)議12進行交互時應用程序是使用套接字連接。建立套接字連接至少要有一對套接字,其中一個運行在客戶端上,稱為 ClientSocket,而另一個則運行在服務器端,稱為 S
37、erverSocket。服務器套接字連接過程:服務器監(jiān)控建立,客戶端請求和連接確認。監(jiān)視服務器:服務器端套接字與客戶端套接字在一個連接,實施實時監(jiān)測網絡狀態(tài)、等待狀態(tài)等待客戶端的連接請求??蛻舳苏埱螅嚎蛻舳苏埱筮B接的套接字,其目標是在服務器端的連接套接字。圖 2-2 套接字連接過程客戶端與服務器連接過程如下:暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)11 :客戶端請求連接的套接字,其目標是在服務器端的連接套接字??蛻舳颂捉幼置枋銎浔旧硪B接到的服務器套接字,指出其端口和地址的服務器端套接字,然后提交到服務器端進行套接字連接請求;對連接進行確認:客戶端與服務器端套接字在聆聽訊息
38、時雙方將正式建立連接圖 2-3 客戶端與服務器連接過程在創(chuàng)建套接字連接時,可以對傳輸層協(xié)議進行指定,Socket 可以支持不同的傳輸層協(xié)議(TCP 或 UDP),當使用 TCP 協(xié)議進行連接時,該 Socket 連接就是一個 TCP 連接。由于套接字連接通常是一個 TCP 連接,以便建立一次連接的套接字時,各自準備直到這兩個當事方斷開連接并將數(shù)據發(fā)送到對方為止。不過在實際網絡應用中,完成從客戶端到服務器的通信過程往往需要穿過多個中間節(jié)點,如路由器、防火墻、網等等。2.4Android 的構成和工作機制Android 程序相互之間根據功能的不同,各自完成相應的任務,可以通過了解 Android的
39、接口對其進行開發(fā),組件包括了13Activity、Service、Broadcast Receiver 與 Content Provider;通過 Intent 在不同組建之間進行導航。而可視化的操作界面可通過調用 View 類進行顯示,如菜單下拉框、對話框等可以實現(xiàn)可視化操作選項。2.4.1 Activity Android 應用程序中通過多個 Activity 進行相互跳轉,而 Activity 是 Android 的最基本模塊,每個 Activity 都有自己的生命周期,根據程序運行需要進行產生、運行或銷毀,暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)12通過 Andro
40、id 系統(tǒng)對其生命周期進行維護,以及通過狀態(tài)保存,恢復和數(shù)據傳輸(intent )的控制,這些就是每個活動(Activity)需要關注的事情。表 2-1 Activity 有三種基本狀態(tài)Active 狀態(tài)處于屏幕前景,也就是當前task 的棧頂Activity 正處于Active 狀態(tài),同 一時刻只能有一個Activity 處于Active 狀態(tài) ;Paused 狀態(tài) 處于背景畫面狀態(tài),將失去了焦點,但依然是活動狀態(tài) ;Stopped 狀態(tài) 不可見,但始終保持所有的狀態(tài)和內存信息 。圖 2-4 Activity 的生命周期2.4.2 Service Service 是和 Activity 基本
41、差不多的 Android 組件,通過后臺進行,還可以與別的進程進行交互。Android 的 Service 沒有界面,但他可以不終止地一直運行,當內存不足時,可以殺死舊的進程來獲得內存。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)13圖 2-5 Service 的生命周期2.4.3 Broadcast Receiver 使用 Broadcast Receiver10接受和處理廣播通知,部分的相應程序進行廣播時會采用Broadcast receiver 進行多播。當電量低時,都會產生廣播通知 receiver。當用戶數(shù)據下載完成后會通知其他應用程序。所有的 receiver 都繼
42、承于13BroadcastReceive 這個父類。而且可以通過他啟動和提醒用戶 NotificationManager 發(fā)送過來的 Notififications。應用程序發(fā)送了多個消息,并相應會有關鍵消息。當多個重要且要求響應的消息發(fā)送過來,通過Intent 查看可以啟動多個 Broadcast Receiver 對 Intent 進行監(jiān)聽。2.4.4 Content Provider 作為第三方數(shù)據服務方案提供器,他具有標準的數(shù)據訪問接口。通過它可以起到在應用程序共享數(shù)據的作用。Content Provider14支持 SQLite,并且可以對資料文件進行封裝壓縮。2.4.5 View
43、在 Android 用戶界面中,分為三層,分別是 Activity,Window 和 Window Views,其中 VIEW 用作為視圖界面。2.4.6 Android 的 Intent 暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)14而 Intent 負責調配之前四種組件間的相互協(xié)同工作。Intent 15主要是作為一個傳遞中介的作用,專門為組件互相調用提供信息,實現(xiàn)調用者與被調用者之間的耦合關系。通過 Intent 的實現(xiàn),在傳遞中需要找到目標消費者,他們往往是另一個 Activity 的顯式匹配或是需要匹配幾個值(Action、Category、Data/Type、Co
44、mponent)的隱式匹配;Intent的組成包括組名、動作分類描述 Category、數(shù)據類型描述 Type、目標組件描述 Component等,如下表:表 2-2 Intent 的組成Action 通常和特定的 Uri 組合使用Category 它是對目標組件類型類別信息的描述Type 數(shù)據類型描述Component 目標組建描述Data 該動作相關聯(lián)數(shù)據Extras 和 Flag 附加信息Intent 存在的目的是要求做某事,而 intentfilter 則闡述了能夠做什么,通過檢查 Action的 VIEW、PICK、MAIN(主程序入口點)對多個 Action 進行過濾,并且 Uri
45、 聯(lián)系 Data 進行檢查,是引向聯(lián)系人的一個方法。當 Uri16數(shù)據匹配成功,則 Data 驗證成功。多個Category 可以聯(lián)合檢查。通過 Intent 功能可以實現(xiàn)啟動同一個功能的另一個活動 , 例如Activity 可以監(jiān)聽桌面的天氣活動,當發(fā)布天氣轉陰時,進行相應的活動跳轉。2.4.7 Android 的 Bundle基于 Bundle 傳遞單參數(shù)或者多參數(shù)都是消息傳遞的方法:Clear()清除此 Bundle 映射的數(shù)據備份;putExtras() 去除相應 Bunddle 中的數(shù)據;remove(String key)移除指定的 Key 值;hasFileDescription
46、s():指示是否包含任何捆綁打包文件描述符。通過 putXX 可以使用內部哈希表類型來存放其數(shù)據的置入值。通過 getExtras()等去除數(shù)據,也可以通過 Bundle 傳遞多參數(shù)。2.5 云存儲 SaaS 及 HDFS軟件即服務(13,28SaaS)是隨著互聯(lián)網技術的發(fā)展和應用軟件的成熟,而在 21 世紀開始興起的一種完全創(chuàng)新的軟件應用模式。它與“on-demand software”(按需軟件),the 暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)15application service provider(ASP,應用服務提供商),hosted software(托管軟
47、件)所具有相似的含義。它是一種通過 Internet 提供軟件的模式,廠商將應用軟件統(tǒng)一部署在自己的服務器上,客戶可以根據自己實際需求,通過互聯(lián)網向廠商定購所需的應用軟件服務,按定購的服務多少和時間長短向廠商支付費用,并通過互聯(lián)網獲得廠商提供的服務。用戶不用再購買軟件,而改用向提供商租用基于 Web 的軟件,來管理企業(yè)經營活動,且無需對軟件進行維護,服務提供商會全權管理和維護軟件。有些軟件廠商在向客戶提供互聯(lián)網應用的同時,也提供軟件的離線操作和本地數(shù)據存儲,讓用戶隨時隨地都可以使用其定購的軟件和服務。對于許多小型企業(yè)來說,SaaS 是采用先進技術的最好途徑,它消除了企業(yè)購買、構建和維護基礎設施
48、和應用程序的需要。在這種模式下,客戶不再像傳統(tǒng)模式那樣花費大量投資用于硬件、軟件、人員,而只需要支出一定的租賃服務費用,通過互聯(lián)網便可以享受到相應的硬件、軟件和維護服務,享有軟件使用權和不斷升級;公司上項目不用再像傳統(tǒng)模式一樣需要大量的時間用于布置系統(tǒng),多數(shù)經過簡單的配置就可以使用。這是網絡應用最具效益的營運模式。云存儲的好處: (1)數(shù)據的可移動性。(2)輕松維護個人應用程序和個人文件, (3)對設備硬件要求較低,節(jié)省存儲空間(4)云計算通過虛擬化的運用,可以把工作負載轉移到空閑或使用不足的系統(tǒng)(5) 節(jié)省電能,降低成本,運行企業(yè)級數(shù)據中心的節(jié)約。HDFS11,13(Hadoop Distr
49、ibuted File System)分布式文件系統(tǒng)是開源式 Hadoop 云計算框架中的一個核心組件,它為大規(guī)模分布式數(shù)據處理提供很好的存儲支持。傳統(tǒng)文件系統(tǒng)無法把大數(shù)據集(比如說 100TB)存儲為單個文件,而 HDFS 可以輕松實現(xiàn)。HDFS 被設計成能夠在一個大集群中跨機器提供可靠的海量數(shù)據存儲系統(tǒng),該系統(tǒng)還能實現(xiàn)負載均衡能力的優(yōu)化。在 HDFS 文件系統(tǒng)中每個文件都是被分割成不定數(shù)量的數(shù)據塊,除了最后一個數(shù)據,其余的數(shù)據塊的大小都一致,文件塊的大小可以在配置文件中修改。高容錯是 HDFS 的一個特性,HDFS 通過備份數(shù)據塊來實現(xiàn)實現(xiàn)系統(tǒng)容錯的功能,每個文件的數(shù)據塊副本的數(shù)量可以通過
50、配置文件修改來適應實際的應用環(huán)境。2.6MVC 模式在 android 程序中使用了 MVC 模式的技術。MVC 模式是為那些需要為同樣的數(shù)據提供多個視圖的應用程序而設計的,它很好地實現(xiàn)了數(shù)據層與表示層的分離。對于界面設計可變性的需求,MVC(Model-View-Controller)把交互系統(tǒng)的組成分解成模型、視暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)16圖、控制器三種部件。視圖部件把表示模型數(shù)據及邏輯關系和狀態(tài)的信息以特定形式展示給用戶。它從模型獲得顯示信息,對于相同的信息可以有多個不同的顯示形式和視圖??刂破鞑考?4是處理用戶與軟件的交互操作的,其職責是控制提供模型
51、中任何變化的傳播,確保用戶界面和模型間的對應聯(lián)系;它接收用戶的輸入,將輸入反饋給模型,進而實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)調工作的部件。模型部件保存由視顯示、由控制器控制的數(shù)據,它封裝了問題的核心數(shù)據、邏輯和功能的計算關系,獨立于具體的界面表達和 I/O 操作。模型、視圖、控制器15,16的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據,所有其他依賴于這些數(shù)據的視圖都應反映這些變化。因此,無論何時發(fā)生了何種數(shù)據變化,控制器都會講變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制。模型、視圖、控制器三者的關系與各自的主要功能如圖 2
52、-6 所示模型封裝應用程序狀態(tài)響應狀態(tài)查詢應用程序功能通過視圖改變視圖解釋模型模型更新請求發(fā)送用戶輸入給控制器云尋控制器選擇視圖控制器定義應用程序行為用戶動作映射成模型更新選擇響應的視圖視圖選擇狀態(tài)查詢用戶請求通知查詢方法調用 事件狀態(tài)改變圖 2-6 MVC 模式Android 提供了一個很好的實現(xiàn)這種經典 MVC 設計模式的類似環(huán)境。視圖(V)15:可以通過在 Activity(活動)中開發(fā)用戶接口(豐富而又可以擴展的視圖 Views,可以用來構建應用程序,它包括列表 lists、網格 grids、文本框 text boxes、按鈕 buttons,甚至可嵌入 android 的 web 瀏
53、覽器)來實現(xiàn)視圖。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)17上述空間組成的 XML 文件放在 res/layout/版面配置(layout)目錄中,實現(xiàn)了數(shù)據層與表示層的分離。模型(M):模型通常對應 Android 應用系統(tǒng)的業(yè)務部分(.java),放在 src 目錄中??刂破鳎–)16,18:控制器的功能在 Intent(意圖)、IntentFilter(意圖過濾)、Broadcast Receiver 廣播接收器、BroadcastIntent(廣播意圖)、Service(服務)、Notification(通知)、Alarm(警告)及 SMS(短信)、電話等邏輯功能
54、代碼中實現(xiàn),放在 src 目錄、Android Manifest(程序清單)等中。持久層19: Android 的持久層開發(fā)體現(xiàn)在 Android 的文件、SharedPreferences 存儲類、SQLite 數(shù)據庫和 Android 的 ContentProvider(內容提供器)等中。2.7SpringSpring 是由 Rob Johnson 創(chuàng)建,為簡化企業(yè)級系統(tǒng)開發(fā)而誕生19,20的開源框架。它為企業(yè)級應用提供了一套全面的、從前端視圖層到數(shù)據層的解決方案,它提供了很多原來只有 EJB 能提供的功能(如聲明式事務管理),卻又無須運行在 EJB 容器上。Spring 是一個輕量級的,
55、實現(xiàn)了 AOP 功能的 IoC 容器,是一站式的,但又不是一個全有或全無(all or nothing)的開源框架。它寄宿于進程,依賴 web 容器(Context Loader Listener)來啟動。所謂 AOP21 (Aspect Oriented Program),即面向切面編程,它提供從另一角度來考慮程序結構以完善面向對象編程(OOP),追求的是調用者和被調用者之間的解耦,它彌補了面向對象編程在跨越模塊行為上的不足。IoC(Inversion of Control Containers) 23,24控制反轉,通過容器在實例化的階段讀取xml 配置文件將需要實例化的類注入,而不是從容
56、器中逐一查找相應的依賴類??刂茩?1從應用代碼中轉到了外部容器,控制權的轉移,即所謂反轉。Spring 23,24的優(yōu)點有很多,例如可以輕松的實現(xiàn)按接口編程,有統(tǒng)一的異常處理機制,可以獲得業(yè)務邏輯層的事務,通過 AOP 將分散的關注點提供給集中關注點,可測試,無侵略性的事務處理等。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)18圖 2-7 Spring 框架結構Spring 框架如圖 2-7 所示,有 7 個如下模塊組成,用戶可以自由選擇所需要的模塊:1) 核心容器。核心容器25封裝了 Spring 最基本的功能,其它的模塊功能與應用都是圍繞此核心容器展開的。作為 Spring
57、 框架的基礎,它提供 IoC 與依賴注入 2 大功能。該模塊中有一個核心的類 BeanFactory,該類使用工廠模式來實現(xiàn)控制反轉,可以創(chuàng)建和分發(fā)各種類型的 Bean,實現(xiàn)了獨立的系統(tǒng)配置以及不具依賴性的代碼編寫。2) Spring 上下文。該模塊是 BeanFactory 的擴展,增加了國際化、驗證支持等功能,還提供了眾多企業(yè)級服務,諸如 JNDI 訪問、EJB 集成等。3) Spring AOP。面向切面 AOP(aspect-oriented programming),并不是 Spring 獨有的,Spring 框架只是封裝了符合 AOP Alliance 規(guī)范的實現(xiàn)。AOP26允許你
58、將分散在系統(tǒng)中的功能放到一個地方- 切面。在 Spring 中,既可以通過 XML 配置實現(xiàn) AOP,可以通過注解操作 SpringAOP。4) Spring DAO。Spring 的 DAO 模塊抽象了模式化的 JDBC 編寫,提供了一致的編程模式。通過 Template 做統(tǒng)一的增刪改查操作。Spring 提供了一致的異常處理模式,這些異常與特定的應用實現(xiàn)無關,在其它應用層中也不用強制捕獲。2.8 本章小結本章概括討論了手機操作系統(tǒng)的體系結構,展示了詳細的底層開發(fā)邏輯和各個組件的構成,詳盡介紹了 Android 的開發(fā)機制和工作流程,并介紹了重要的 MVC 模式以及暨南大學碩士論文 基于
59、Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)19本文用到的幾個關鍵技術點。另外對云存儲 Saas、分布式文件系統(tǒng) HDFS 以及服務器的Spring 框架進行了簡單介紹。暨南大學碩士論文 基于 Android 平臺醫(yī)院醫(yī)療掛號系統(tǒng)203 系統(tǒng)性能需求和框架設計3.1 性能需求分析通過對整個系統(tǒng)功能以及網絡可行性分析,可大致確定設計方向,以及需重點解決的問題。醫(yī)療掛號系統(tǒng)旨在為客戶提供各類服務信息以及與客戶進行信息交互,因而對軟件和硬件平臺提出了相應的幾點要求:確保網絡通暢,即能夠很好地接入現(xiàn)有的運營商網絡;系統(tǒng)功能模塊完善,基本實現(xiàn)用戶操作功能;友好的界面設計,可以獲得良好的操作感。網絡需求主要包括接
60、入與負載能力兩方面。對于網絡通信,曾經做過兩種假設,一種是在同一個無線網絡中,通過 Android 手機終端獲得局域網的信號,或者通過手機上網,獲得服務器接入。這兩種模式都需要確保數(shù)據庫的讀取和安全性,故在接入網絡時應進行加密和用戶驗證,并且能夠確保系統(tǒng)的實時訪問性,超時則發(fā)出提醒和限制。系統(tǒng)的網絡負載能力是該系統(tǒng)的一大難題,過多的在線人數(shù)則會使負載提高,這是交換速度下降的根源,而若在登錄服務器時限制登錄訪問的用戶數(shù)則可能很難確保緊急用戶在需要急診時候的掛號和排隊,因而需要提高用戶界面負載能力的平衡性,在這里提出采用 HDFS21提供的大容量存儲以及負載均衡技術,其可通過多個服務器的平衡和劃分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消費電子鋁型材及加工項目可行性研究報告
- 二零二五年度建筑勞務分包及項目管理服務協(xié)議3篇
- 運動地板項目可行性研究報告申請備案
- 工業(yè)互聯(lián)網產業(yè)園項目初步設計
- 中國公務機產業(yè)發(fā)展環(huán)境透析、市場全景評估及發(fā)展趨勢預測報告(智研咨詢)
- 智研咨詢發(fā)布:中國航運行業(yè)市場現(xiàn)狀、發(fā)展概況、未來前景分析報告
- 鈦合金泵閥建設項目可行性研究報告申請立項備案
- 深圳某電子商務平臺項目可行性研究報告
- 智能控制設備生產基地項目申請可行性研究報告
- 安置房項目二次結構磚砌體工程專項施工方案培訓資料
- SB/T 10756-2012泡菜
- GB/T 20492-2006鋅-5%鋁-混合稀土合金鍍層鋼絲、鋼絞線
- 公司變更評審表
- 醫(yī)院輸血質量管理考核標準
- 七年級語文上冊:15、《古代詩歌四首》教案
- 自由戰(zhàn)爭-簡體素材表
- 氣道評估與處理課件
- 腦血管病的介入診療課件
- 新概念第三冊課文60全(打印版)
- 四年級硬筆書法教案教學設計共16課
評論
0/150
提交評論