基于Android系統(tǒng)的計步器軟件的設(shè)計與制作_第1頁
基于Android系統(tǒng)的計步器軟件的設(shè)計與制作_第2頁
基于Android系統(tǒng)的計步器軟件的設(shè)計與制作_第3頁
基于Android系統(tǒng)的計步器軟件的設(shè)計與制作_第4頁
基于Android系統(tǒng)的計步器軟件的設(shè)計與制作_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 基于安卓平臺的手機計步器的設(shè)計 摘要Android是一個針對移動設(shè)備的操作系統(tǒng)和軟件平臺,隨著智能手機的興起,漸漸成為了占有市場最大比重的移動平臺操作系統(tǒng),同時也越發(fā)地受到廣大用戶的青睞。Android采用 Linux 內(nèi)核,由 Google 和開放手機聯(lián)盟于2007年11月5日發(fā)布。容許使用 Java語言來開發(fā)和管理代碼。作為一個年輕并且流行的移動應(yīng)用平臺,目前android軟件的應(yīng)用面還是比較廣泛的,比如聊天,通訊,上網(wǎng)等等,但涉及傳感器方面的應(yīng)用軟件還比較少。本文在分析討論Android手機軟件開發(fā)原理的同時,針對智能手機用戶日常使用的實際情況,對用戶手機的日常功能需求進行調(diào)查。發(fā)現(xiàn)對

2、于經(jīng)常走路上班或者鍛煉的朋友來說擁有一款精美、功能齊全的計步器是非常必要的。將精確計量和智能運行技術(shù)完美結(jié)合,只需開啟軟件,通過感應(yīng)器傳來的信息,App能夠變化算法,測得你的走路步數(shù),速度以及消耗的卡路里量與行走歷程。一款合適的計步器在無形中會量化用戶的健身效果,幫助用戶堅持鍛煉以達到更好的健身效果。關(guān)鍵詞 Android 智能手機平臺 計步器 JavaTitle The design of mobile phone pedometer based on the android platform AbstractAndroid is an operating system and softwa

3、re platform for mobile devices. With the development of Smartphone, it gradually became the biggest proportion in the market of mobile operating system. At the same time, it became more and more popular among users. Android uses the Linux kernel, announced on November 5, 2007 by Google and the open

4、handset alliance, and it allow to use Java language to develop and manage the code. As a young and popular mobile application platform, the application of android is relatively wide; such as chat, communication and internet. However, the application of sensors is less. The thesis of this essay is to

5、 analyze and discuss the principle of software development of Android mobile phone. Also, the another purpose in this essay is to conduct an investigation in the daily functional demand for mobile phone users based on the situation of daily uses of smart phone users. The research shows that it is ve

6、ry important to have a fully functional pedometer for people who often walk to work or exercise. The pedometer makes a perfect combination of accurate measurement and intelligent operational technology, when the software are ready to run, it can use the massage which acquire from sensor to calculate

7、 the step frequency ,speed, the consumption of calories and walking journey of your walk. An appropriate pedometer can quantify users fitness effect in potentially; in this way it can make users to keep exercising in order to achieve better fitness effect.Keywords android smartphone platform java pe

8、dometer 目錄1前言11.1 智能手機系統(tǒng)開發(fā)背景11.2 課題的目的與意義21.3 本文主要研究內(nèi)容22相關(guān)技術(shù)介紹42.1 開發(fā)工具及環(huán)境簡介42.1.1 開發(fā)工具42.1.2 開發(fā)環(huán)境52.2 ANDROID SDK常見公共類庫介紹62.2.1 Android的傳感器62.2.2Android界面Activity介紹63.系統(tǒng)需求分析83.1 可行性研究83.1.1 經(jīng)濟可行性83.1.2 技術(shù)可行性83.1.3 操作可行性93.2 性能需求分析103.2.1 實用性原則103.2.2 可擴展性與可維護性原則103.2.3 安全可靠性原則113.2.4 用戶界面美觀原則113.3

9、數(shù)據(jù)需求分析134.系統(tǒng)設(shè)計144.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計144.2 系統(tǒng)靜態(tài)模型設(shè)計155.系統(tǒng)實現(xiàn)165.1布局界面的設(shè)計165.1.1主界面的設(shè)計165.1.2設(shè)置界面的設(shè)計175.2 各功能的實現(xiàn)185.2.1 計步開始及暫停185.2.2 記錄數(shù)據(jù)清零185.2.3 設(shè)置步長185.2.4 設(shè)置體重195.2.5 設(shè)置運動狀態(tài)196.系統(tǒng)測試206.1 測試開始停止模塊206.1.1 測試準備206.1.2測試過程206.2 測試總結(jié)235結(jié)論24致謝25參考文獻26附錄2735北京郵電大學(xué)世1前言1.1 智能手機系統(tǒng)開發(fā)背景當今社會,手機已經(jīng)成為人們工作生活中必不可少的一項

