畢業論文-基于android平臺的手機計步器設計_第1頁
畢業論文-基于android平臺的手機計步器設計_第2頁
畢業論文-基于android平臺的手機計步器設計_第3頁
畢業論文-基于android平臺的手機計步器設計_第4頁
畢業論文-基于android平臺的手機計步器設計_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

北京郵電大學世紀學院畢業設計論文題目基于安卓平臺的手機計步器的設計學號學生姓名專業名稱所在系(院)指導教師2013年6月1日題目基于安卓平臺的手機計步器的設計摘要ANDROID是一個針對移動設備的操作系統和軟件平臺,隨著智能手機的興起,漸漸成為了占有市場最大比重的移動平臺操作系統,同時也越發地受到廣大用戶的青睞。ANDROID采用LINUX內核,由GOOGLE和開放手機聯盟于2007年11月5日發布。容許使用JAVA語言來開發和管理代碼。作為一個年輕并且流行的移動應用平臺,目前ANDROID軟件的應用面還是比較廣泛的,比如聊天,通訊,上網等等,但涉及傳感器方面的應用軟件還比較少。本文在分析討論ANDROID手機軟件開發原理的同時,針對智能手機用戶日常使用的實際情況,對用戶手機的日常功能需求進行調查。發現對于經常走路上班或者鍛煉的朋友來說擁有一款精美、功能齊全的計步器是非常必要的。將精確計量和智能運行技術完美結合,只需開啟軟件,通過感應器傳來的信息,APP能夠變化算法,測得你的走路步數,速度以及消耗的卡路里量與行走歷程。一款合適的計步器在無形中會量化用戶的健身效果,幫助用戶堅持鍛煉以達到更好的健身效果。關鍵詞ANDROID智能手機平臺計步器JAVATITLETHEDESIGNOFMOBILEPHONEPEDOMETERBASEDONTHEANDROIDPLATFORMABSTRACTANDROIDISANOPERATINGSYSTEMANDSOFTWAREPLATFORMFORMOBILEDEVICESWITHTHEDEVELOPMENTOFSMARTPHONE,ITGRADUALLYBECAMETHEBIGGESTPROPORTIONINTHEMARKETOFMOBILEOPERATINGSYSTEMATTHESAMETIME,ITBECAMEMOREANDMOREPOPULARAMONGUSERSANDROIDUSESTHELINUXKERNEL,ANNOUNCEDONNOVEMBER5,2007BYGOOGLEANDTHEOPENHANDSETALLIANCE,ANDITALLOWTOUSEJAVALANGUAGETODEVELOPANDMANAGETHECODEASAYOUNGANDPOPULARMOBILEAPPLICATIONPLATFORM,THEAPPLICATIONOFANDROIDISRELATIVELYWIDESUCHASCHAT,COMMUNICATIONANDINTERNETHOWEVER,THEAPPLICATIONOFSENSORSISLESSTHETHESISOFTHISESSAYISTOANALYZEANDDISCUSSTHEPRINCIPLEOFSOFTWAREDEVELOPMENTOFANDROIDMOBILEPHONEALSO,THEANOTHERPURPOSEINTHISESSAYISTOCONDUCTANINVESTIGATIONINTHEDAILYFUNCTIONALDEMANDFORMOBILEPHONEUSERSBASEDONTHESITUATIONOFDAILYUSESOFSMARTPHONEUSERSTHERESEARCHSHOWSTHATITISVERYIMPORTANTTOHAVEAFULLYFUNCTIONALPEDOMETERFORPEOPLEWHOOFTENWALKTOWORKOREXERCISETHEPEDOMETERMAKESAPERFECTCOMBINATIONOFACCURATEMEASUREMENTANDINTELLIGENTOPERATIONALTECHNOLOGY,WHENTHESOFTWAREAREREADYTORUN,ITCANUSETHEMASSAGEWHICHACQUIREFROMSENSORTOCALCULATETHESTEPFREQUENCY,SPEED,THECONSUMPTIONOFCALORIESANDWALKINGJOURNEYOFYOURWALKANAPPROPRIATEPEDOMETERCANQUANTIFYUSERSFITNESSEFFECTINPOTENTIALLYINTHISWAYITCANMAKEUSERSTOKEEPEXERCISINGINORDERTOACHIEVEBETTERFITNESSEFFECTKEYWORDSANDROIDSMARTPHONEPLATFORMJAVAPEDOMETER目錄1前言111智能手機系統開發背景112課題的目的與意義213本文主要研究內容22相關技術介紹421開發工具及環境簡介4211開發工具4212開發環境522ANDROIDSDK常見公共類庫介紹6221ANDROID的傳感器6222ANDROID界面ACTIVITY介紹63系統需求分析831可行性研究8311經濟可行性8312技術可行性8313操作可行性932性能需求分析10321實用性原則10322可擴展性與可維護性原則10323安全可靠性原則11324用戶界面美觀原則1133數據需求分析134系統設計1441系統總體結構設計1442系統靜態模型設計155系統實現1651布局界面的設計16511主界面的設計16512設置界面的設計1752各功能的實現18521計步開始及暫停18522記錄數據清零18523設置步長18524設置體重19525設置運動狀態196系統測試2061測試開始停止模塊20611測試準備20612測試過程2062測試總結235結論24致謝25參考文獻26附錄271前言11智能手機系統開發背景當今社會,手機已經成為人們工作生活中必不可少的一項通訊和娛樂工具,隨著手機的不斷更新,手機的各種高層服務和應用層出不窮。現在智能手機可謂是爆發式增長,與此同時傳統手機在不斷地消失,諾基亞就是在這樣的環境中受到了重創。現在主要有三個使用率和關注度最高的手機平臺,分別是ANDROID,IOS和WINDOWSPHONE平臺,在這三個平臺中ANDROID的占有率最高。自2007年11月GOOGLE公司發布ANDROID系統以來,短短幾年時間,ANDROID已經占據了智能手機市場的半壁江山,成為目前最為炙手可熱的智能手機操作系統。ANDROID走進了越來越多人的生活,成為他們獲取信息的主要平臺。ANDROID平臺是一個面向大眾的系統,分布在低端,中端和高端市場中,受到了各個層次的歡迎,并且ANDROID是開源的,開發者隨時都可以查看系統源代碼,并且使用時下最流行的JAVA作為其主要的開發語言。由于這些特點,才使得ANDROID成為現在市場占有量最大的軟件平臺,在這樣的平臺上面開發一款獨特的日常生活軟件尤為必要的。ANDROID不只是一個操作系統而已,它包括了A經過GOOGLE剪裁和調優的LINUXKERNEL,對于掌上設備的硬件提供了優秀的支持。GOOGLE在LINUX方面的應用能力不容置疑,GOOGLE公司所有的幾十萬服務器全部是自己修改過的LINUX操作系統。B經過GOOGLE修改的JAVA虛擬機DALVIK,是基于APACHEHARMONY虛擬機版本進行改良而來,能夠提供極高的執行性能。有了JAVA虛擬機,大部分JAVA核心類庫都已經可以直接運行。C大量立即可用的類庫和應用軟件,例如瀏覽器WEBKIT,數據庫SQLITE,讓你可輕易開發出來媲美于桌面應用復雜度的手機軟件。DGOOGLE已經開發好了大量現成的應用軟件,同時可以直接使用GOOGLE很多在線服務。EGOOGLE提供了基于ECLIPSE的完整開發環境,模擬器,文檔,幫助,示例將極大推動ANDROID快速的推廣和發展。基于ANDROID眾多的優點,圍繞ANDROID形成了一個移動手機聯盟,主要的手機廠商幾乎全部在列,而此聯盟在極大的推動ANDROID平臺的推廣和發展,在未來的幾年也必將極大的推動整個手機操作系統甚至是互聯網乃至軟件行業的發展。12課題的目的與意義ANDROID平臺對于GOOGLE和用戶的意義不在于手機本身,而在于為了推動移動互聯網產業鏈的迅速成型。具有開源特性的ANDROID手機平臺廢棄了之前SYMBIAN、WINDOWSMOBILE等操作系統收取高額的授權費用的模式,使得應用開發成本大大降低;也正是由于它開放源代碼,使得手機產生更多個性化的應用。同時,合作方也能夠在這里得到利潤或者創造價值,手機軟件行業得到有效的維護協調發展。這正式GOOGLE發布ANDROID平臺的意義,也是ANDORID平臺存在的使命所在。而作為ANDROID平臺成員之一的中國移動也投資成立了一家通訊公司,專門從事GOOGLE手機軟件的應用以及本地化特色軟件的開發,比如在GOOGLE手機平臺上添加飛信、輸入法等一系列符合國內用戶使用習慣的功能。更多的手機軟件開發商已經或者籌備將公司進行轉型,從其方向的開發轉向到ANDROID軟件的開發。綜觀世界,ANDROID平臺對手機軟件行業和移動手機平臺將發揮極大地推動作用,而在未來的幾年或者一段時間內,ANDROID將越發的凸顯自己的重要性。基于此,我們有必要通過進行相關的研究來了解ANDROID平臺,來了解開發ANDROID的那一大批人的先進理念和思想,進而更深入了解手機軟件行業,同事掌握未來無線移動互聯網的發展趨勢,從而更好的適應時代的需要。13本文主要研究內容本論文是對基于安卓平臺的手機計步器的設計和研究,目的是為了方便用戶綠色生活,保持健康的生活態度,并且為用戶節約了不必要的開支同時也避免了資源的浪費。ANDROID系統的一大亮點之一就是傳感器的使用,利用傳感器可以開發出很多新奇有趣的應用程序,例如計步器,水平儀,甚至在很多游戲中都可以使用傳感器來操作游戲。傳感器的種類很多,其中包括加速度傳感器、姿態傳感器、磁場傳感器、溫度傳感器、光傳感器等,本論文介紹的計步器應用就是使用加速度傳感器。本論文主要對計步器以下功能做主要研究。程序運行后進入主界面,用戶可以看到行程、消耗熱量、速度以及步速。點擊開始,進入運行狀態,點擊清零可以使所有數據回歸零初始狀態。點擊設置選項可以進入設置界面,調節靈敏度來設置需要的靈敏度(靈敏度越高,對身體的動作的感應越靈敏,調節靈敏度來適應不同的體型了,路面等因素),通過設置步長來設置用戶自身實際步長(為了估算行走的距離和速度,輸入步長得出粗略的距離和速度,僅供參考),設置體重來調節用戶的實際體重(這是為了計算消耗的卡路里)。按軟件工程步驟1了解相關資料,了解本軟件的研究意義,確定實現技術與方式設計總目標及其整體框架。2了解用戶的使用習慣和使用心理,進行用戶需求分析和規范。3草擬功能模塊,畫出模塊圖。4搜集軟件制作素材。5編寫代碼實現各個功能模塊。6根據ANDROID特有的使用風格進行布局與優化。7完成系統測試并改進。2相關技術介紹21開發工具及環境簡介ANDROID的上層應用程序是用JAVA語言開發,同時還需要基于DALVIK虛擬機,所以GOOGLE公司推薦使用主流的JAVA繼承開發環境ECLIPSE。只有ECLIPSE還不夠,因為是使用JAVA語言進行開發,還應該有由SUN公司提供的JAVASDK其中包括JREJAVARUNTIMEENVIRONMENT。此外,ANDROID的應用程序開發和JAVA開發有較大區別的,所以還需要有GOOGLE提供的ANDROIDSDK。同時,還需要在ECLIPSE安裝ADT,為ANDROID開發提供開發工具的升級或者變更,是ECLIPSE下開發工具的升級下載的工具。簡言之,需要以下軟件,才能搭建ANDROID開發環境,從而進行ANDROID應用程序的開發。1JAVASDK2ECLIPSE3ANDROIDSDK4ADT211開發工具2111ANDROIDSDK介紹SDK指是軟件開發包,被軟件開發工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合。因此,ANDROIDSDK指的既是ANDROID專屬的軟件開發工具包。2112ECLIPSE簡介ECLIPSE是一個著名的跨平臺的自由集成開發環境軟件。最初主要用來JAVA語言開發,現在人們可以通過安裝插件使其作為C、PYTHON、PHP等其他語言的開發工具。ECLIPSE的本身只是一個框架平臺,但是隨著眾多插件的產生,使得ECLIPSE擁有很好的靈活性。許多軟件開發商以ECLIPSE為框架開發自己的IDE。ECLIPSE含有插件開發環境,這個組件主允許希望擴展ECLIPSE的軟件開發人員構建與ECLIPSE環境無縫集成的工具。由于ECLIPSE中的每樣東西都是插件,對于給ECLIPSE提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。盡管ECLIPSE是使用JAVA語言開發的,但它的用途并不限于JAVA語言。例如,支持諸如C/C和COBOL等編程語言的插件已經可用。ECLIPSE框架還可用來作為與軟件開發無關的其他應用程序類型的基礎,比如內容管理系統。本系統即通過ECLIPSE,添加ANDROID做插件,匹配上ANDROIDSDK進行軟件的開發。2113JDK簡介JDKJAVADEVELOPMENTKIT是一個寫JAVA應用程序的程序開發環境。它由一個處于操作系統層之上的運行環境還有開發者編譯,調試和運行用JAVA語言寫的APPLET和應用程序所需的工具組成。JDK是SUNMICROSYSTEMS針對JAVA開發員的產品。自從JAVA推出以來,JDK已經成為使用最廣泛的JAVASDK(SOFTWAREDEVELOPMENTKIT)。JDK是整個JAVA的核心,包括了JAVA運行環境,JAVA工具和JAVA基礎的類庫。JDK中還包括完整的JRE(JAVARUNTIMEENVIRONMENT,JAVA運行環境),也被稱為PRIVATERUNTIME。包括了用于產品環境的各種庫類,以及給開發員使用的補充庫,如國際化的庫、IDL庫。2114ADT簡介GOOGLE專門為ECLIPSE開發了一個插件來輔助開發,即ANDROIDDEVELOPMENTTOOLS(ADT)。目前ANDROID開發所用的開發工具是ECLIPSE,在ECLIPSE編譯IDE環境中,安裝ADT,為ANDROID開發提供開發工具的升級或者變更,簡單理解為在ECLIPSE下開發工具的升級下載工具。212開發環境本軟件是在WINDOWS7操作系統中,利用ECLIPSE開發工具搭載ANDROIDSDK工具包,結合ANDROID手機自帶的SQLITE3數據庫進行開發。22ANDROIDSDK常見公共類庫介紹221ANDROID的傳感器加速度傳感器、磁場傳感器、光線傳感器、重力傳感器、線性加速傳感器、等等。加速度傳感器SENSORTYPE_ACCELEROMETER返回手機設備在X,Y,Z三個方向上的加速度(我們用到的)磁場傳感器SENSORTYPE_MAGNETIC_FIELD,返回周圍磁場在手機的X,Y,Z方向上的影響磁場分量距離感應器SENSORTYPE_PROXIMITY重力傳感器SENSORTYPE_GRAVITY線性加速傳感器SENSORTYPE_LINEAR_ACCELERATION222ANDROID界面ACTIVITY介紹ANDROID的界面是由每一個成為ACTIVITY的JAVA類組成的,這個類庫是制作ANDROID軟件必須使用的。WALKINGACTIVITY是應用程序的用戶界面,主要功能是按照XML布局文件的內容顯示界面并與用戶進行交互。只有使用了這個才可以讓用戶看得見,本類中有幾個常用的覆寫方法來表示界面的生存周期,分別是ONCREATE,ONSTART,ONRESUME,ONPAUSE,ONSTOP,ONDESTROY,ONRESTART七個方法。ACTIVITY的生命周期圖,如圖21所示圖21ANDROIDACTIVITY生存周期圖3系統需求分析31可行性研究可行性分析(FEASIBILITYANALYSIS)也稱為可行性研究,是在系統調查的基礎上,針對剛剛開發打算進一步應用的系統的必要性和可能性的分析和研究。可行性研究的目的主要在于,用最小的代價在盡可能短的時間內確定問題是否能夠解決。該階段通過對系統總目標的初步調研與分析,提出可行性方案并進行論證。在此,主要從經濟可行性、技術可行性和操作可行性三方面進行分析。311經濟可行性隨著人民生活水平的提高,尤其我國成功承辦2008年奧運會以來,人們的健康運動意識逐漸增強。而上班族們由于時間緊張可利用的休閑時間較少,他們則會利用一些零散的時間進行鍛煉,比如上班來回的路上多走路少乘車,在辦公區盡量選擇走樓梯而不是乘坐電梯等等,由于運動時間零散不便于量化自己的運動量,也就無法估計健身效果。在這樣的背景前提下,擁有一款計步器就顯得尤為必要了。目前市場上的計步器少則幾十多則上百,而智能手機計步器軟件的成本幾乎為零。只需用戶擁有一臺有安卓系統的智能手機即可安裝使用了。并且手機計步器軟件攜帶方便,可以隨時隨地獲取用戶的運動信息,擁有不受地理和時間限制的特點,可以充分利用人們的閑暇時間,從這個角度看,該軟件可行。312技術可行性開發工具ECLIPSECLASSIC372數據庫環境SQLITE3系統環境MICROSOFTWINDOWSXP或以上版本軟件實現是依靠基于ANDROID系統的開發技術,使用的是JAVA為主的開發語言進行開發,再加上SOAP技術進行數據交互。3121功能說明具體有如下一些功能計步開始,計步暫停,計步清零,主屏幕顯示計步總數,走過的公里數,每分鐘走多少步,每小時走多少公里和消耗的卡路里量。進入設置菜單設置靈敏度,設置步長,根據步長計算走過公里數、步速和消耗的卡路里量,設置體重和運動類型,主要用于計算消耗的卡路里量。退出應用。3122技術分析表31技術需求分析關鍵技術項要求現有水平對照分析數據結構了解了解可以滿足要求。數據庫熟悉了解雖有欠缺,但通過指導培訓,應該在短期內可以達到要求。JAVA熟練熟悉基本可以滿足要求。ANDROID精通熟悉短期需進一步達到要求,存在一定問題。313操作可行性軟件采用最主流的ANDROID軟件應用開發風格,并使用ANDROID的原生組件進行開發,界面友好,簡潔易懂,組建布局具有誘導性,用戶使用極其方便快捷。主界面操作流程見圖31,設置界面操作流程見圖32。開始計步計步暫停計步清零開始圖31圖為主界面操作流程圖主界面設置靈敏度運動類型型返回步長體重圖32圖為設置界面操作流程圖32性能需求分析為了保證軟件能夠長期、安全、穩定、可靠、高效地在ANDROID設備上運行,本系統應該滿足以下性能需求。321實用性原則充分利用手機的內置傳感器功能,為本軟件提供信息支持,充分考慮用戶獲取信息的心理需求,在簡潔實用的基礎上對軟件界面層級進行布局,做到了方便,美觀大方。322可擴展性與可維護性原則為適應將來的發展,軟件應該具有良好的可擴展性和可維護性。系統設計盡可能模塊化、組件化,由于ANDROID設備分辨率的各不相同,使軟件可靈活配置,適應不同的的ANDROID終端設備。系統的可擴展性應包括能接納已有的系統和在今后系統軟硬件擴展時,能有效地保護已有的資源建設。當用戶的需求有所改變時,可以對其快速的配置改變,以應對用戶的需求,有一個較好的應用平臺ANDROID設備,能容易地安裝和卸載。系統易于擴充升級,既能滿足當前業務的需求,將來的需求改變升級也被考慮在內。323安全可靠性原則隨著三網融合的發展,智能終端產業鏈的構成相對于傳統功能手機發生了巨大變化。處于上游的操作系統提供商制定安全機制的基本規則以及相應的應用商店政策。終端廠商在這些規則的基礎上,定制個性化的終端軟件,建立自有的應用商店。應用軟件開發商/開發者則利用操作系統提供商提供的工具進行各類應用軟件的開發,第三方應用商店或論壇等提供應用軟件的下載渠道。基于智能終端產業鏈在管理和技術方面暴露出來的脆弱性,來源于傳統互聯網和信息系統的各類攻擊逐漸將目標定位于智能終端,并借助智能終端操作系統的開放性制造出大量的惡意軟件。此外,應用商店的審核機制欠缺也導致了惡意軟件的泛濫。目前智能終端信息竊取類軟件橫行,一款應用軟件的安全可靠性便顯得尤為重要了。現在智能終端個人信息的泄露通常不會引起用戶的覺察,或者即便覺察也無法判斷其帶來的損失。與早期的安全問題不同,個人信息泄露所帶來的通常不是直接的高額話費,而是潛在的巨大經濟損失。如銀行賬戶泄密、絕密商業信息泄露等。如何保護用戶個人信息,防止在用戶不知情的情況下泄露隱私信息,是當前亟待解決的問題。本軟件承諾不會殘留用戶任何的隱私信息。324用戶界面美觀原則界面經過對用戶心理的調研和統計后。并參考時下流行的軟件風格進行設計,在此基礎上,加入了對用戶具有誘導性的按鍵設計,使得用戶在初次使用的時候就會使用,而不需要在使用的時候進行特別的學習和指導。A應用圖標見圖33。圖33圖為應用圖標B主界面見圖34。C設置和退出按鈕見圖35。圖34圖為應用主界面圖35畫紅圈處為設置,退出按鈕D設置界面見圖36。圖36圖為設置界面33數據需求分析表32信息輸入輸出信息輸入信息處理信息輸出用戶點擊開始計步軟件通過后臺感應手機狀態,開始計步通過軟件主界面輸出計步總數,消耗卡路里等信息用戶點擊暫停軟件將通過后臺停止感應手機狀態,從而停止計步顯示計步的相應信息用戶用戶點擊清零軟件通過后臺運行清除所記錄的數據所有這界面顯示的信息將歸零等待下次命令用戶點擊設置鍵軟件通過數據庫中的設置管理顯示設置主界面輸入步長設置對數據庫中步長信息進行改變刷新設置中步長列表輸入靈敏度設置對數據庫中靈敏度信息進行改變刷新設置中靈敏度列表輸入體重設置對數據庫中的體重進行管理刷新收藏夾電視頻道的列表輸入運動類型設置對數據庫中的運動類型進行管理刷新收藏夾單詞的列表4系統設計41系統總體結構設計在設計一款軟件時一般都會把它分成幾個模塊,在模塊的基礎上還會再分小模塊,這樣就達到了軟件模塊化設計的要求,然后再對各個小模塊進行詳細設計和編寫,采用模塊化的管理方式可以使軟件結構更清晰,也使得軟件的管理更有秩序,使別人容易理解和閱讀,但是這些模塊也要根據別的模塊來設計和約束,不能隨便設計脫離框架,設計完成后需要把每個設計完成的模塊根據總體框架結合起來。根據本軟件的功能需求,將本軟件分為以下幾個功能模塊,如圖41所示主界面步數公里步速時速卡路里設置走過的總步數走過的總長度每分鐘多少步走過的總步數運動所消耗的能量暫停/開始清零所有數據清零開始/暫停運動靈敏度步長體重運動類型設置軟件敏感程度設置用戶一步多長設置用戶體重設置用戶運動類型結束關閉應用軟件圖41整體框架圖42系統靜態模型設計根據系統需求可以識別系統中存在的對象。從需求中可知我們至少創建2個類主界面類和設置類。系統和用戶交互時需要直觀的圖形化界面,所以我們需要5個設置界面類。確定了系統的類后需要確定類之間的關系,如圖42所示STEPSERVICE計步器后臺服務類實現STEPSERVICE對加速傳感器的監聽STEPDETECTOR加速度傳感器的直接監聽者監聽加速度傳感器并分發監聽事件到各種NOTIFIERPACENOTIFIER對STEPDETECTOR的監聽器(步速)監聽到動作后,對步速計算SPEEDNOTIFIER對STEPDETECTOR的監聽器(時速)監聽到動作后,對時速計算DISTANCENOTIFIER對STEPDETECTOR的監聽器(距離)監聽到動作后,對距離累加計算CONTROLCALORIESDETECTOR加STEPDETECTOR的監聽器(熱量)監聽到動作后計算累加熱量STEPNOTIFIER對STEPDETECTOR的監聽器(計步)監聽到動作后,對步數進行累加MODELWALKINGACTIVITY主界面類及各種ONXXX組件監聽/響應方法VIEW圖42系統靜態模型5系統實現本章介紹本系統的各個模塊的設計和實現。首先在ECLIPSE中配置好ADT和ANDROIDSDK等開發環境,然后新建一個ANDROID項目,項目名為PEDOMETER,然后在ANDROID項目中的ANDROIDMANIFESTXML文件中配置本軟件需要使用的權限。本論文用到的是計步器的主要功能有計步開始/暫停,設置,顯示運動所消耗的卡路里,走過長度,步速,時速,里程。本軟件是一個結合手機用戶特別是智能手機用戶常用功能的一個軟件平臺,本軟件可以通過界面快速獲取運動的情況,獲取信息后可以對這些信息進行個性化處理以方便用戶直觀的感受運動量。51布局界面的設計511主界面的設計由于ANDROID平臺手機屏幕大小有限,為了不使用戶有凌亂的感覺,在主界面使用了清爽的色彩以及上兩層信息顯示的排版,使界面看起來簡單明快功能健全。本軟件實現了步速,步數,卡路里的顯示等功能,為了讓界面顯得更為美觀,使用更為方便,筆者使用在TEXTVIEW的基礎上實現了TAB底部菜單,在底部菜單上添加了“PAUSE/RESUME”,“RESET”如圖51所示(A)主界面運動信息的顯示(B)PAUSE/RESUME及RESET鍵圖51主界面信息顯示及暫停/開始,清零鍵“PAUSE/RESUME”主要終于用于停止和開啟監聽手機運動狀態,也就是用戶可以點擊該按鈕添來控制手機計步器的工作開始或者暫停。“RESET”用于清除ANDROID數據池所獲得的數據即用戶可以利用此鍵將之前所記錄的運動信息清零,以便開始記錄新一次的運動情況。在主界面下,點擊ANDROID固有的功能鍵即可呼喚出設置和退出應用鍵,即“SETTINGS”,“QUITE”如圖52所示圖52SETTINGS和QUITE鍵“SETTINGS”用于進入設置主界面,對用戶的參數進行設這。“QUITE”即退出本程序512設置界面的設計用戶選擇設置后會進入一個設置列表界面,該界面是利用ANDROID固有的資源模板,沒有做多余的修飾,簡單明了的表達出設置項目及目的。每一行顯示一條設置信息。該界面僅僅使用一個LISTVIEW控件實現設置的列表,不占用較多的尺寸卻能夠讓用戶直觀的看到所有關于計步器統計運動量所需的信息。列表中的每一項均可再打開一個小窗口用于更改用戶信息,例如設置步長功能(見圖53),在點擊“STEPLENGTH”鍵后會出現填入用戶步長的對話框如圖54。圖53設置步長圖54輸入用戶步長設置列表中的每一項指向了一條設置內容,點擊一條設置項目后能夠進入設置項目的輸入界面,用戶可以根據自身的實際情況來更改設置信息,這也很符合人們的使用習慣。52各功能的實現521計步開始及暫停首先對PAUSE/RESUME鍵做一個監聽START_PAUSE_BUTTONSETONCLICKLISTENERNEWVIEWONCLICKLISTENER同時還要對此時狀態做一個判斷START_PAUSE_BUTTONSETTEXTMISRUNNINGRSTRINGPAUSERSTRINGRESUME若初始狀態為記錄則顯示PAUSE,若初始狀態為非記錄狀態則顯示RESUME。具體代碼的實現見附錄“開始/暫停按鈕”522記錄數據清零對清零按鈕做一個VIEW即RESETBUTTONBUTTONFINDVIEWBYIDRIDRESET_BUTTON實現清零的語句很簡單,對“RESET”鍵做一個監聽,當用戶點擊“RESET”鍵時,即RESETBUTTONSETONCLICKLISTENERNEWVIEWONCLICKLISTENER執行一下命令PUBLICVOIDONCLICKVIEWVRESETVALUESTRUE這樣記錄數據清零的按鈕就完成了。523設置步長對于設置步長,首先要獲取用戶所輸入的步長信息RETURNFLOATVALUEOFMSETTINGSGETSTRING“STEP_LENGTH“,“20“若用戶未對步長信息進行編輯,則默認為20在DISTANCENOTIFIER中使用MSTEPLENGTH來計算走過的距離MDISTANCEMDISTANCEFLOATMSTEPLENGTH/1000000NOTIFYLISTENER在PACECHANGED中使用MSTEPLENGTH來計算步速MSPEED/KILOMETERS/HOURVALUEMSTEPLENGTH/CENTIMETERS/MINUTE/100000F60F/CENTIMETERS/KILOMETERTELLFASTERSLOWERNOTIFYLISTENER524設置體重對于設置體重,首先要獲取用戶所輸入的體重信息RETURNFLOATVALUEOFMSETTINGSGETSTRING“BODY_WEIGHT“,“50“若用戶未對步長信息進行編輯,則默認為50在CALORIESNOTIFIER中使用MBODYWEIGHT來計算用戶因運動所消耗的卡路里MCALORIESMBODYWEIGHTMISRUNNINGMETRIC_RUNNING_FACTORMETRIC_WALKING_FACTORMSTEPLENGTH/1000000NOTIFYLISTENER525設置運動狀態當用戶選擇跑步運動的時候,程序會判斷返回值等于RUNNINGRETURNMSETTINGSGETSTRING“EXERCISE_TYPE“,“RUNNING“EQUALS“RUNNING“判斷跑步還是走路是為了方便計算用戶所消耗的卡路里,在因運動所消耗卡路里的計算公式中跑步狀態和走路狀態分別對應不同的參數,根據用戶的選擇而確定卡路里的計算方法。設置運動裝態的詳細代碼見附錄“判斷是走路還是跑步”。6系統測試61測試開始停止模塊測試能否根據用戶控制得到開始計步和停止計步的結果。611測試準備1模塊名計步器2負責人梁文淑3意圖測試計步器各模塊功能。612測試過程1點擊應用圖標,如圖61所示2運動使主界面開始記錄數據,如圖62所示我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文圖61圖為計步器主界面圖62圖為計步器主界面3在主界面點擊PAUSE,如圖63所示4繼續運動觀察主界面數據是否有變化,如圖64所示我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要論文我要過論文我要過論文我要過論文我要過論文我要過論文我要文圖63圖為停止計步界面圖64圖為停止計步后仍在運動界面5進入SETTINGS(設置)界面,如圖65所示6點擊設置SENSITIVITY靈敏度,如圖66所示過論文我要過論文我要過論圖65圖為設置界面圖66圖為設置靈敏度界面7點擊設置STEPLENGTH(步長),如圖67所示8點擊設置BODYWEIGHT(體重),如圖68所示圖67圖為步長設置界面圖68圖為體重設置界面9點擊設置EXERCISETYPE運動類型,如圖69所示過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文圖69圖為運動類型設置界面62測試總結本軟件中幾個模塊的功能經過測試,均測試通過,測試結果和最初的設計基本一致,所有的功能均能正常運行,軟件需要比較特殊的運行環境,首先手機的重力感應功能必須有,而且ANDROID系統的版本過低將不能使用。至此基于安卓平臺的手機計步器的設計基本完成。5結論經過了數月的努力,ANDROID平臺手計步器軟件終于完成了。本軟件能實現用戶對計步器的基本要求。方便用戶開啟關閉計步器,對運動情況和運動量可以直觀的從主界面獲取信息,設置選項中的智能人機交互平臺也可以明了的對用戶信息進行編輯,不需要復雜的操作不需要學習,一目了然。對于智能手機用戶來說,基于安卓平臺的手機計步器提供了一個快捷方便的平臺。為用戶提供隨時隨地的服務,節省用戶不必要的資金消耗與時間消耗是本軟件設計的一個宗旨,整個框架和細節的設計都是圍繞這個宗旨進行的,雖然整個軟件還不是很成熟,還有很多不足和需要改進的地方,或者還有很多信息提供不到位,例如我們可以加入音樂播放模塊,是用戶在運動的同時享受輕松快樂的環境,這些還需要日后慢慢優化和改善,但是最初的設計都實現了。在現在的功能基礎上本軟件可以進行擴展升級。本軟件最初設計的時候就是一個可以擴展的框架,所以為將來加入新的功能提供了很大的方便。本軟件雖然不是很強大,但是是我自己親手編寫的,開發一個能在時下最流行的軟件,使之順利的在平臺上運行是一件令人興奮的事情。把自己的想法一步一步地付諸實踐,最后成為一個真實的實物,被別人使用和稱贊,此時得到的成就感是尤為強烈的。致謝四年的讀書生活在這個季節即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。四年的求學生涯在師長和親友的大力支持下,走得辛苦卻也收獲滿囊。畢業課題設計是我大學生活中忙碌而又充實的一段時光。在過去的幾個月里,我學到了很多寶貴的東西。不僅學到更多的理論知識,擴展了知識面,提高了自己的實際操作能力,而且學會了如何去學習新的知識,學會了面對困難和挑戰,這些將是我以后的工作學習中的巨大財富。在論文即將付梓之際,思緒萬千,心情久久不能平靜。偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻給一位平凡的人,我的導師。我不是您最出色的學生,而您卻是我最尊敬的老師。您治學嚴謹,學識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,使我不僅接受了全新的思想觀念,樹立了宏偉的學術目標,領會了基本的思考方式。從論文題目的選定到論文寫作的指導,經由您悉心的點撥,再經思考后的領悟,常常讓我有“山重水復疑無路,柳暗花明又一村”。其次要衷心的感謝此次論文評審團的全體老師在百忙之中犧牲寶貴的休息時間來審閱我的論文,不厭其煩的幫我一遍遍的對論文進行最后的修正。老師們的辛苦我看在眼里記在心里,在以后的人生之路上我一定努力工作回報恩師,回報母校。在此向默默支持、鼓勵和關懷我的父母和親人道一聲謝謝,尤其是我的父母為我的學業提供了物質和精神支持,沒有他們的付出,就沒有我的今天。父母及家人無私的愛是我永遠的動力。再一次感謝我的母校北京郵電大學世紀學院,感謝通信與信息工程專業對我的培養,感謝所有幫助過我的老師和同學朋友們謝謝大家在以后的工作、學習和生活中我將更加努力,用自己的行動回報社會、學校、老師及同學參考文獻1李剛瘋狂的ANDROID講義M北京電子工業出版社201172吳亞峰,蘇亞光ANDROID20游戲開發實戰寶典M北京人民郵電出版社201073李寧ANDROID開發完全講義M北京中國水利水電出版社201244嚴蔚敏,吳偉民數據結構M北京清華大學出版社200735李剛瘋狂JAVA講義M北京電子工業出版社2008106BRUCEECKEL著JAVA編程思想陳昊鵬M北京機械工業出版社2007623357蘇亞光吳亞峰索依娜ANDROID平臺下傳感器技術開發計步器應用J電腦編程技巧與維護201023368熊剛基于ANDROID的智能手機的設計與實現D武漢理工大學201034一609SANDEEPKUMARLOCATIONBASEDSERVICESUSINGANDROIDCANDROIDAPPLICATIONFUNDAMENTALS,2009IEEEINTERNATIONALCONFERENCEP1510姚昱旻,劉衛國ANDROID與J2ME平臺間即時通信的研究與實現J計算機系統應用20081211812011公磊,周聰基于ANDROID的移動終端應用程序開發與研究J計算機與現代化20088868912差沙,地獄男爵用ANDROID開發手機應用J程序員20081252713NARAYANBABUANDROIDAPPLICATIONDEVELOPMENTSKILLSJITTIMEWEEKLY,2012。68555814KONRADADENAUERANDROIDSTRUCTURALDESIGNGUIDELINESJJOURNALOFCOMPUTERANDSOFTWAREENGINEERING,2012366972附錄ACTIVITYPACKAGEEDUBUPTCOMMLIANGWENSHUPEDOMETERIMPORTANDROIDAPPACTIVITYIMPORTANDROIDAPPBACKUPRESTOREOBSERVERIMPORTANDROIDCONTENTCOMPONENTNAMEIMPORTANDROIDCONTENTCONTEXTIMPORTANDROIDCONTENTINTENTIMPORTANDROIDCONTENTSERVICECONNECTIONIMPORTANDROIDCONTENTSHAREDPREFERENCESIMPORTANDROIDOSBUNDLEIMPORTANDROIDOSHANDLERIMPORTANDROIDOSIBINDERIMPORTANDROIDOSMESSAGEIMPORTANDROIDPREFERENCEPREFERENCEMANAGERIMPORTANDROIDUTILLOGIMPORTANDROIDVIEWMENUIMPORTANDROIDVIEWMENUITEMIMPORTANDROIDVIEWVIEWIMPORTANDROIDWIDGETBUTTONIMPORTANDROIDWIDGETLINEARLAYOUTIMPORTANDROIDWIDGETTEXTVIEW/AUTHORLIANGWENSHU/PUBLICCLASSWALKINGACTIVITYEXTENDSACTIVITYPRIVATESTATICFINALSTRINGTAG“PEDOMETER“PRIVATESHAREDPREFERENCESMSETTINGSPRIVATEPEDOMETERSETTINGSMPEDOMETERSETTINGSPRIVATEUTILSMUTILSPRIVATETEXTVIEWMSTEPVALUEVIEW/步數PRIVATETEXTVIEWMPACEVALUEVIEW/PRIVATETEXTVIEWMDISTANCEVALUEVIEW/距離PRIVATETEXTVIEWMSPEEDVALUEVIEW/速度PRIVATETEXTVIEWMCALORIESVALUEVIEW/卡路里消耗顯示框TEXTVIEWMDESIREDPACEVIEWPRIVATEINTMSTEPVALUE/MSTEPVALUEVIEW的值PRIVATEINTMPACEVALUE/MPACEVALUEVIEW的值PRIVATEFLOATMDISTANCEVALUE/MDISTANCEVALUEVIEW的值PRIVATEFLOATMSPEEDVALUE/MSPEEDVALUEVIEW的值PRIVATEINTMCALORIESVALUE/MCALORIESVALUEVIEW的值PRIVATEFLOATMDESIREDPACEORSPEED/PRIVATEINTMMAINTAIN/IS爬山PRIVATEBOOLEANMISMETRICTRUE/公制和米制切換標志PRIVATEFLOATMMAINTAININC/PRIVATEBOOLEANMQUITTINGFALSE/PRIVATEBUTTONRESETBUTTONPRIVATEBUTTONSTART_PAUSE_BUTTON/SETWHENUSERSELECTEDQUITFROMMENU,CANBEUSEDBYONPAUSE,ONSTOP,/ONDESTROY/TRUE,WHENSERVICEISRUNNING/PRIVATEBOOLEANMISRUNNING/程序是否運行的標志位/CALLEDWHENTHEACTIVITYISFIRSTCREATED/OVERRIDE/開始函數,重寫該函數,加入日志。OVERRIDEPROTECTEDVOIDONSTARTLOGITAG,“ACTIVITYONSTART“SUPERONSTART/重寫回復函數OVERRIDEPROTECTEDVOIDONRESUMELOGITAG,“ACTIVITYONRESUME“SUPERONRESUMEMSETTINGSPREFERENCEMANAGERGETDEFAULTSHAREDPREFERENCESTHISMPEDOMETERSETTINGSNEWPEDOMETERSETTINGSMSETTINGSMUTILSSETSPEAKMSETTINGSGETBOOLEAN“SPEAK“,FALSE/READFROMPREFERENCESIFTHESERVICEWASRUNNINGONTHELASTONPAUSEMISRUNNINGMPEDOMETERSETTINGSISSERVICERUNNING/STARTTHESERVICEIFTHISISCONSIDEREDTOBEANAPPLICATIONSTART/LASTONPAUSEWASLONGAGOMPEDOMETERSETTINGSCLEARSERVICERUNNINGMSTEPVALUEVIEWTEXTVIEWFINDVIEWBYIDRIDSTEP_VALUEMPACEVALUEVIEWTEXTVIEWFINDVIEWBYIDRIDPACE_VALUEMDISTANCEVALUEVIEWTEXTVIEWFINDVIEWBYIDRIDDISTANCE_VALUEMSPEEDVALUEVIEWTEXTVIEWFINDVIEWBYIDRIDSPEED_VALUEMCALORIESVALUEVIEWTEXTVIEWFINDVIEWBYIDRIDCALORIES_VALUEMDESIREDPACEVIEWTEXTVIEWFINDVIEWBYIDRIDDESIRED_PACE_VALUE/重設按鈕RESETBUTTONBUTTONFINDVIEWBYIDRIDRESET_BUTTONRESETBUTTONSETONCLICKLISTENERNEWVIEWONCLICKLISTENERPUBLICVOIDONCLICKVIEWVRESETVALUESTRUE/開始/暫停按鈕START_PAUSE_BUTTONBUTTONFINDVIEWBYIDRIDSTART_PAUSE_BUTTONSTART_PAUSE_BUTTONSETTEXTMISRUNNINGRSTRINGPAUSERSTRINGRESUMESTART_PAUSE_BUTTONSETONCLICKLISTENERNEWVIEWONCLICKLISTENERPUBLICVOIDONCLICKVIEWVIFSTART_PAUSE_BUTTONGETTEXTEQUALSGETRESOURCESGETSTRINGRSTRINGPAUSESTART_PAUSE_BUTTONSETTEXTRSTRINGRESUMEUNBINDSTEPSERVICESTOPSTEPSERVICEELSEIFSTART_PAUSE_BUTTONGETTEXTEQUALSGETRESOURCESGETSTRINGRSTRINGRESUMESTART_PAUSE_BUTTONSETTEXTRSTRINGPAUSESTARTSTEPSERVICEBINDSTEPSERVICEMISMETRICMPEDOMETERS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論