版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
畢業(yè)設(shè)計題目:基于Android的個人健康A(chǔ)PP軟件設(shè)計與開發(fā)姓名:(宋體小三居中)學號:(班級+學號)(字號同上)學院:(字號同上)專業(yè):(字號同上)同組人:(字號同上)指導教師:(字號同上)協(xié)助指導教師:(字號同上)邙阿拉伯數(shù)字)年月日(宋體小三居中)摘要隨著移動平臺的崛起,越來越多的傳統(tǒng)PC軟件被移植到移動平臺,比如ipad,iphone,Android等智能終端設(shè)備,在這些平臺中,Android占領(lǐng)著最大的市場份額,所以為Android用戶開發(fā)滿足日常使用的軟件成為了現(xiàn)在的一大熱門。本次設(shè)計選用了時下比較熱門的Android平臺來作為開發(fā)技術(shù),實現(xiàn)了一個個人健康A(chǔ)PP軟件。本論文將逐步介紹基于Android平臺的移動個人健康A(chǔ)PP的開發(fā)背景和意義,接著詳細介紹了本系統(tǒng)的分析、設(shè)計與實現(xiàn)過程,最后對本論文做了總結(jié)。關(guān)鍵字:Android、個人健康A(chǔ)PP、SQLite、手機ABSTRACTWiththeriseofmobileplatforms,moreandmoretraditionalPCsoftwarehasbeenportedtomobileplatforms,suchasipad,iphone,Androidandothersmartterminalequipment,intheseplatforms,Androidoccupythelargestmarketshare,soastodevelopAndroidusersmeetthedailyuseofsoftwarehasbecomeapopularnow.ThisdesignchoicenowadaysmorepopularAndroidplatformasadevelopmenttechnology,theexpenseofasmalllivinghousekeepersoftware,userscanmanageeverydayexpensesandincomesituationthemselvesthroughthesmallsoftware,statisticseachmonthincome.ThispaperwillgraduallyintroducethebackgroundandsignificanceofthedevelopmentofAndroid-basedmobilelifelittlehousekeeper,andthendetailstheanalysisofthesystemdesignandimplementationprocess,thelastofthepapersummarized.Keywords:Android,livinglittlehousekeeper,SQLite,phone目錄TOC\o"1-5"\h\z摘要 2\o"CurrentDocument"ABSTRACT 3目錄 1前言 11緒論 2\o"CurrentDocument"課題的研究背景 2\o"CurrentDocument"本課題研究現(xiàn)狀 2\o"CurrentDocument"本文研究內(nèi)容 3\o"CurrentDocument"本論文框架介紹 3\o"CurrentDocument"2相關(guān)技術(shù)及開發(fā)平臺 5\o"CurrentDocument"開發(fā)工具及環(huán)境簡介 5\o"CurrentDocument"Android系統(tǒng) 6AndroidFeatures特性 6Android系統(tǒng)的四大組件 7\o"CurrentDocument"系統(tǒng)分析 8\o"CurrentDocument"概述 83.1.1系統(tǒng)分析的原則 93.1.2系統(tǒng)分析的方法 9\o"CurrentDocument"性能需求分析 9實用性原則 10可擴展性與可維護性原則 10安全可靠性原則 10用戶界面美觀原則 10準確性與原則性原則 10易用性原則 11\o"CurrentDocument"系統(tǒng)可行性分析 11經(jīng)濟可行性 11技術(shù)可行性 11操作可行性 11\o"CurrentDocument"系統(tǒng)功能需求 12\o"CurrentDocument"系統(tǒng)使用流程分析 12\o"CurrentDocument"系統(tǒng)設(shè)計 14\o"CurrentDocument"系統(tǒng)設(shè)計目標 14\o"CurrentDocument"系統(tǒng)功能模塊設(shè)計 14\o"CurrentDocument"工程文件結(jié)構(gòu)設(shè)計 15\o"CurrentDocument"系統(tǒng)實現(xiàn) 17\o"CurrentDocument"用戶登錄界面 17\o"CurrentDocument"系統(tǒng)測試 24\o"CurrentDocument"測試的重要性 24\o"CurrentDocument"測試的目的 25\o"CurrentDocument"登錄測試 26\o"CurrentDocument"總結(jié) 27\o"CurrentDocument"致謝 28\o"CurrentDocument"參考文獻 29附錄 30隨著移動平臺的崛起,越來越多的傳統(tǒng)PC軟件被移植到移動平臺,比如ipad,iphone,Android等智能終端設(shè)備,在這些平臺中,Android占領(lǐng)著最大的市場份額,所以為Android用戶開發(fā)滿足日常使用的軟件成為了現(xiàn)在的一大熱門。在現(xiàn)在移動平臺爆發(fā)的時代,傳統(tǒng)的PC軟件沒有辦法滿足用戶了,如果說PC的軟件只能在固定的地點使用,那么現(xiàn)在的移動平臺軟件就是能夠無時無刻地使用,想使用它,只需要掏出自己的手機就可以立即使用,隨時隨地得到最新的資訊,不再被傳統(tǒng)PC禁錮在辦公室或家中,那些必須有電源的地方了。本設(shè)計與傳統(tǒng)的PC軟件有很大的優(yōu)勢,與現(xiàn)在的Android中其他軟件相比,也具有一定的優(yōu)勢?,F(xiàn)在Android軟件使用風格可謂是千變?nèi)f化,有很多工具軟件無法滿足用戶的日常需要,還有很多軟件由于使用風格不一,使得很多用戶無法適應(yīng),把一些使用率很高的日常軟件的風格統(tǒng)一,并且把它們的功能集中在一個軟件平臺中,就能使上述問題得以解決,不僅使使用風格得到了統(tǒng)一,也使得用戶得到一站式的日常工具使用體驗,并且可以使這些軟件中的功能得到互補,相互共享資源,為本來硬件條件就不是很好的手機提供一個能夠輕松運行的軟件。本軟件的優(yōu)勢體現(xiàn):1.隨時隨地使用,不受地點限制;2.統(tǒng)一移動平臺軟件使用風格;3.操作方便快捷、多用戶獨立使用;4.數(shù)據(jù)永久性保存,隨時可以翻閱查看。課題的研究背景現(xiàn)在智能手機可謂是爆發(fā)式增長,傳統(tǒng)手機在不斷地消失,諾基亞就是在這樣的環(huán)境中受到了極大的困擾,現(xiàn)在主要有三個使用率最高,關(guān)注度最高的手機平臺,分別是:Android,ios和windowsphone平臺,這三個平臺中Android的占有率最高,但是設(shè)備種類非常復雜,碎片化嚴重,而ios設(shè)備由于apple公司的獨特管理理念,得到了一個完整的生態(tài)系統(tǒng),管理得井井有條,幾乎沒有碎片化的現(xiàn)象和趨勢,但是這也導致了其設(shè)備種類不多,無法滿足所有用戶的缺點,還有windowsphone雖然現(xiàn)在炒作得很火熱,但是其用戶量相對其他的兩個平臺來說幾乎是可以或忽略不計,所以在這里不做討論。Android平臺是一個面向大眾的系統(tǒng),分布在低端,中端和高端市場中,在各個階段的是市場中都有很受歡迎的機型,并且Android是開源的,開發(fā)者隨時都可以查看系統(tǒng)源代碼,并且使用時下最流行的java作為其主要的開發(fā)語言。由于這些特點,使得Android成為現(xiàn)在市場占有量最大的軟件平臺,在這樣的平臺上面開發(fā)一款獨特的日常生活軟件尤為必要的。本課題研究現(xiàn)狀A(yù)ndroid一詞的本義指“機器人"。同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成號稱是首個為移動終端打造的真正開放和完整的移動軟件。Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng)早期由Google開發(fā)在華注冊商標名為“安致",后由開放手機聯(lián)盟、OpenHandsetAlliance開發(fā)。它采用了軟件堆層,softwarestack,又名以軟件疊層的架構(gòu)主要分為三部分。低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個手機公司建立了開放手機聯(lián)盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機電話產(chǎn)品,而不是一套軟件平臺。到了2010年1月,Google開始發(fā)表自家品牌手機電話的NexusOne。目前最新SDK版本為Android。本文研究內(nèi)容本文主要介紹和闡述一個手機平臺的軟件如何利用SQLite數(shù)據(jù)庫技術(shù)實現(xiàn)Android平臺的數(shù)據(jù)保存和展示、管理等等工作。本應(yīng)用軟件使用簡單,易學易會,非常容易上手,主要是在UI設(shè)計上采用了移動平臺上最主流的設(shè)計理念:簡單和引導,雖然界面相對傳統(tǒng)PC界面顯得簡單,但是其功能是毫不遜色的,在保留其功能全面性的基礎(chǔ)上,設(shè)計了最簡單的界面來進行展示和管理,使得用戶能夠不需要事先的任何學習,就可以熟練地進行操作。本軟件包括的功能有用戶注冊、用戶登錄、支出管理、收入管理和便箋管理等等模塊。軟件的設(shè)計步驟:了解相關(guān)資料,了解本軟件的研究意義,確定實現(xiàn)技術(shù)與方式設(shè)計總目標及其整體框架。了解用戶的使用習慣和使用心理,進行用戶需求分析和規(guī)范。草擬功能模塊,畫出模塊圖。搜集軟件制作素材。數(shù)據(jù)庫設(shè)計及完善,創(chuàng)建數(shù)據(jù)表。編寫代碼實現(xiàn)各個功能模塊。根據(jù)Android特有的使用風格進行布局與優(yōu)化。完成系統(tǒng)測試并改進。本論文框架介紹本文詳細介紹了基于Android手機平臺的個人健康A(chǔ)PP的設(shè)計實現(xiàn)的全過程。從開始到程序設(shè)計的實現(xiàn),將在一下的幾章中予以介紹:第1章緒論,這一章主要是對本次畢業(yè)設(shè)計所開發(fā)的系統(tǒng)進行問題的定義,通過問題的定義明白需要做些什么,并且對開發(fā)內(nèi)容簡單的介紹了一下;同時本章還對課題的研究背景與研究意義進行分析,對開發(fā)本系統(tǒng)的可行性分析還有對論文各章內(nèi)容的簡要介紹。第2章相關(guān)技術(shù)及平臺介紹,對涉及到的理論知識和用到的開發(fā)工具做相關(guān)闡述。第3章系統(tǒng)分析,主要介紹了本系統(tǒng)需要實現(xiàn)的功能模塊和本系統(tǒng)的數(shù)據(jù)庫設(shè)計、頁面的詳細設(shè)計等。第4章系統(tǒng)設(shè)計,主要介紹了本系統(tǒng)的整個設(shè)計過程、設(shè)計思路以及設(shè)計中應(yīng)該注意的問題。第5章系統(tǒng)編碼實現(xiàn)與測試,主要介紹了本設(shè)計的實現(xiàn)環(huán)境和實現(xiàn),同時也介紹了測試在軟件開發(fā)環(huán)節(jié)中的重要性和給出本系統(tǒng)的測試過程與結(jié)論。最后:總結(jié)、致謝、參考文獻。2相關(guān)技術(shù)及開發(fā)平臺開發(fā)工具及環(huán)境簡介EclipseClassic是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。Eclipse是著名的跨平臺的自由(IDE)。最初主要用來開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT和PDE。目前由IBM牽頭,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、RationalSoftware、RedHat及Sybase等oEclipse是一個開發(fā)源碼項目,它其實是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。近期還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發(fā)的IDE集大成者,使用者只需下載各種語言的插件即可。SQLite3SQLite3是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式。它的設(shè)計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的,同時能夠跟很多程序語言相結(jié)合,比如Tel、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。SQLite第一個誕生于2000年5月.至今已經(jīng)有10個年頭,SQLite也迎來了一個版本SQLite3已經(jīng)發(fā)布。ADT目前開發(fā)所用的開發(fā)工具是Eclipse,在編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。AndroidSDKSDK:(softwaredevelopmentkit)開發(fā)工具包。被用于為特定的、軟件框架、硬件平臺、操作系統(tǒng)等建立的開發(fā)工具的集合。因此,AndroidSDK指的既是專屬的軟件開發(fā)工具包。Android系統(tǒng)Android一詞的本義指"機器人"同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng)早期由Google開發(fā)在華注冊商標名為“安致",后由開放手機聯(lián)盟OpenHandsetAlliance開發(fā)。它采用了軟件堆層softwarestack,又名以軟件疊層的架構(gòu),主要分為三部分。低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外為了推廣此技術(shù),Google和其它幾十個手機公司建立了開放手機聯(lián)盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機電話產(chǎn)品,而不是一套軟件平臺。到了2010年1月,Google開始發(fā)表自家品牌手機電話的NexusOne,目前最新SDK版本為Android。AndroidFeatures特性Android系統(tǒng)有如下的幾大特性⑴?應(yīng)用程序框架支持組件的重用與替換Dalvik虛擬機專門為移動設(shè)備做了優(yōu)化?內(nèi)部集成瀏覽器該瀏覽器基于開源的WebKit引擎?優(yōu)化的圖形庫包括2D和3D圖形庫3D圖形庫基于OpenGLESSQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲?多媒體支持包括常見的音頻、視頻和靜態(tài)印象文件格式如MPEG4,MP3,AAC,AMR,JPG,PNG?GSM電話依賴于硬件?藍牙Bluetooth,EDGE,3GandWiFi依賴于硬件?照相機GPS指南針和加速度計依賴于硬件?豐富的開發(fā)環(huán)境包括設(shè)備模擬器、調(diào)試工具、內(nèi)存及性能分析圖表;Android系統(tǒng)的四大組件在Android系統(tǒng)中為我們提供了四大基本組件每個組件是一個視圖但是有些是可見的有些是不可見的視圖像ActivityContentProvider是可見的視圖Service和BroadcastReceiver是不可見的它們只在系統(tǒng)的后臺運行。下面分別介紹四大組件[3]Activity簡介在Android系統(tǒng)中Activity提供可視化的用戶界面,一個Android應(yīng)用通常由多個Activity組成。多個Activity組成了Activity棧Stack,當前活動的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。Service簡介顧名思義Service就是運行在后臺的一種服務(wù)程序一般很少和用戶交互因此沒有可視化界面定義一個Service類比較簡單,只要繼承Service類,實現(xiàn)其生命周期中的方法就可以了。一個定義好的Service必須在配置文件注冊通過<service>元素聲明才能使用.Service有自己的生命周期我們可以調(diào)用startService()啟動一個Service或者bindService()方法來綁定一個存在的ServiceBroadcastReceiver簡介BroadcastReceiver顧名思義廣播接收器,它和事件處理機制類似,只不過事件處理機制是程序組件級別的。例如某個按鈕的單擊事件而廣播事件處理機制是系統(tǒng)級別的。到目前為止我們可以使用Intent來啟動一個程序組件,我們還可以通過使用sendBroadcast()方法來發(fā)起一個系統(tǒng)級別的事件廣播來傳遞消息。我們可以在你的應(yīng)用程序中實現(xiàn)BroadcastReceiver來監(jiān)聽和響應(yīng)這些廣播的Intent;ContentProvider簡介ContentProvider用來保存和檢索數(shù)據(jù)并且使應(yīng)用程序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。Android為常用的數(shù)據(jù)類型如音視頻、圖片和聯(lián)系方式等提供了大量的ContentProvider。它們被定義在包下面。通過這樣定義好ContentProvider我們可以方便的進行數(shù)據(jù)操作。當然我們必須擁有適當?shù)臋?quán)限。我們也可以自己來定ContentProvider共享我們的數(shù)據(jù)方便用戶的訪問。3系統(tǒng)分析概述系統(tǒng)分析是在總體規(guī)劃的指導下,對某個或若干個子系統(tǒng)進行深入仔細地調(diào)查研究,確定新系統(tǒng)邏輯功能的過程。這一階段的主要任務(wù)是由系統(tǒng)分析員了解每個業(yè)務(wù)流程,工作流程,廣大用戶的需求,運用系統(tǒng)開發(fā)理論、開發(fā)方法和開發(fā)技術(shù)設(shè)計出一個計算機化的信息系統(tǒng)。3.1.1系統(tǒng)分析的原則在系統(tǒng)分析中存在很多困難,為了克服困難,做好分析工作,在進行系統(tǒng)分析時應(yīng)遵循系統(tǒng)分析的原則,這樣才能保證分析工作能夠順利進行,系統(tǒng)分析的原則有:邏輯設(shè)計與物理設(shè)計分開的原則面向用戶的原則結(jié)構(gòu)化分析的原則通過實際調(diào)查并與相關(guān)用戶交流后,分析商品訂購網(wǎng)模擬網(wǎng)站的具體的要求,確定本網(wǎng)站系統(tǒng)的邏輯功能,以滿足用戶的各項要求,完成相應(yīng)的各項功能,提高網(wǎng)站的實用水平。在近期目標完成后,該系統(tǒng)應(yīng)該有很強的擴充性,便于在此基礎(chǔ)上進行擴充式開發(fā),為以后的發(fā)展及擴充打好基礎(chǔ)。3.1.2系統(tǒng)分析的方法該系統(tǒng)采用以抽象和分解為手段,并且采用結(jié)構(gòu)化分析方法進行系統(tǒng)分析,根據(jù)實際調(diào)查研究,對系統(tǒng)進行自頂向下的逐層分解,逐步細分,逐步求精,建立新系統(tǒng)的邏輯模型,這個邏輯模型將盡可能避免使用計算機術(shù)語,讓其盡可能的簡單化、通俗化,便于設(shè)計者和瀏覽者的溝通與交流經(jīng)驗。結(jié)構(gòu)化分析方法的基本思想是該系統(tǒng)采用結(jié)構(gòu)化分析方法,以抽象和分解為手段,對系統(tǒng)進行自頂向下的逐層分解,逐步細分,逐步求精,從而達到易于理解的目的。性能需求分析為了保證軟件能夠長期、安全、穩(wěn)定、可靠、高效地在Android設(shè)備上運行,本系統(tǒng)應(yīng)該滿足以下性能需求。實用性原則充分利用手機的2G/3G網(wǎng)絡(luò),為本軟件提供信息支持,充分考慮用戶獲取信息的心理需求,在簡潔實用的基礎(chǔ)上對軟件界面層級進行布局。可擴展性與可維護性原則為適應(yīng)將來的發(fā)展,軟件應(yīng)該具有良好的可擴展性和可維護性。系統(tǒng)設(shè)計盡可能模塊化、組件化,由于Android設(shè)備分辨率的各不相同,使軟件可靈活配置,適應(yīng)不同的的Android終端設(shè)備。系統(tǒng)的可擴展性應(yīng)包括能接納已有的系統(tǒng)和在今后系統(tǒng)軟硬件擴展時,能有效地保護已有的資源建設(shè)。當用戶的需求有所改變時,可以對其快速的配置改變,以應(yīng)對用戶的需求,有一個較好的應(yīng)用平臺 Android設(shè)備,能容易地安裝和卸載。系統(tǒng)易于擴充升級,既能滿足當前業(yè)務(wù)的需求,將來的需求改變升級也被考慮在內(nèi)。安全可靠性原則本軟件是基于手機設(shè)備使用的,其安全性與其他的應(yīng)用軟件是一樣的,本軟件不會殘留用戶任何的隱私信息。用戶界面美觀原則界面經(jīng)過對用戶心理的調(diào)研和統(tǒng)計后。并參考時下流行的軟件風格進行設(shè)計,在此基礎(chǔ)上,加入了對用戶具有誘導性的按鍵設(shè)計,使得用戶在初次使用的時候就會使用,而不需要在使用的時候進行特別的學習和指導。準確性與原則性原則軟件的準確性是成敗的關(guān)鍵,本軟件最核心的技術(shù)便是通過SOAP技術(shù)與互聯(lián)網(wǎng)上提供的接口進行交互,本軟件采用特殊處理來保證數(shù)據(jù)獲取的準確性和及時性,從軟件的布局還是數(shù)據(jù)呈現(xiàn)方面,都是經(jīng)過對用戶心理的研究和與其他數(shù)據(jù)對比的來的。易用性原則軟件是Android平臺上的軟件,自然保留了Android軟件的應(yīng)用性原則,平易近人,不需要額外學習,看到任何一個界面都不會不知所措,會有不同含義的圖標進行提示下一步操作,保證用戶使用時不會迷路。系統(tǒng)可行性分析該階段通過對系統(tǒng)總目標的初步調(diào)研與分析,提出可行性方案并進行論證。在此,主要從技術(shù)可行性、經(jīng)濟可行性和操作可行性三方面進行分析。經(jīng)濟可行性本軟件采用手機軟件的形式呈現(xiàn),與傳統(tǒng)的pc軟件相比具有,攜帶方便,隨之隨地獲取信息的特點,不受地理和時間的限制的特點,可以充分充分利用人們的閑暇時間,從這個角度看,該軟件可行。技術(shù)可行性開發(fā)工具:EclipseClassic數(shù)據(jù)庫環(huán)境:sqlite3系統(tǒng)環(huán)境:MicrosoftWindows7或以上版本軟件實現(xiàn)是依靠基于Android系統(tǒng)的開發(fā)技術(shù),使用的是java為主的開發(fā)語言進行開發(fā),再加上SQlite數(shù)據(jù)存取技術(shù)。操作可行性軟件采用最主流的Android軟件應(yīng)用開發(fā)風格,并使用Android的原生組件進行開發(fā),界面友好,簡潔易懂,組建布局具有誘導性,用戶使用極其方便快捷。系統(tǒng)功能需求可以登錄注冊,登陸成功有歡迎語。“***先生/女士,早上/下午/晚上好?!彼宰员仨氂行彰?、性別、生日。歡迎語下面兩個按鈕“健康信息錄入”、“健康信息查詢”。點擊“健康信息錄入”,可以錄入運動數(shù)據(jù)和健康指數(shù)。運動數(shù)據(jù)包括:晨跑(有里程)、早操晨練、日間行走、騎行(有)、游泳、球類運動、晚間跑步(有)。都是一樣的錄入起止時間,有里程的還要錄入里程。健康指數(shù)包括:身高、體重、視力、聽力、骨質(zhì)、腎臟、四肢、血液。提供一個字符串的錄入就行。點擊“健康信息查詢”,可以進行運動數(shù)據(jù)查詢、健康指數(shù)查詢。運動數(shù)據(jù)查詢:一個按鈕查一個運動。提供一個日期選擇框“**年*月*日”。再把以上數(shù)據(jù)全部調(diào)出打印在屏幕上。有里程的提供一個時速,計算出來。健康指數(shù)查詢:比如查身高,直接打印最近一個月已有數(shù)據(jù)。下面加個“顯示更多”,點擊了再打印一個月?!叭掌?數(shù)據(jù)”。系統(tǒng)使用流程分析本系統(tǒng)完成一個個人健康A(chǔ)PP功能,首先用戶需要注冊一個賬號才能管理本系統(tǒng),如果已經(jīng)有帳號的可以直接登錄本系統(tǒng),登錄通過后進入系統(tǒng)住界面,信息錄入和信息查詢兩個模塊,用戶可以選擇其中一個模塊進行操作,操作完畢后可以退出本系統(tǒng)。,圖是系統(tǒng)的流程圖:圖軟件管理流程圖系統(tǒng)設(shè)計系統(tǒng)設(shè)計目標在系統(tǒng)分析的基礎(chǔ)上,設(shè)計出能滿足預(yù)定目標的系統(tǒng)的過程。系統(tǒng)設(shè)計內(nèi)容主要包括:確定設(shè)計方針和方法,將系統(tǒng)分解為若干子系統(tǒng),確定各子系統(tǒng)的目標、功能及其相互關(guān)系,決定對子系統(tǒng)的管理體制和控制方式,對各子系統(tǒng)進行技術(shù)設(shè)計和評價,對全系統(tǒng)進行技術(shù)設(shè)計和評價等。本系統(tǒng)是設(shè)計目標是建立一個基于Android的個人健康A(chǔ)PP軟件,基本可以的滿足人們對常用圖片、日志和音樂文件的記錄或收藏功能,系統(tǒng)具有上手簡單、操作方便快捷的特點。用戶界面友好、操作簡單,每一步驟的操作都經(jīng)過精心的設(shè)計,將復雜的統(tǒng)計運算過程隱藏于簡單的操作之下,系統(tǒng)的設(shè)計能降低使用前的培訓、實施和使用中的維護時間。通過合理而先進的網(wǎng)絡(luò)設(shè)計及軟、硬件的優(yōu)化選型,足可保證系統(tǒng)的可靠性與容錯性。系統(tǒng)以用戶需求為目標,以方便用戶為原則,處處為使用者著想。系統(tǒng)功能模塊設(shè)計本系統(tǒng)采用SQLite數(shù)據(jù)庫來實現(xiàn)數(shù)據(jù)的持久性管理,功能模塊方面本系統(tǒng)包括用戶注冊模塊、用戶登錄模塊、信息錄入和查詢模塊等等,系統(tǒng)的模塊架構(gòu)設(shè)計如圖所示:
工程文件結(jié)構(gòu)設(shè)計在程序開發(fā)階段,首先確定“即基于Android的個人健康A(chǔ)PP軟件”的工程名稱為HealthyApp,根據(jù)程序模塊設(shè)計的內(nèi)容,建立HealthyApp項目,HealthyApp項目,的文件結(jié)構(gòu)如圖所示:
0HealthyApp>■Android4.4.2巳AndroidPrivate0HealthyApp>■Android4.4.2&rccom.cm.heaHhyap卩,曰ctivity|7]AddHeaIthylnfoActivityJava[T|HealthyResuItActivity.javsJT|LoginAdiivity.javaJT|Qu^ryhealthylnf口人卅訕咖目陽JT]RegisterActivity.Java》IDWeicome-AdivityJava出com.crn.healihyapp.apiGom.cm.heallhyapp,beaneDm.cm.heslihyapp.cortun&nGom.cm.heallhyapp.dbcom.cm.healihyapp.utilsgen[Ge-neratedJavaFiles]assetsbinlibsres圖工程結(jié)構(gòu)圖為了使代碼文件結(jié)構(gòu)更加清晰,HealthyApp工程設(shè)置了多個命名空間,分別保存了用戶界面、數(shù)據(jù)適配器、常用類庫和實體多個包,源代碼的名稱以及說明如表所示:包名稱文件名說明登錄界面視圖注冊界面視圖查詢結(jié)果界面視圖信息錄入界面視圖表系統(tǒng)代碼結(jié)構(gòu)Android的資源文件保存在/res的子目錄中。其中、/res/anim目錄中保存的是產(chǎn)生動畫效果的XML文件,/res/drawable/目錄中保存的是圖像文件,/res/values目錄中保存的是用來自定義字符串和顏色的文件,/res/xml目錄中保存的是XML格式的數(shù)據(jù)文件。系統(tǒng)實現(xiàn)本章介紹本系統(tǒng)的各個模塊的設(shè)計和實現(xiàn)。首先在Eclipse中配置好ADT和AndroidSDK等開發(fā)環(huán)境,然后新建一個Android項目,項目名為HealthyApp,然后在Android項目中的文件中配置本軟件需要使用的權(quán)限。個人健康A(chǔ)PP的主要功能有:用戶登錄,用戶注冊,收入支出管理,數(shù)據(jù)統(tǒng)計,便箋管理和系統(tǒng)設(shè)置。本軟件是一個結(jié)合手機用戶特別是智能手機用戶常用功能的一個軟件平臺,本軟件可以通過SQLite數(shù)據(jù)庫來實現(xiàn)用戶數(shù)據(jù)的永久性管理,是用戶日程生活中不可多得的一款實用性軟件。用戶登錄界面本系統(tǒng)需要用戶登錄后才能使用,本界面包括兩個EditText和兩個Button組件,同時也包括一個Checkbox組件,用戶登錄時需要提供帳號和密碼,輸入帳號和密碼后通過單擊登錄按鈕來提交登錄請求,這時系統(tǒng)會通過提取SQLite數(shù)據(jù)庫的用戶信息來驗證當前的用戶身份是否有效,如果有效系統(tǒng)會自動跳轉(zhuǎn)進入主界面,否則給出登錄失敗的提示語。同時,如果還沒注冊可以通過右上角的“注冊”按鈕注冊;登錄的同時用戶可以通過選擇勾選“記住密碼”按鈕來基本本次登錄的密碼,這樣下次進入到本界面后,系統(tǒng)會自動提取上次登錄成功的密碼出來并顯示在界面的密碼框里,省去了用戶每次都要輸入密碼的麻煩,另外,對于帳號系統(tǒng)是默認記錄的,也就是說只要用戶登錄成功,系統(tǒng)都會自動保存本次登錄成功的帳號信息,同樣的,下次用戶在進入本系統(tǒng)時,系統(tǒng)也會自動提取和顯示上次保存的帳號。具體的實現(xiàn)效果如圖所示:圖用戶登錄主界面核心實現(xiàn)代碼:@SuppressWarnings("unchecked")privateclassbtnLoginOnClickListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){if().length()==0){("請輸入賬號");return;}if().length()==0){("請輸入密碼");return;}JDaodao=();HashMap<String,Object>map=newHashMap<String,Object>();try{("loginid",());("password",());List<DBTable_User>list=(map);if()>0){,"loginid",().toString());if()){,"password",().toString());}else{,"password","");}OnLineUserlineUser=newOnLineUser();(0).getId());(0).getLoginid());etId());返回 注冊帳號;渝入賬號姓名:輸入姓名性別:輸入性別生日:格式為2015-5-24密碼:輸入密碼確認密碼:再;欠輸入密碼確定注冊ength()==0){("請輸入賬號");return;if().length()==0){("請輸入姓名");return;}if().length()==0){("請輸入性別");return;}if().length()==0){("請輸入生日");return;}if().length()<6){("賬號長度至少為6位");return;}if().length()==0){("請輸入密碼");return;}if().length()<6){("密碼長度至少為6位");return;}if().length()==0){("請再次輸入密碼");return;}if(!().toString().equals().toString())){("兩次輸入密碼不一致");return;};Daodao=();HashMap<String,Object>map=newHashMap<String,Object>();try{("loginid",());List<DBTable_User>list=(map);if()>0){_("該帳號已存在");}else{DBTable_Usermodel=newDBTable_User();().toString());().toString());().toString());().toString());().toString());(model);("注冊成功");晨跑開始時間胳式為18:00:00結(jié)束時間格式為例如輸人1000?位為米)早操晨練開始時間格晨跑開始時間胳式為18:00:00結(jié)束時間格式為例如輸人1000?位為米)早操晨練開始時間格式為18:00:00結(jié)束時間格式^18:00:00日間幵始珂間格式為18:0000結(jié)束旳間格式為18:00:00model;叱冷r健康信息錄入運動數(shù)據(jù)
try{QueryBuilder<DBTable_Data,Integer>builder=();Where<DBTable_Data,Integer>where=();("userid",());();("type",2);("createtime",true);list=();}catch(SQLExceptione){();}returnnull;}@OverrideprotectedvoidonPostExecute(Stringresult){(result);adapter=newIncomeAdapter(getApplicationContext(),list);(newonItemLongClickListener());(newonItemClickListener());(adapter);(null);(0);}}系統(tǒng)測試測試的重要性軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這包括:認為測試工作不如設(shè)計和編碼那樣容易取得進展難以給測試人員某種成就感;以發(fā)現(xiàn)軟件錯誤為目標的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責任者工作的一種否定;測試工作枯燥無味,不能引起人們的興趣;測試工作是艱苦而細致的工作;對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。這些觀點對軟件測試工作是極為不利的,必須澄清認識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。測試的目的如果測試的目的是為了盡可能多地找出錯誤,那么測試就應(yīng)該直接針對軟件比較復雜的部分或是以前出錯比較多的位置。如果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評價,那么測試就應(yīng)該直接針對在實際應(yīng)用中會經(jīng)常用到的商業(yè)假設(shè)。在談到軟件測試時,許多人都引用GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中的觀點:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;測試是為了證明程序有錯,而不是證明程序無錯誤;一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導,認為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。登錄測試結(jié)果如圖所示,由此可見程序是沒問題的;經(jīng)過上述測試,本系統(tǒng)各項操作中均可按照預(yù)期的設(shè)計運行,實現(xiàn)了系統(tǒng)的開發(fā)目標與要求。重要的是,還要從最終用戶的角度進行安全性和可用性測試。完成了系統(tǒng)的基本功能。實施開發(fā)計劃管理,質(zhì)量計劃管理,進行產(chǎn)品的設(shè)計和實現(xiàn);進行多層次的測試和驗證,交付安裝時提供義務(wù)期限;提供維護支持、配置管理、文檔控制、質(zhì)量記錄、培訓人員和其它支持活動等;總之,加強質(zhì)量管理,針對所有可能影響軟件質(zhì)量的各個因素都要采取有力措施,作出加強質(zhì)量管理和控制的決定。與質(zhì)量有關(guān)的人員都要規(guī)定其職責和權(quán)限,使責任落實到人,保證產(chǎn)品質(zhì)量真正得到控制。總結(jié)本系統(tǒng)較完整的實現(xiàn)了基于Android的個人健康A(chǔ)PP系統(tǒng)的設(shè)計與實現(xiàn)基本功能。完成了最初系統(tǒng)設(shè)計中用戶登錄、用戶注冊、收入支出管理模塊、統(tǒng)計管理模塊、便箋管理模塊、系統(tǒng)設(shè)置等等模塊的實現(xiàn)工作。從本系統(tǒng)的開發(fā)過程中,我受益匪淺。首先,我認識到了代碼規(guī)范的重要性,特別是在一些大型項目中,用到的函數(shù)可能有數(shù)百個,如果編寫的代碼不規(guī)范會給后期的檢查帶來極大的麻煩。而且完整的代碼測試也非常重要,有些錯誤可能在很久以后才能發(fā)現(xiàn)。其次,我意識到了軟件設(shè)計的重要性,原來接觸的項目往往是快速開發(fā)類型的,幾乎不需要在軟件的邏輯設(shè)計上花費太多時間,往往可以邊開發(fā)邊進行下一步的設(shè)計。但是這一次我意識到做軟件設(shè)計很重要,當初一個設(shè)計沒注意,可能造成后來的編碼大面積的返工。最后就是調(diào)試方法的重要性,系統(tǒng)的調(diào)試過程要比開發(fā)過程繁瑣的多。每個操作、每次向服務(wù)器提交請求,其實都包括了很多小段代碼的執(zhí)行,如果不能夠采用正確的調(diào)試方法,就很難找出程序中的錯誤。系統(tǒng)開發(fā)過程中主要遇到了下列問題:忽略了每次向后臺數(shù)據(jù)庫提交請求后客戶端數(shù)據(jù)都將重新加載的情況,以致無法將預(yù)期的數(shù)據(jù)提交到數(shù)據(jù)庫。與當今市場上已有的系統(tǒng)相比,本系統(tǒng)沒有做到像它們一樣適合各種各樣的用戶,而只是適合小型個人用戶,適用范圍較為局限,這是本系統(tǒng)的有待改進之處。致謝經(jīng)過兩個多月的努力,自己終于完成了畢業(yè)設(shè)計和畢業(yè)論文的寫作工作,在這里我要感謝我的設(shè)計指導老師***老師,是她在論文的選題及技術(shù)方向上給我提出許多寶貴的設(shè)計意見,在最后的測試修改階段又在百忙之中抽出時間為我提供了必要的幫助,這樣使得我得以順利的完成畢業(yè)設(shè)計開發(fā)工作,老師淵博的知識、敏銳的思路和實事求是的工作作風給我留下了深刻的印象,這將使得我終身受益,謹此向老師表示衷心的感謝。感謝在校的老師們,在我大學時間里對我的諄諄教誨和無私幫助,在實際的開發(fā)工作中,我
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職(汽車檢測與維修)空調(diào)系統(tǒng)故障診斷技術(shù)試題及答案
- 2025年高職藥物制劑技術(shù)(制劑工藝進階)試題及答案
- 2025年高職計算機應(yīng)用(多媒體課件制作)試題及答案
- 2025年中職第一學年(汽車鈑金)車身凹陷修復階段測試試題及答案
- 2025年大學大四(智能制造)生產(chǎn)線調(diào)試專項測試題及答案
- 2025年中職數(shù)控加工技術(shù)(數(shù)控應(yīng)用)試題及答案
- 2025年高職畜牧獸醫(yī)(養(yǎng)殖場管理)試題及答案
- 2025年大學大一(自動化)自動控制原理階段測試試題及答案
- 2025年本科金屬材料工程(金屬材料設(shè)計)試題及答案
- 2025年大學第二學年(物流工程)物流成本控制試題及答案
- 計算機就業(yè)能力展示
- 三亞崖州灣科技城南海資源保護開發(fā)與利用產(chǎn)業(yè)創(chuàng)新平臺 環(huán)評報告
- 華為三支柱運作之HRBP實踐分享概要課件
- 16 ADCampus解決方案微分段技術(shù)白皮書1.0
- 南郵模式識別復習提綱(整理)
- 中國古代傳統(tǒng)節(jié)日與民俗文化
- 設(shè)備設(shè)施風險分級管控清單
- 河南交通職業(yè)技術(shù)學院教師招聘考試歷年真題
- 污水管網(wǎng)工程監(jiān)理規(guī)劃修改
- (機構(gòu)動態(tài)仿真設(shè)計)adams
- 北京市社保信息化發(fā)展評估研究報告
評論
0/150
提交評論