10、通訊和娛樂工具,隨著手機的不斷更新,手機的各種高層服務(wù)和應(yīng)用層出不窮。現(xiàn)在智能手機可謂是爆發(fā)式增長,與此同時傳統(tǒng)手機在不斷地消失,諾基亞就是在這樣的環(huán)境中受到了重創(chuàng)?,F(xiàn)在主要有三個使用率和關(guān)注度最高的手機平臺,分別是:Android,ios和windows phone平臺,在這三個平臺中Android的占有率最高。自2007年11月Google公司發(fā)布Android系統(tǒng)以來,短短幾年時間,Android已經(jīng)占據(jù)了智能手機市場的半壁江山,成為目前最為炙手可熱的智能手機操作系統(tǒng)。Android走進了越來越多人的生活,成為他們獲取信息的主要平臺。Android平臺是一個面向大眾的系統(tǒng),分布在低端,中

11、端和高端市場中,受到了各個層次的歡迎,并且Android是開源的,開發(fā)者隨時都可以查看系統(tǒng)源代碼,并且使用時下最流行的java作為其主要的開發(fā)語言。由于這些特點,才使得Android成為現(xiàn)在市場占有量最大的軟件平臺,在這樣的平臺上面開發(fā)一款獨特的日常生活軟件尤為必要的。Android不只是一個操作系統(tǒng)而已,它包括了:a) 經(jīng)過Google剪裁和調(diào)優(yōu)的Linux Kernel,對于掌上設(shè)備的硬件提供了優(yōu)秀的支持。Google在Linux方面的應(yīng)用能力不容置疑,Google公司所有的幾十萬服務(wù)器全部是自己修改過的Linux操作系統(tǒng)。b) 經(jīng)過Google修改的Java虛擬機Dalvik,是基于Ap

12、ache Harmony虛擬機版本進行改良而來,能夠提供極高的執(zhí)行性能。有了Java虛擬機,大部分Java核心類庫都已經(jīng)可以直接運行。c) 大量立即可用的類庫和應(yīng)用軟件,例如瀏覽器Webkit,數(shù)據(jù)庫SQLite,讓你可輕易開發(fā)出來媲美于桌面應(yīng)用復(fù)雜度的手機軟件。d) Google已經(jīng)開發(fā)好了大量現(xiàn)成的應(yīng)用軟件,同時可以直接使用Google很多在線服務(wù)。e) Google提供了基于Eclipse的完整開發(fā)環(huán)境,模擬器,文檔,幫助,示例將極大推動Android快速的推廣和發(fā)展。基于Android眾多的優(yōu)點,圍繞Android形成了一個移動手機聯(lián)盟,主要的手機廠商幾乎全部在列,而此聯(lián)盟在極大的推動

13、Android平臺的推廣和發(fā)展,在未來的幾年也必將極大的推動整個手機操作系統(tǒng)甚至是互聯(lián)網(wǎng)乃至軟件行業(yè)的發(fā)展。1.2 課題的目的與意義Android平臺對于Google和用戶的意義不在于手機本身,而在于為了推動移動互聯(lián)網(wǎng)產(chǎn)業(yè)鏈的迅速成型。具有開源特性的Android手機平臺廢棄了之前Symbian、windows mobile等操作系統(tǒng)收取高額的授權(quán)費用的模式,使得應(yīng)用開發(fā)成本大大降低;也正是由于它開放源代碼,使得手機產(chǎn)生更多個性化的應(yīng)用。同時,合作方也能夠在這里得到利潤或者創(chuàng)造價值,手機軟件行業(yè)得到有效的維護協(xié)調(diào)發(fā)展。這正式Google發(fā)布Android平臺的意義,也是Andorid平臺存在的

14、使命所在。而作為Android平臺成員之一的中國移動也投資成立了一家通訊公司,專門從事Google手機軟件的應(yīng)用以及本地化特色軟件的開發(fā),比如在Google手機平臺上添加飛信、輸入法等一系列符合國內(nèi)用戶使用習(xí)慣的功能。更多的手機軟件開發(fā)商已經(jīng)或者籌備將公司進行轉(zhuǎn)型,從其方向的開發(fā)轉(zhuǎn)向到Android軟件的開發(fā)。綜觀世界,Android平臺對手機軟件行業(yè)和移動手機平臺將發(fā)揮極大地推動作用,而在未來的幾年或者一段時間內(nèi),Android將越發(fā)的凸顯自己的重要性。基于此,我們有必要通過進行相關(guān)的研究來了解Android平臺,來了解開發(fā)Android的那一大批人的先進理念和思想,進而更深入了解手機軟件行

15、業(yè),同事掌握未來無線移動互聯(lián)網(wǎng)的發(fā)展趨勢,從而更好的適應(yīng)時代的需要。1.3 本文主要研究內(nèi)容本論文是對基于安卓平臺的手機計步器的設(shè)計和研究,目的是為了方便用戶綠色生活,保持健康的生活態(tài)度,并且為用戶節(jié)約了不必要的開支同時也避免了資源的浪費。Android系統(tǒng)的一大亮點之一就是傳感器的使用,利用傳感器可以開發(fā)出很多新奇有趣的應(yīng)用程序,例如計步器,水平儀,甚至在很多游戲中都可以使用傳感器來操作游戲。傳感器的種類很多,其中包括加速度傳感器、姿態(tài)傳感器、磁場傳感器、溫度傳感器、光傳感器等,本論文介紹的計步器應(yīng)用就是使用加速度傳感器。本論文主要對計步器以下功能做主要研究。程序運行后進入主界面,用戶可以看

16、到行程、消耗熱量、速度以及步速。點擊開始,進入運行狀態(tài),點擊清零可以使所有數(shù)據(jù)回歸零初始狀態(tài)。點擊設(shè)置選項可以進入設(shè)置界面,調(diào)節(jié)靈敏度來設(shè)置需要的靈敏度(靈敏度越高,對身體的動作的感應(yīng)越靈敏,調(diào)節(jié)靈敏度來適應(yīng)不同的體型了,路面等因素),通過設(shè)置步長來設(shè)置用戶自身實際步長(為了估算行走的距離和速度,輸入步長得出粗略的距離和速度,僅供參考),設(shè)置體重來調(diào)節(jié)用戶的實際體重(這是為了計算消耗的卡路里)。按軟件工程步驟:1) 了解相關(guān)資料,了解本軟件的研究意義,確定實現(xiàn)技術(shù)與方式設(shè)計總目標及其整體框架。2) 了解用戶的使用習(xí)慣和使用心理,進行用戶需求分析和規(guī)范。3) 草擬功能模塊,畫出模塊圖。4) 搜集

17、軟件制作素材。5) 編寫代碼實現(xiàn)各個功能模塊。6) 根據(jù)Android特有的使用風(fēng)格進行布局與優(yōu)化。7) 完成系統(tǒng)測試并改進。2相關(guān)技術(shù)介紹2.1 開發(fā)工具及環(huán)境簡介Android 的上層應(yīng)用程序是用Java 語言開發(fā),同時還需要基于Dalvik 虛擬機,所以Google 公司推薦使用主流的Java 繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因為是使用Java 語言進行開發(fā),還應(yīng)該有由SUN 公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android 的應(yīng)用程序開發(fā)和Java 開發(fā)有較大區(qū)別的,所以還需要有Google 提供

18、的Android SDK。同時,還需要在Eclipse 安裝ADT,為Android 開發(fā)提供開發(fā)工具的升級或者變更,是Eclipse 下開發(fā)工具的升級下載的工具。簡言之,需要以下軟件,才能搭建Android 開發(fā)環(huán)境,從而進行Android 應(yīng)用程序的開發(fā)。(1) Java SDK(2) Eclipse(3) Android SDK(4) ADT2.1.1 開發(fā)工具 Android SDK介紹SDK指是軟件開發(fā)包,被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDK指的既是Android專屬的軟件開發(fā)工具包

19、。 Eclipse簡介Eclipse是一個著名的跨平臺的自由集成開發(fā)環(huán)境軟件。最初主要用來Java語言開發(fā),現(xiàn)在人們可以通過安裝插件使其作為C+、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是隨著眾多插件的產(chǎn)生,使得Eclipse擁有很好的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse含有插件開發(fā)環(huán)境,這個組件主允許希望擴展Eclipse的軟件開發(fā)人員構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開

20、發(fā)人員都具有同等的發(fā)揮場所。盡管Eclipse是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言。例如,支持諸如 C/C+ 和 COBOL 等編程語言的插件已經(jīng)可用。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。本系統(tǒng)即通過Eclipse,添加Android做插件,匹配上AndroidSDK進行軟件的開發(fā)。 JDK簡介JDK(Java Development Kit)是一個寫Java應(yīng)用程序的程序開發(fā)環(huán)境。它由一個處于操作系統(tǒng)層之上的運行環(huán)境還有開發(fā)者編譯,調(diào)試和運行用Java語言寫的applet和應(yīng)用程序所需的工具組成。

21、JDK是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。JDK是整個Java的核心,包括了Java運行環(huán)境,Java工具和Java基礎(chǔ)的類庫。JDK中還包括完整的JRE(Java Runtime Environment,Java運行環(huán)境),也被稱為private runtime。包括了用于產(chǎn)品環(huán)境的各種庫類,以及給開發(fā)員使用的補充庫,如國際化的庫、IDL庫。 ADT簡介Google專門為Eclipse開發(fā)了一個插件來輔助開發(fā),即Android

22、Development Tools(ADT)。目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。2.1.2 開發(fā)環(huán)境本軟件是在windows 7 操作系統(tǒng)中,利用Eclipse開發(fā)工具搭載Android SDK工具包,結(jié)合Android手機自帶的sqlite3數(shù)據(jù)庫進行開發(fā)。2.2 Android SDK常見公共類庫介紹2.2.1 android的傳感器加速度傳感器 、磁場傳感器、光線傳感器 、重力傳感器、線性加速傳感器、等等。加速度傳感器 :S

23、ensor.TYPE_ACCELEROMETER:返回手機設(shè)備在X,Y,Z三個方向上的加速度.(我們用到的) 磁場傳感器:Sensor.TYPE_MAGNETIC_FIELD:,返回周圍磁場在手機的X,Y,Z方向上的影響(磁場分量). 距離感應(yīng)器:Sensor.TYPE_PROXIMITY: 重力傳感器:Sensor.TYPE_GRAVITY: 線性加速傳感器:Sensor.TYPE_LINEAR_ACCELERATION: 2.2.2 Android界面Activity介紹Android的界面是由每一個成為Activity的java類組成的,這個類庫是制作Android軟件必須使用的。 Wa

24、lkingActivity是應(yīng)用程序的用戶界面,主要功能是按照XML布局文件的內(nèi)容顯示界面并與用戶進行交互。只有使用了這個才可以讓用戶看得見,本類中有幾個常用的覆寫方法來表示界面的生存周期,分別是:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七個方法。Activity的生命周期圖,如圖2-1所示: 圖2-1 Android Activity生存周期圖3.系統(tǒng)需求分析3.1 可行性研究可行性分析(Feasibility Analysis)也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對剛

25、剛開發(fā)打算進一步應(yīng)用的系統(tǒng)的必要性和可能性的分析和研究??尚行匝芯康哪康闹饕谟?,用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。該階段通過對系統(tǒng)總目標的初步調(diào)研與分析,提出可行性方案并進行論證。在此,主要從經(jīng)濟可行性、技術(shù)可行性和操作可行性三方面進行分析。3.1.1 經(jīng)濟可行性隨著人民生活水平的提高,尤其我國成功承辦2008年奧運會以來,人們的健康運動意識逐漸增強。而上班族們由于時間緊張可利用的休閑時間較少,他們則會利用一些零散的時間進行鍛煉,比如上班來回的路上多走路少乘車,在辦公區(qū)盡量選擇走樓梯而不是乘坐電梯等等,由于運動時間零散不便于量化自己的運動量,也就無法估計健身效果。在這樣的背

26、景前提下,擁有一款計步器就顯得尤為必要了。目前市場上的計步器少則幾十多則上百,而智能手機計步器軟件的成本幾乎為零。只需用戶擁有一臺有安卓系統(tǒng)的智能手機即可安裝使用了。并且手機計步器軟件攜帶方便,可以隨時隨地獲取用戶的運動信息,擁有不受地理和時間限制的特點,可以充分利用人們的閑暇時間,從這個角度看,該軟件可行。3.1.2 技術(shù)可行性開發(fā)工具:Eclipse Classic 3.7.2數(shù)據(jù)庫環(huán)境:sqlite3系統(tǒng)環(huán)境:Microsoft Windows XP或以上版本軟件實現(xiàn)是依靠基于Android系統(tǒng)的開發(fā)技術(shù),使用的是java為主的開發(fā)語言進行開發(fā),再加上SOAP技術(shù)進行數(shù)據(jù)交互。3.1.2

27、.1 功能說明具體有如下一些功能:計步開始,計步暫停,計步清零,主屏幕顯示計步總數(shù),走過的公里數(shù),每分鐘走多少步,每小時走多少公里和消耗的卡路里量。進入設(shè)置菜單設(shè)置靈敏度,設(shè)置步長,根據(jù)步長計算走過公里數(shù)、步速和消耗的卡路里量,設(shè)置體重和運動類型,主要用于計算消耗的卡路里量。退出應(yīng)用。 技術(shù)分析表 3-1 技術(shù)需求分析關(guān)鍵技術(shù)項要求現(xiàn)有水平對照分析數(shù)據(jù)結(jié)構(gòu)了解了解可以滿足要求。數(shù)據(jù)庫熟悉了解雖有欠缺,但通過指導(dǎo)培訓(xùn),應(yīng)該在短期內(nèi)可以達到要求。Java熟練熟悉基本可以滿足要求。Android精通 熟悉短期需進一步達到要求,存在一定問題。3.1.3 操作可行性軟件采用最主流的Andr

28、oid軟件應(yīng)用開發(fā)風(fēng)格,并使用Android的原生組件進行開發(fā),界面友好,簡潔易懂,組建布局具有誘導(dǎo)性,用戶使用極其方便快捷。主界面操作流程見圖3-1,設(shè)置界面操作流程見圖3-2。開始計步計步暫停計步清零開始 圖3-1 圖為主界面操作流程圖主界面設(shè)置靈敏度運動類型型返回步長體重圖3-2 圖為設(shè)置界面操作流程圖3.2 性能需求分析為了保證軟件能夠長期、安全、穩(wěn)定、可靠、高效地在Android設(shè)備上運行,本系統(tǒng)應(yīng)該滿足以下性能需求。3.2.1 實用性原則充分利用手機的內(nèi)置傳感器功能,為本軟件提供信息支持,充分考慮用戶獲取信息的心理需求,在簡潔實用的基礎(chǔ)上對軟件界面層級進行布局,做到了方便,美觀大方

29、。3.2.2 可擴展性與可維護性原則為適應(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)。3.2.3 安全可靠性原則隨著三網(wǎng)融合的發(fā)展,智能終端產(chǎn)業(yè)鏈的構(gòu)成相對于傳統(tǒng)功能手機發(fā)生了巨大

30、變化。處于上游的操作系統(tǒng)提供商制定安全機制的基本規(guī)則以及相應(yīng)的應(yīng)用商店政策。終端廠商在這些規(guī)則的基礎(chǔ)上,定制個性化的終端軟件,建立自有的應(yīng)用商店。應(yīng)用軟件開發(fā)商/開發(fā)者則利用操作系統(tǒng)提供商提供的工具進行各類應(yīng)用軟件的開發(fā),第三方應(yīng)用商店或論壇等提供應(yīng)用軟件的下載渠道?;谥悄芙K端產(chǎn)業(yè)鏈在管理和技術(shù)方面暴露出來的脆弱性,來源于傳統(tǒng)互聯(lián)網(wǎng)和信息系統(tǒng)的各類攻擊逐漸將目標定位于智能終端,并借助智能終端操作系統(tǒng)的開放性制造出大量的惡意軟件。此外,應(yīng)用商店的審核機制欠缺也導(dǎo)致了惡意軟件的泛濫。目前智能終端信息竊取類軟件橫行,一款應(yīng)用軟件的安全可靠性便顯得尤為重要了?,F(xiàn)在智能終端個人信息的泄露通常不會引起用

31、戶的覺察,或者即便覺察也無法判斷其帶來的損失。與早期的安全問題不同,個人信息泄露所帶來的通常不是直接的高額話費,而是潛在的巨大經(jīng)濟損失。如銀行賬戶泄密、絕密商業(yè)信息泄露等。如何保護用戶個人信息,防止在用戶不知情的情況下泄露隱私信息,是當前亟待解決的問題。本軟件承諾不會殘留用戶任何的隱私信息。3.2.4 用戶界面美觀原則界面經(jīng)過對用戶心理的調(diào)研和統(tǒng)計后。并參考時下流行的軟件風(fēng)格進行設(shè)計,在此基礎(chǔ)上,加入了對用戶具有誘導(dǎo)性的按鍵設(shè)計,使得用戶在初次使用的時候就會使用,而不需要在使用的時候進行特別的學(xué)習(xí)和指導(dǎo)。a. 應(yīng)用圖標見圖3-3。圖3-3 圖為應(yīng)用圖標 b.主界面見圖3-4。 c.設(shè)置和退出按

32、鈕見圖3-5。圖3-4 圖為應(yīng)用主界面 圖3-5 畫紅圈處為設(shè)置,退出按鈕d.設(shè)置界面見圖3-6。圖3-6 圖為設(shè)置界面3.3 數(shù)據(jù)需求分析表3-2 信息輸入輸出信息輸入信息處理信息輸出用戶點擊開始計步軟件通過后臺感應(yīng)手機狀態(tài),開始計步通過軟件主界面輸出計步總數(shù),消耗卡路里等信息用戶點擊暫停軟件將通過后臺停止感應(yīng)手機狀態(tài),從而停止計步顯示計步的相應(yīng)信息用戶用戶點擊清零軟件通過后臺運行清除所記錄的數(shù)據(jù)所有這界面顯示的信息將歸零等待下次命令用戶點擊設(shè)置鍵軟件通過數(shù)據(jù)庫中的設(shè)置管理顯示設(shè)置主界面輸入步長設(shè)置對數(shù)據(jù)庫中步長信息進行改變刷新設(shè)置中步長列表輸入靈敏度設(shè)置對數(shù)據(jù)庫中靈敏度信息進行改變刷新設(shè)置

33、中靈敏度列表輸入體重設(shè)置對數(shù)據(jù)庫中的體重進行管理刷新收藏夾電視頻道的列表輸入運動類型設(shè)置對數(shù)據(jù)庫中的運動類型進行管理刷新收藏夾單詞的列表4.系統(tǒng)設(shè)計4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計在設(shè)計一款軟件時一般都會把它分成幾個模塊,在模塊的基礎(chǔ)上還會再分小模塊,這樣就達到了軟件模塊化設(shè)計的要求,然后再對各個小模塊進行詳細設(shè)計和編寫,采用模塊化的管理方式可以使軟件結(jié)構(gòu)更清晰,也使得軟件的管理更有秩序,使別人容易理解和閱讀,但是這些模塊也要根據(jù)別的模塊來設(shè)計和約束,不能隨便設(shè)計脫離框架,設(shè)計完成后需要把每個設(shè)計完成的模塊根據(jù)總體框架結(jié)合起來。根據(jù)本軟件的功能需求,將本軟件分為以下幾個功能模塊,如圖 4-1所示:主界

34、面步數(shù)公里步速時速卡路里設(shè)置走過的總步數(shù)走過的總長度每分鐘多少步走過的總步數(shù)運動所消耗的能量暫停/開始清零所有數(shù)據(jù)清零開始/暫停運動靈敏度步長體重運動類型設(shè)置軟件敏感程度設(shè)置用戶一步多長設(shè)置用戶體重設(shè)置用戶運動類型結(jié)束關(guān)閉應(yīng)用軟件 圖4-1 整體框架圖4.2 系統(tǒng)靜態(tài)模型設(shè)計根據(jù)系統(tǒng)需求可以識別系統(tǒng)中存在的對象。從需求中可知我們至少創(chuàng)建2個類:主界面類和設(shè)置類。系統(tǒng)和用戶交互時需要直觀的圖形化界面,所以我們需要5個設(shè)置界面類。確定了系統(tǒng)的類后需要確定類之間的關(guān)系,如圖4-2所示:圖4-2系統(tǒng)靜態(tài)模型5.系統(tǒng)實現(xiàn)本章介紹本系統(tǒng)的各個模塊的設(shè)計和實現(xiàn)。首先在Eclipse中配置好ADT和Andro

35、id SDK等開發(fā)環(huán)境,然后新建一個Android項目,項目名為pedometer,然后在Android項目中的AndroidManifest.xml文件中配置本軟件需要使用的權(quán)限。本論文用到的是:<manifest xmlns:android=" package="m.liangwenshu.pedometer" android:versionCode="5" android:versionName="1.4.0" android:installLocation="auto">計步器的主要功

36、能有:計步開始/暫停,設(shè)置,顯示運動所消耗的卡路里,走過長度,步速,時速,里程。本軟件是一個結(jié)合手機用戶特別是智能手機用戶常用功能的一個軟件平臺,本軟件可以通過界面快速獲取運動的情況,獲取信息后可以對這些信息進行個性化處理以方便用戶直觀的感受運動量。5.1布局界面的設(shè)計5.1.1主界面的設(shè)計由于Android平臺手機屏幕大小有限,為了不使用戶有凌亂的感覺,在主界面使用了清爽的色彩以及上兩層信息顯示的排版,使界面看起來簡單明快功能健全。本軟件實現(xiàn)了步速,步數(shù),卡路里的顯示等功能,為了讓界面顯得更為美觀,使用更為方便,筆者使用在TextView的基礎(chǔ)上實現(xiàn)了Tab底部菜單,在底部菜單上添加了 “P

37、ause/Resume”,“Reset”如圖5-1所示:(a)主界面運動信息的顯示 (b)Pause/Resume及Reset鍵圖5-1 主界面信息顯示及暫停/開始,清零鍵“Pause/Resume”主要終于用于停止和開啟監(jiān)聽手機運動狀態(tài),也就是用戶可以點擊該按鈕添來控制手機計步器的工作開始或者暫停?!癛eset”用于清除Android數(shù)據(jù)池所獲得的數(shù)據(jù)即用戶可以利用此鍵將之前所記錄的運動信息清零,以便開始記錄新一次的運動情況。在主界面下,點擊Android固有的功能鍵即可呼喚出設(shè)置和退出應(yīng)用鍵,即“Settings”,“Quite”如圖5-2所示:圖5-2 Settings和Quite鍵“S

38、ettings”用于進入設(shè)置主界面,對用戶的參數(shù)進行設(shè)這?!癚uite”即退出本程序5.1.2設(shè)置界面的設(shè)計用戶選擇設(shè)置后會進入一個設(shè)置列表界面,該界面是利用Android固有的資源模板,沒有做多余的修飾,簡單明了的表達出設(shè)置項目及目的。每一行顯示一條設(shè)置信息。該界面僅僅使用一個ListView控件實現(xiàn)設(shè)置的列表,不占用較多的尺寸卻能夠讓用戶直觀的看到所有關(guān)于計步器統(tǒng)計運動量所需的信息。列表中的每一項均可再打開一個小窗口用于更改用戶信息,例如設(shè)置步長功能(見圖5-3),在點擊“Step length”鍵后會出現(xiàn)填入用戶步長的對話框如圖5-4。圖5-3 設(shè)置步長 圖5-4 輸入用戶步長設(shè)置列表中

39、的每一項指向了一條設(shè)置內(nèi)容,點擊一條設(shè)置項目后能夠進入設(shè)置項目的輸入界面,用戶可以根據(jù)自身的實際情況來更改設(shè)置信息,這也很符合人們的使用習(xí)慣。5.2 各功能的實現(xiàn)5.2.1 計步開始及暫停首先對Pause/ resume鍵做一個監(jiān)聽start_pause_button.setOnClickListener(new View.OnClickListener()同時還要對此時狀態(tài)做一個判斷start_pause_button.setText(mIsRunning ? R.string.pause : R.string.resume);若初始狀態(tài)為記錄則顯示pause,若初始狀態(tài)為非記錄狀態(tài)則顯示r

40、esume。具體代碼的實現(xiàn)見附錄“開始/暫停按鈕”5.2.2 記錄數(shù)據(jù)清零對清零按鈕做一個View即:resetButton = (Button) findViewById(R.id.reset_button);實現(xiàn)清零的語句很簡單,對“reset”鍵做一個監(jiān)聽,當用戶點擊“reset”鍵時,即:resetButton.setOnClickListener(new View.OnClickListener()執(zhí)行一下命令:public void onClick(View v)resetValues(true);這樣記錄數(shù)據(jù)清零的按鈕就完成了。5.2.3 設(shè)置步長對于設(shè)置步長,首先要獲取用戶所輸

41、入的步長信息:return Float.valueOf(mSettings.getString("step_length", "20")若用戶未對步長信息進行編輯,則默認為20.在DistanceNotifier中使用mStepLength來計算走過的距離:mDistance = mDistance + (float) (mStepLength / 100000.0);notifyListener();在paceChanged中使用mStepLength來計算步速:mSpeed = / kilometers / hourvalue * mStepLeng

42、th / centimeters / minute/ 100000f * 60f; / centimeters/kilometertellFasterSlower();notifyListener();5.2.4 設(shè)置體重對于設(shè)置體重,首先要獲取用戶所輸入的體重信息:return Float.valueOf(mSettings.getString("body_weight", "50"若用戶未對步長信息進行編輯,則默認為50.在CaloriesNotifier中使用mBodyWeight來計算用戶因運動所消耗的卡路里:mCalories += (mBod

43、yWeight * (mIsRunning ? METRIC_RUNNING_FACTOR : METRIC_WALKING_FACTOR) * mStepLength / 100000.0;notifyListener();5.2.5 設(shè)置運動狀態(tài)當用戶選擇跑步運動的時候,程序會判斷返回值等于Running: return mSettings.getString("exercise_type", "running").equals("running")判斷跑步還是走路是為了方便計算用戶所消耗的卡路里,在因運動所消耗卡路里的計算公式中

44、跑步狀態(tài)和走路狀態(tài)分別對應(yīng)不同的參數(shù),根據(jù)用戶的選擇而確定卡路里的計算方法。設(shè)置運動裝態(tài)的詳細代碼見附錄“判斷是走路還是跑步”。6.系統(tǒng)測試6.1 測試開始停止模塊測試能否根據(jù)用戶控制得到開始計步和停止計步的結(jié)果。6.1.1 測試準備1) 模塊名:計步器2) 負責人:梁文淑3) 意圖:測試計步器各模塊功能。6.1.2測試過程1) 點擊應(yīng)用圖標,如圖 6-1所示:2) 運動使主界面開始記錄數(shù)據(jù),如圖 6-2所示: 我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文圖6-1 圖為計步器主界面 圖6-2 圖為計步器主界面3) 在主界面點擊Pause,如圖 6-3所示:4) 繼續(xù)運

45、動觀察主界面數(shù)據(jù)是否有變化,如圖 6-4所示: 我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要論文我要過論文我要過論文我要過論文我要過論文我要過論文我要文 圖6-3 圖為停止計步界面 圖6-4 圖為停止計步后仍在運動界面5) 進入settings(設(shè)置)界面,如圖 6-5所示:6) 點擊設(shè)置Sensitivity(靈敏度),如圖6-6所示: 過論文我要過論文我要過論 圖6-5 圖為設(shè)置界面 圖6-6 圖為設(shè)置靈敏度界面7) 點擊設(shè)置Step length(步長),如圖 6-7所示:8) 點擊設(shè)置Body weight(體重),如圖6-8所示:圖6-7 圖為

46、步長設(shè)置界面圖6-8 圖為體重設(shè)置界面9) 點擊設(shè)置Exercise type(運動類型),如圖6-9所示: 過論文我要過論文我要過論文 我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文圖6-9 圖為運動類型設(shè)置界面6.2 測試總結(jié)本軟件中幾個模塊的功能經(jīng)過測試,均測試通過,測試結(jié)果和最初的設(shè)計基本一致,所有的功能均能正常運行,軟件需要比較特殊的運行環(huán)境,首先手機的重力感應(yīng)功能必須有,而且Android系統(tǒng)的版本過低將不能使用。至此基于安卓平臺的手機計步器的設(shè)計基本完成。5結(jié)論經(jīng)過了數(shù)月的努力,Android平臺手計步器軟件終于完成了。本軟件能實現(xiàn)用戶對計步器的基本要求。方便用戶開

47、啟關(guān)閉計步器,對運動情況和運動量可以直觀的從主界面獲取信息,設(shè)置選項中的智能人機交互平臺也可以明了的對用戶信息進行編輯,不需要復(fù)雜的操作不需要學(xué)習(xí),一目了然。對于智能手機用戶來說,基于安卓平臺的手機計步器提供了一個快捷方便的平臺。為用戶提供隨時隨地的服務(wù),節(jié)省用戶不必要的資金消耗與時間消耗是本軟件設(shè)計的一個宗旨,整個框架和細節(jié)的設(shè)計都是圍繞這個宗旨進行的,雖然整個軟件還不是很成熟,還有很多不足和需要改進的地方,或者還有很多信息提供不到位,例如我們可以加入音樂播放模塊,是用戶在運動的同時享受輕松快樂的環(huán)境,這些還需要日后慢慢優(yōu)化和改善,但是最初的設(shè)計都實現(xiàn)了。在現(xiàn)在的功能基礎(chǔ)上本軟件可以進行擴展

48、升級。本軟件最初設(shè)計的時候就是一個可以擴展的框架,所以為將來加入新的功能提供了很大的方便。本軟件雖然不是很強大,但是是我自己親手編寫的,開發(fā)一個能在時下最流行的軟件,使之順利的在平臺上運行是一件令人興奮的事情。把自己的想法一步一步地付諸實踐,最后成為一個真實的實物,被別人使用和稱贊,此時得到的成就感是尤為強烈的。參考文獻1 李剛.瘋狂的Android講義M.北京:電子工業(yè)出版社.2011.7.2 吳亞峰,蘇亞光.Android2.0游戲開發(fā)實戰(zhàn)寶典M.北京:人民郵電出版 社.2010.7.3 李寧.Android開發(fā)完全講義M.北京:中國水利水電出版社.2012.4.4 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)

49、構(gòu) M.北京:清華大學(xué)出版社.2007.3.5 李剛.瘋狂Java講義M.北京:電子工業(yè)出版社.2008.10.6 Bruce Eckel著.Java編程思想(陳昊鵬)M.北京:機械工業(yè)出版 社.2007.6:23-357 蘇亞光;吳亞峰;索依娜.Android平臺下傳感器技術(shù)開發(fā)計步器應(yīng)用J.電腦編程技巧與維護.2010(23):3-6.8 熊剛.基于Android的智能手機的設(shè)計與實現(xiàn)D.武漢理工大學(xué).2010:34一60.9 Sandeep Kumar. Location Based Services using AndroidC. Android Application Fundame

50、ntals, 2009 IEEE International Conference: P1-510 姚昱旻,劉衛(wèi)國.Android 與J2ME 平臺間即時通信的研究與實現(xiàn)J.計算機系統(tǒng)應(yīng)用.2008(12):118-12011 公磊,周聰.基于Android 的移動終端應(yīng)用程序開發(fā)與研究J.計算機與現(xiàn)代化.2008(8):86-89.12 差沙,地獄男爵.用Android 開發(fā)手機應(yīng)用J.程序員.2008(1):25-2713 Narayan Babu.Android application development skillsJ.IT TIME WEEKLY,2012。6(8):55-58.

51、14 Konrad Adenauer.Android structural design guidelinesJ.Journal of Computer and Software Engineering,2012.3(6):69-72.附錄Activitypackage m.liangwenshu.pedometer;import android.app.Activity;import android.app.backup.RestoreObserver;import android.content.ComponentName;import android.content.Context;im

52、port android.content.Intent;import android.content.ServiceConnection;import android.content.SharedPreferences;import android.os.Bundle;import android.os.Handler;import android.os.IBinder;import android.os.Message;import android.preference.PreferenceManager;import android.util.Log;import android.view

53、.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.TextView;/* * author Liangwenshu */public class WalkingActivity extends Activityprivate static final String TAG = "Pedometer"private SharedPrefe

54、rences mSettings;private PedometerSettings mPedometerSettings;private Utils mUtils;private TextView mStepValueView; / 步數(shù)private TextView mPaceValueView; /private TextView mDistanceValueView; / 距離private TextView mSpeedValueView; / 速度private TextView mCaloriesValueView; / 卡路里消耗顯示框TextView mDesiredPaceView;private int mStepValue;/ mStepValueView的值private int mPaceValue;/ mPaceValueView的值private float mDistanceValue;/ mDistanceValueVie

溫馨提示

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

評論

0/150

提交評論