




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 基于安卓平臺的手機(jī)計(jì)步器的設(shè)計(jì) 摘要Android是一個(gè)針對移動(dòng)設(shè)備的操作系統(tǒng)和軟件平臺,隨著智能手機(jī)的興起,漸漸成為了占有市場最大比重的移動(dòng)平臺操作系統(tǒng),同時(shí)也越發(fā)地受到廣大用戶的青睞。Android采用 Linux 內(nèi)核,由 Google 和開放手機(jī)聯(lián)盟于2007年11月5日發(fā)布。容許使用 Java語言來開發(fā)和管理代碼。作為一個(gè)年輕并且流行的移動(dòng)應(yīng)用平臺,目前android軟件的應(yīng)用面還是比較廣泛的,比如聊天,通訊,上網(wǎng)等等,但涉及傳感器方面的應(yīng)用軟件還比較少。本文在分析討論Android手機(jī)軟件開發(fā)原理的同時(shí),針對智能手機(jī)用戶日常使用的實(shí)際情況,對用戶手機(jī)的日常功能需求進(jìn)行調(diào)查。發(fā)現(xiàn)對
2、于經(jīng)常走路上班或者鍛煉的朋友來說擁有一款精美、功能齊全的計(jì)步器是非常必要的。將精確計(jì)量和智能運(yùn)行技術(shù)完美結(jié)合,只需開啟軟件,通過感應(yīng)器傳來的信息,App能夠變化算法,測得你的走路步數(shù),速度以及消耗的卡路里量與行走歷程。一款合適的計(jì)步器在無形中會(huì)量化用戶的健身效果,幫助用戶堅(jiān)持鍛煉以達(dá)到更好的健身效果。關(guān)鍵詞 Android 智能手機(jī)平臺 計(jì)步器 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 智能手機(jī)系統(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)濟(jì)可行性83.1.2 技術(shù)可行性83.1.3 操作可行性93.2 性能需求分析103.2.1 實(shí)用性原則103.2.2 可擴(kuò)展性與可維護(hù)性原則103.2.3 安全可靠性原則113.2.4 用戶界面美觀原則113.3
9、數(shù)據(jù)需求分析134.系統(tǒng)設(shè)計(jì)144.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)144.2 系統(tǒng)靜態(tài)模型設(shè)計(jì)155.系統(tǒng)實(shí)現(xiàn)165.1布局界面的設(shè)計(jì)165.1.1主界面的設(shè)計(jì)165.1.2設(shè)置界面的設(shè)計(jì)175.2 各功能的實(shí)現(xiàn)185.2.1 計(jì)步開始及暫停185.2.2 記錄數(shù)據(jù)清零185.2.3 設(shè)置步長185.2.4 設(shè)置體重195.2.5 設(shè)置運(yùn)動(dòng)狀態(tài)196.系統(tǒng)測試206.1 測試開始停止模塊206.1.1 測試準(zhǔn)備206.1.2測試過程206.2 測試總結(jié)235結(jié)論24致謝25參考文獻(xiàn)26附錄2735北京郵電大學(xué)世1前言1.1 智能手機(jī)系統(tǒng)開發(fā)背景當(dāng)今社會(huì),手機(jī)已經(jīng)成為人們工作生活中必不可少的一項(xiàng)
10、通訊和娛樂工具,隨著手機(jī)的不斷更新,手機(jī)的各種高層服務(wù)和應(yīng)用層出不窮?,F(xiàn)在智能手機(jī)可謂是爆發(fā)式增長,與此同時(shí)傳統(tǒng)手機(jī)在不斷地消失,諾基亞就是在這樣的環(huán)境中受到了重創(chuàng)?,F(xiàn)在主要有三個(gè)使用率和關(guān)注度最高的手機(jī)平臺,分別是:Android,ios和windows phone平臺,在這三個(gè)平臺中Android的占有率最高。自2007年11月Google公司發(fā)布Android系統(tǒng)以來,短短幾年時(shí)間,Android已經(jīng)占據(jù)了智能手機(jī)市場的半壁江山,成為目前最為炙手可熱的智能手機(jī)操作系統(tǒng)。Android走進(jìn)了越來越多人的生活,成為他們獲取信息的主要平臺。Android平臺是一個(gè)面向大眾的系統(tǒng),分布在低端,中
11、端和高端市場中,受到了各個(gè)層次的歡迎,并且Android是開源的,開發(fā)者隨時(shí)都可以查看系統(tǒng)源代碼,并且使用時(shí)下最流行的java作為其主要的開發(fā)語言。由于這些特點(diǎn),才使得Android成為現(xiàn)在市場占有量最大的軟件平臺,在這樣的平臺上面開發(fā)一款獨(dú)特的日常生活軟件尤為必要的。Android不只是一個(gè)操作系統(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虛擬機(jī)Dalvik,是基于Ap
12、ache Harmony虛擬機(jī)版本進(jìn)行改良而來,能夠提供極高的執(zhí)行性能。有了Java虛擬機(jī),大部分Java核心類庫都已經(jīng)可以直接運(yùn)行。c) 大量立即可用的類庫和應(yīng)用軟件,例如瀏覽器Webkit,數(shù)據(jù)庫SQLite,讓你可輕易開發(fā)出來媲美于桌面應(yīng)用復(fù)雜度的手機(jī)軟件。d) Google已經(jīng)開發(fā)好了大量現(xiàn)成的應(yīng)用軟件,同時(shí)可以直接使用Google很多在線服務(wù)。e) Google提供了基于Eclipse的完整開發(fā)環(huán)境,模擬器,文檔,幫助,示例將極大推動(dòng)Android快速的推廣和發(fā)展?;贏ndroid眾多的優(yōu)點(diǎn),圍繞Android形成了一個(gè)移動(dòng)手機(jī)聯(lián)盟,主要的手機(jī)廠商幾乎全部在列,而此聯(lián)盟在極大的推動(dòng)
13、Android平臺的推廣和發(fā)展,在未來的幾年也必將極大的推動(dòng)整個(gè)手機(jī)操作系統(tǒng)甚至是互聯(lián)網(wǎng)乃至軟件行業(yè)的發(fā)展。1.2 課題的目的與意義Android平臺對于Google和用戶的意義不在于手機(jī)本身,而在于為了推動(dòng)移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)鏈的迅速成型。具有開源特性的Android手機(jī)平臺廢棄了之前Symbian、windows mobile等操作系統(tǒng)收取高額的授權(quán)費(fèi)用的模式,使得應(yīng)用開發(fā)成本大大降低;也正是由于它開放源代碼,使得手機(jī)產(chǎn)生更多個(gè)性化的應(yīng)用。同時(shí),合作方也能夠在這里得到利潤或者創(chuàng)造價(jià)值,手機(jī)軟件行業(yè)得到有效的維護(hù)協(xié)調(diào)發(fā)展。這正式Google發(fā)布Android平臺的意義,也是Andorid平臺存在的
14、使命所在。而作為Android平臺成員之一的中國移動(dòng)也投資成立了一家通訊公司,專門從事Google手機(jī)軟件的應(yīng)用以及本地化特色軟件的開發(fā),比如在Google手機(jī)平臺上添加飛信、輸入法等一系列符合國內(nèi)用戶使用習(xí)慣的功能。更多的手機(jī)軟件開發(fā)商已經(jīng)或者籌備將公司進(jìn)行轉(zhuǎn)型,從其方向的開發(fā)轉(zhuǎn)向到Android軟件的開發(fā)。綜觀世界,Android平臺對手機(jī)軟件行業(yè)和移動(dòng)手機(jī)平臺將發(fā)揮極大地推動(dòng)作用,而在未來的幾年或者一段時(shí)間內(nèi),Android將越發(fā)的凸顯自己的重要性?;诖耍覀冇斜匾ㄟ^進(jìn)行相關(guān)的研究來了解Android平臺,來了解開發(fā)Android的那一大批人的先進(jìn)理念和思想,進(jìn)而更深入了解手機(jī)軟件行
15、業(yè),同事掌握未來無線移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢,從而更好的適應(yīng)時(shí)代的需要。1.3 本文主要研究內(nèi)容本論文是對基于安卓平臺的手機(jī)計(jì)步器的設(shè)計(jì)和研究,目的是為了方便用戶綠色生活,保持健康的生活態(tài)度,并且為用戶節(jié)約了不必要的開支同時(shí)也避免了資源的浪費(fèi)。Android系統(tǒng)的一大亮點(diǎn)之一就是傳感器的使用,利用傳感器可以開發(fā)出很多新奇有趣的應(yīng)用程序,例如計(jì)步器,水平儀,甚至在很多游戲中都可以使用傳感器來操作游戲。傳感器的種類很多,其中包括加速度傳感器、姿態(tài)傳感器、磁場傳感器、溫度傳感器、光傳感器等,本論文介紹的計(jì)步器應(yīng)用就是使用加速度傳感器。本論文主要對計(jì)步器以下功能做主要研究。程序運(yùn)行后進(jìn)入主界面,用戶可以看
16、到行程、消耗熱量、速度以及步速。點(diǎn)擊開始,進(jìn)入運(yùn)行狀態(tài),點(diǎn)擊清零可以使所有數(shù)據(jù)回歸零初始狀態(tài)。點(diǎn)擊設(shè)置選項(xiàng)可以進(jìn)入設(shè)置界面,調(diào)節(jié)靈敏度來設(shè)置需要的靈敏度(靈敏度越高,對身體的動(dòng)作的感應(yīng)越靈敏,調(diào)節(jié)靈敏度來適應(yīng)不同的體型了,路面等因素),通過設(shè)置步長來設(shè)置用戶自身實(shí)際步長(為了估算行走的距離和速度,輸入步長得出粗略的距離和速度,僅供參考),設(shè)置體重來調(diào)節(jié)用戶的實(shí)際體重(這是為了計(jì)算消耗的卡路里)。按軟件工程步驟:1) 了解相關(guān)資料,了解本軟件的研究意義,確定實(shí)現(xiàn)技術(shù)與方式設(shè)計(jì)總目標(biāo)及其整體框架。2) 了解用戶的使用習(xí)慣和使用心理,進(jìn)行用戶需求分析和規(guī)范。3) 草擬功能模塊,畫出模塊圖。4) 搜集
17、軟件制作素材。5) 編寫代碼實(shí)現(xiàn)各個(gè)功能模塊。6) 根據(jù)Android特有的使用風(fēng)格進(jìn)行布局與優(yōu)化。7) 完成系統(tǒng)測試并改進(jìn)。2相關(guān)技術(shù)介紹2.1 開發(fā)工具及環(huán)境簡介Android 的上層應(yīng)用程序是用Java 語言開發(fā),同時(shí)還需要基于Dalvik 虛擬機(jī),所以Google 公司推薦使用主流的Java 繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因?yàn)槭鞘褂肑ava 語言進(jìn)行開發(fā),還應(yīng)該有由SUN 公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android 的應(yīng)用程序開發(fā)和Java 開發(fā)有較大區(qū)別的,所以還需要有Google 提供
18、的Android SDK。同時(shí),還需要在Eclipse 安裝ADT,為Android 開發(fā)提供開發(fā)工具的升級或者變更,是Eclipse 下開發(fā)工具的升級下載的工具。簡言之,需要以下軟件,才能搭建Android 開發(fā)環(huán)境,從而進(jì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是一個(gè)著名的跨平臺的自由集成開發(fā)環(huán)境軟件。最初主要用來Java語言開發(fā),現(xiàn)在人們可以通過安裝插件使其作為C+、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺,但是隨著眾多插件的產(chǎn)生,使得Eclipse擁有很好的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse含有插件開發(fā)環(huán)境,這個(gè)組件主允許希望擴(kuò)展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進(jìn)行軟件的開發(fā)。 JDK簡介JDK(Java Development Kit)是一個(gè)寫Java應(yīng)用程序的程序開發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語言寫的applet和應(yīng)用程序所需的工具組成。
21、JDK是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。JDK是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類庫。JDK中還包括完整的JRE(Java Runtime Environment,Java運(yùn)行環(huán)境),也被稱為private runtime。包括了用于產(chǎn)品環(huán)境的各種庫類,以及給開發(fā)員使用的補(bǔ)充庫,如國際化的庫、IDL庫。 ADT簡介Google專門為Eclipse開發(fā)了一個(gè)插件來輔助開發(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手機(jī)自帶的sqlite3數(shù)據(jù)庫進(jìn)行開發(fā)。2.2 Android SDK常見公共類庫介紹2.2.1 android的傳感器加速度傳感器 、磁場傳感器、光線傳感器 、重力傳感器、線性加速傳感器、等等。加速度傳感器 :S
23、ensor.TYPE_ACCELEROMETER:返回手機(jī)設(shè)備在X,Y,Z三個(gè)方向上的加速度.(我們用到的) 磁場傳感器:Sensor.TYPE_MAGNETIC_FIELD:,返回周圍磁場在手機(jī)的X,Y,Z方向上的影響(磁場分量). 距離感應(yīng)器:Sensor.TYPE_PROXIMITY: 重力傳感器:Sensor.TYPE_GRAVITY: 線性加速傳感器:Sensor.TYPE_LINEAR_ACCELERATION: 2.2.2 Android界面Activity介紹Android的界面是由每一個(gè)成為Activity的java類組成的,這個(gè)類庫是制作Android軟件必須使用的。 Wa
24、lkingActivity是應(yīng)用程序的用戶界面,主要功能是按照XML布局文件的內(nèi)容顯示界面并與用戶進(jìn)行交互。只有使用了這個(gè)才可以讓用戶看得見,本類中有幾個(gè)常用的覆寫方法來表示界面的生存周期,分別是:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七個(gè)方法。Activity的生命周期圖,如圖2-1所示: 圖2-1 Android Activity生存周期圖3.系統(tǒng)需求分析3.1 可行性研究可行性分析(Feasibility Analysis)也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對剛
25、剛開發(fā)打算進(jìn)一步應(yīng)用的系統(tǒng)的必要性和可能性的分析和研究??尚行匝芯康哪康闹饕谟?,用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。該階段通過對系統(tǒng)總目標(biāo)的初步調(diào)研與分析,提出可行性方案并進(jìn)行論證。在此,主要從經(jīng)濟(jì)可行性、技術(shù)可行性和操作可行性三方面進(jìn)行分析。3.1.1 經(jīng)濟(jì)可行性隨著人民生活水平的提高,尤其我國成功承辦2008年奧運(yùn)會(huì)以來,人們的健康運(yùn)動(dòng)意識逐漸增強(qiáng)。而上班族們由于時(shí)間緊張可利用的休閑時(shí)間較少,他們則會(huì)利用一些零散的時(shí)間進(jìn)行鍛煉,比如上班來回的路上多走路少乘車,在辦公區(qū)盡量選擇走樓梯而不是乘坐電梯等等,由于運(yùn)動(dòng)時(shí)間零散不便于量化自己的運(yùn)動(dòng)量,也就無法估計(jì)健身效果。在這樣的背
26、景前提下,擁有一款計(jì)步器就顯得尤為必要了。目前市場上的計(jì)步器少則幾十多則上百,而智能手機(jī)計(jì)步器軟件的成本幾乎為零。只需用戶擁有一臺有安卓系統(tǒng)的智能手機(jī)即可安裝使用了。并且手機(jī)計(jì)步器軟件攜帶方便,可以隨時(shí)隨地獲取用戶的運(yùn)動(dòng)信息,擁有不受地理和時(shí)間限制的特點(diǎn),可以充分利用人們的閑暇時(shí)間,從這個(gè)角度看,該軟件可行。3.1.2 技術(shù)可行性開發(fā)工具:Eclipse Classic 3.7.2數(shù)據(jù)庫環(huán)境:sqlite3系統(tǒng)環(huán)境:Microsoft Windows XP或以上版本軟件實(shí)現(xiàn)是依靠基于Android系統(tǒng)的開發(fā)技術(shù),使用的是java為主的開發(fā)語言進(jìn)行開發(fā),再加上SOAP技術(shù)進(jìn)行數(shù)據(jù)交互。3.1.2
27、.1 功能說明具體有如下一些功能:計(jì)步開始,計(jì)步暫停,計(jì)步清零,主屏幕顯示計(jì)步總數(shù),走過的公里數(shù),每分鐘走多少步,每小時(shí)走多少公里和消耗的卡路里量。進(jìn)入設(shè)置菜單設(shè)置靈敏度,設(shè)置步長,根據(jù)步長計(jì)算走過公里數(shù)、步速和消耗的卡路里量,設(shè)置體重和運(yùn)動(dòng)類型,主要用于計(jì)算消耗的卡路里量。退出應(yīng)用。 技術(shù)分析表 3-1 技術(shù)需求分析關(guān)鍵技術(shù)項(xiàng)要求現(xiàn)有水平對照分析數(shù)據(jù)結(jié)構(gòu)了解了解可以滿足要求。數(shù)據(jù)庫熟悉了解雖有欠缺,但通過指導(dǎo)培訓(xùn),應(yīng)該在短期內(nèi)可以達(dá)到要求。Java熟練熟悉基本可以滿足要求。Android精通 熟悉短期需進(jìn)一步達(dá)到要求,存在一定問題。3.1.3 操作可行性軟件采用最主流的Andr
28、oid軟件應(yīng)用開發(fā)風(fēng)格,并使用Android的原生組件進(jìn)行開發(fā),界面友好,簡潔易懂,組建布局具有誘導(dǎo)性,用戶使用極其方便快捷。主界面操作流程見圖3-1,設(shè)置界面操作流程見圖3-2。開始計(jì)步計(jì)步暫停計(jì)步清零開始 圖3-1 圖為主界面操作流程圖主界面設(shè)置靈敏度運(yùn)動(dòng)類型型返回步長體重圖3-2 圖為設(shè)置界面操作流程圖3.2 性能需求分析為了保證軟件能夠長期、安全、穩(wěn)定、可靠、高效地在Android設(shè)備上運(yùn)行,本系統(tǒng)應(yīng)該滿足以下性能需求。3.2.1 實(shí)用性原則充分利用手機(jī)的內(nèi)置傳感器功能,為本軟件提供信息支持,充分考慮用戶獲取信息的心理需求,在簡潔實(shí)用的基礎(chǔ)上對軟件界面層級進(jìn)行布局,做到了方便,美觀大方
29、。3.2.2 可擴(kuò)展性與可維護(hù)性原則為適應(yīng)將來的發(fā)展,軟件應(yīng)該具有良好的可擴(kuò)展性和可維護(hù)性。系統(tǒng)設(shè)計(jì)盡可能模塊化、組件化,由于Android設(shè)備分辨率的各不相同,使軟件可靈活配置,適應(yīng)不同的的Android終端設(shè)備。系統(tǒng)的可擴(kuò)展性應(yīng)包括能接納已有的系統(tǒng)和在今后系統(tǒng)軟硬件擴(kuò)展時(shí),能有效地保護(hù)已有的資源建設(shè)。當(dāng)用戶的需求有所改變時(shí),可以對其快速的配置改變,以應(yīng)對用戶的需求,有一個(gè)較好的應(yīng)用平臺Android設(shè)備,能容易地安裝和卸載。系統(tǒng)易于擴(kuò)充升級,既能滿足當(dāng)前業(yè)務(wù)的需求,將來的需求改變升級也被考慮在內(nèi)。3.2.3 安全可靠性原則隨著三網(wǎng)融合的發(fā)展,智能終端產(chǎn)業(yè)鏈的構(gòu)成相對于傳統(tǒng)功能手機(jī)發(fā)生了巨大
30、變化。處于上游的操作系統(tǒng)提供商制定安全機(jī)制的基本規(guī)則以及相應(yīng)的應(yīng)用商店政策。終端廠商在這些規(guī)則的基礎(chǔ)上,定制個(gè)性化的終端軟件,建立自有的應(yīng)用商店。應(yīng)用軟件開發(fā)商/開發(fā)者則利用操作系統(tǒng)提供商提供的工具進(jìn)行各類應(yīng)用軟件的開發(fā),第三方應(yīng)用商店或論壇等提供應(yīng)用軟件的下載渠道?;谥悄芙K端產(chǎn)業(yè)鏈在管理和技術(shù)方面暴露出來的脆弱性,來源于傳統(tǒng)互聯(lián)網(wǎng)和信息系統(tǒng)的各類攻擊逐漸將目標(biāo)定位于智能終端,并借助智能終端操作系統(tǒng)的開放性制造出大量的惡意軟件。此外,應(yīng)用商店的審核機(jī)制欠缺也導(dǎo)致了惡意軟件的泛濫。目前智能終端信息竊取類軟件橫行,一款應(yīng)用軟件的安全可靠性便顯得尤為重要了?,F(xiàn)在智能終端個(gè)人信息的泄露通常不會(huì)引起用
31、戶的覺察,或者即便覺察也無法判斷其帶來的損失。與早期的安全問題不同,個(gè)人信息泄露所帶來的通常不是直接的高額話費(fèi),而是潛在的巨大經(jīng)濟(jì)損失。如銀行賬戶泄密、絕密商業(yè)信息泄露等。如何保護(hù)用戶個(gè)人信息,防止在用戶不知情的情況下泄露隱私信息,是當(dāng)前亟待解決的問題。本軟件承諾不會(huì)殘留用戶任何的隱私信息。3.2.4 用戶界面美觀原則界面經(jīng)過對用戶心理的調(diào)研和統(tǒng)計(jì)后。并參考時(shí)下流行的軟件風(fēng)格進(jìn)行設(shè)計(jì),在此基礎(chǔ)上,加入了對用戶具有誘導(dǎo)性的按鍵設(shè)計(jì),使得用戶在初次使用的時(shí)候就會(huì)使用,而不需要在使用的時(shí)候進(jìn)行特別的學(xué)習(xí)和指導(dǎo)。a. 應(yīng)用圖標(biāo)見圖3-3。圖3-3 圖為應(yīng)用圖標(biāo) 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 信息輸入輸出信息輸入信息處理信息輸出用戶點(diǎn)擊開始計(jì)步軟件通過后臺感應(yīng)手機(jī)狀態(tài),開始計(jì)步通過軟件主界面輸出計(jì)步總數(shù),消耗卡路里等信息用戶點(diǎn)擊暫停軟件將通過后臺停止感應(yīng)手機(jī)狀態(tài),從而停止計(jì)步顯示計(jì)步的相應(yīng)信息用戶用戶點(diǎn)擊清零軟件通過后臺運(yùn)行清除所記錄的數(shù)據(jù)所有這界面顯示的信息將歸零等待下次命令用戶點(diǎn)擊設(shè)置鍵軟件通過數(shù)據(jù)庫中的設(shè)置管理顯示設(shè)置主界面輸入步長設(shè)置對數(shù)據(jù)庫中步長信息進(jìn)行改變刷新設(shè)置中步長列表輸入靈敏度設(shè)置對數(shù)據(jù)庫中靈敏度信息進(jìn)行改變刷新設(shè)置
33、中靈敏度列表輸入體重設(shè)置對數(shù)據(jù)庫中的體重進(jìn)行管理刷新收藏夾電視頻道的列表輸入運(yùn)動(dòng)類型設(shè)置對數(shù)據(jù)庫中的運(yùn)動(dòng)類型進(jìn)行管理刷新收藏夾單詞的列表4.系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)在設(shè)計(jì)一款軟件時(shí)一般都會(huì)把它分成幾個(gè)模塊,在模塊的基礎(chǔ)上還會(huì)再分小模塊,這樣就達(dá)到了軟件模塊化設(shè)計(jì)的要求,然后再對各個(gè)小模塊進(jìn)行詳細(xì)設(shè)計(jì)和編寫,采用模塊化的管理方式可以使軟件結(jié)構(gòu)更清晰,也使得軟件的管理更有秩序,使別人容易理解和閱讀,但是這些模塊也要根據(jù)別的模塊來設(shè)計(jì)和約束,不能隨便設(shè)計(jì)脫離框架,設(shè)計(jì)完成后需要把每個(gè)設(shè)計(jì)完成的模塊根據(jù)總體框架結(jié)合起來。根據(jù)本軟件的功能需求,將本軟件分為以下幾個(gè)功能模塊,如圖 4-1所示:主界
34、面步數(shù)公里步速時(shí)速卡路里設(shè)置走過的總步數(shù)走過的總長度每分鐘多少步走過的總步數(shù)運(yùn)動(dòng)所消耗的能量暫停/開始清零所有數(shù)據(jù)清零開始/暫停運(yùn)動(dòng)靈敏度步長體重運(yùn)動(dòng)類型設(shè)置軟件敏感程度設(shè)置用戶一步多長設(shè)置用戶體重設(shè)置用戶運(yùn)動(dòng)類型結(jié)束關(guān)閉應(yīng)用軟件 圖4-1 整體框架圖4.2 系統(tǒng)靜態(tài)模型設(shè)計(jì)根據(jù)系統(tǒng)需求可以識別系統(tǒng)中存在的對象。從需求中可知我們至少創(chuàng)建2個(gè)類:主界面類和設(shè)置類。系統(tǒng)和用戶交互時(shí)需要直觀的圖形化界面,所以我們需要5個(gè)設(shè)置界面類。確定了系統(tǒng)的類后需要確定類之間的關(guān)系,如圖4-2所示:圖4-2系統(tǒng)靜態(tài)模型5.系統(tǒng)實(shí)現(xiàn)本章介紹本系統(tǒng)的各個(gè)模塊的設(shè)計(jì)和實(shí)現(xiàn)。首先在Eclipse中配置好ADT和Andro
35、id SDK等開發(fā)環(huán)境,然后新建一個(gè)Android項(xiàng)目,項(xiàng)目名為pedometer,然后在Android項(xiàng)目中的AndroidManifest.xml文件中配置本軟件需要使用的權(quán)限。本論文用到的是:<manifest xmlns:android=" package="m.liangwenshu.pedometer" android:versionCode="5" android:versionName="1.4.0" android:installLocation="auto">計(jì)步器的主要功
36、能有:計(jì)步開始/暫停,設(shè)置,顯示運(yùn)動(dòng)所消耗的卡路里,走過長度,步速,時(shí)速,里程。本軟件是一個(gè)結(jié)合手機(jī)用戶特別是智能手機(jī)用戶常用功能的一個(gè)軟件平臺,本軟件可以通過界面快速獲取運(yùn)動(dòng)的情況,獲取信息后可以對這些信息進(jìn)行個(gè)性化處理以方便用戶直觀的感受運(yùn)動(dòng)量。5.1布局界面的設(shè)計(jì)5.1.1主界面的設(shè)計(jì)由于Android平臺手機(jī)屏幕大小有限,為了不使用戶有凌亂的感覺,在主界面使用了清爽的色彩以及上兩層信息顯示的排版,使界面看起來簡單明快功能健全。本軟件實(shí)現(xiàn)了步速,步數(shù),卡路里的顯示等功能,為了讓界面顯得更為美觀,使用更為方便,筆者使用在TextView的基礎(chǔ)上實(shí)現(xiàn)了Tab底部菜單,在底部菜單上添加了 “P
37、ause/Resume”,“Reset”如圖5-1所示:(a)主界面運(yùn)動(dòng)信息的顯示 (b)Pause/Resume及Reset鍵圖5-1 主界面信息顯示及暫停/開始,清零鍵“Pause/Resume”主要終于用于停止和開啟監(jiān)聽手機(jī)運(yùn)動(dòng)狀態(tài),也就是用戶可以點(diǎn)擊該按鈕添來控制手機(jī)計(jì)步器的工作開始或者暫停?!癛eset”用于清除Android數(shù)據(jù)池所獲得的數(shù)據(jù)即用戶可以利用此鍵將之前所記錄的運(yùn)動(dòng)信息清零,以便開始記錄新一次的運(yùn)動(dòng)情況。在主界面下,點(diǎn)擊Android固有的功能鍵即可呼喚出設(shè)置和退出應(yīng)用鍵,即“Settings”,“Quite”如圖5-2所示:圖5-2 Settings和Quite鍵“S
38、ettings”用于進(jìn)入設(shè)置主界面,對用戶的參數(shù)進(jìn)行設(shè)這?!癚uite”即退出本程序5.1.2設(shè)置界面的設(shè)計(jì)用戶選擇設(shè)置后會(huì)進(jìn)入一個(gè)設(shè)置列表界面,該界面是利用Android固有的資源模板,沒有做多余的修飾,簡單明了的表達(dá)出設(shè)置項(xiàng)目及目的。每一行顯示一條設(shè)置信息。該界面僅僅使用一個(gè)ListView控件實(shí)現(xiàn)設(shè)置的列表,不占用較多的尺寸卻能夠讓用戶直觀的看到所有關(guān)于計(jì)步器統(tǒng)計(jì)運(yùn)動(dòng)量所需的信息。列表中的每一項(xiàng)均可再打開一個(gè)小窗口用于更改用戶信息,例如設(shè)置步長功能(見圖5-3),在點(diǎn)擊“Step length”鍵后會(huì)出現(xiàn)填入用戶步長的對話框如圖5-4。圖5-3 設(shè)置步長 圖5-4 輸入用戶步長設(shè)置列表中
39、的每一項(xiàng)指向了一條設(shè)置內(nèi)容,點(diǎn)擊一條設(shè)置項(xiàng)目后能夠進(jìn)入設(shè)置項(xiàng)目的輸入界面,用戶可以根據(jù)自身的實(shí)際情況來更改設(shè)置信息,這也很符合人們的使用習(xí)慣。5.2 各功能的實(shí)現(xiàn)5.2.1 計(jì)步開始及暫停首先對Pause/ resume鍵做一個(gè)監(jiān)聽start_pause_button.setOnClickListener(new View.OnClickListener()同時(shí)還要對此時(shí)狀態(tài)做一個(gè)判斷start_pause_button.setText(mIsRunning ? R.string.pause : R.string.resume);若初始狀態(tài)為記錄則顯示pause,若初始狀態(tài)為非記錄狀態(tài)則顯示r
40、esume。具體代碼的實(shí)現(xiàn)見附錄“開始/暫停按鈕”5.2.2 記錄數(shù)據(jù)清零對清零按鈕做一個(gè)View即:resetButton = (Button) findViewById(R.id.reset_button);實(shí)現(xiàn)清零的語句很簡單,對“reset”鍵做一個(gè)監(jiān)聽,當(dāng)用戶點(diǎn)擊“reset”鍵時(shí),即: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")若用戶未對步長信息進(jìn)行編輯,則默認(rèn)為20.在DistanceNotifier中使用mStepLength來計(jì)算走過的距離:mDistance = mDistance + (float) (mStepLength / 100000.0);notifyListener();在paceChanged中使用mStepLength來計(jì)算步速: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"若用戶未對步長信息進(jìn)行編輯,則默認(rèn)為50.在CaloriesNotifier中使用mBodyWeight來計(jì)算用戶因運(yùn)動(dòng)所消耗的卡路里:mCalories += (mBod
43、yWeight * (mIsRunning ? METRIC_RUNNING_FACTOR : METRIC_WALKING_FACTOR) * mStepLength / 100000.0;notifyListener();5.2.5 設(shè)置運(yùn)動(dòng)狀態(tài)當(dāng)用戶選擇跑步運(yùn)動(dòng)的時(shí)候,程序會(huì)判斷返回值等于Running: return mSettings.getString("exercise_type", "running").equals("running")判斷跑步還是走路是為了方便計(jì)算用戶所消耗的卡路里,在因運(yùn)動(dòng)所消耗卡路里的計(jì)算公式中
44、跑步狀態(tài)和走路狀態(tài)分別對應(yīng)不同的參數(shù),根據(jù)用戶的選擇而確定卡路里的計(jì)算方法。設(shè)置運(yùn)動(dòng)裝態(tài)的詳細(xì)代碼見附錄“判斷是走路還是跑步”。6.系統(tǒng)測試6.1 測試開始停止模塊測試能否根據(jù)用戶控制得到開始計(jì)步和停止計(jì)步的結(jié)果。6.1.1 測試準(zhǔn)備1) 模塊名:計(jì)步器2) 負(fù)責(zé)人:梁文淑3) 意圖:測試計(jì)步器各模塊功能。6.1.2測試過程1) 點(diǎn)擊應(yīng)用圖標(biāo),如圖 6-1所示:2) 運(yùn)動(dòng)使主界面開始記錄數(shù)據(jù),如圖 6-2所示: 我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文圖6-1 圖為計(jì)步器主界面 圖6-2 圖為計(jì)步器主界面3) 在主界面點(diǎn)擊Pause,如圖 6-3所示:4) 繼續(xù)運(yùn)
45、動(dòng)觀察主界面數(shù)據(jù)是否有變化,如圖 6-4所示: 我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文我要論文我要過論文我要過論文我要過論文我要過論文我要過論文我要文 圖6-3 圖為停止計(jì)步界面 圖6-4 圖為停止計(jì)步后仍在運(yùn)動(dòng)界面5) 進(jìn)入settings(設(shè)置)界面,如圖 6-5所示:6) 點(diǎn)擊設(shè)置Sensitivity(靈敏度),如圖6-6所示: 過論文我要過論文我要過論 圖6-5 圖為設(shè)置界面 圖6-6 圖為設(shè)置靈敏度界面7) 點(diǎn)擊設(shè)置Step length(步長),如圖 6-7所示:8) 點(diǎn)擊設(shè)置Body weight(體重),如圖6-8所示:圖6-7 圖為
46、步長設(shè)置界面圖6-8 圖為體重設(shè)置界面9) 點(diǎn)擊設(shè)置Exercise type(運(yùn)動(dòng)類型),如圖6-9所示: 過論文我要過論文我要過論文 我要過論文我要過論文我要過論文我要過論文我要過論文我要過論文圖6-9 圖為運(yùn)動(dòng)類型設(shè)置界面6.2 測試總結(jié)本軟件中幾個(gè)模塊的功能經(jīng)過測試,均測試通過,測試結(jié)果和最初的設(shè)計(jì)基本一致,所有的功能均能正常運(yùn)行,軟件需要比較特殊的運(yùn)行環(huán)境,首先手機(jī)的重力感應(yīng)功能必須有,而且Android系統(tǒng)的版本過低將不能使用。至此基于安卓平臺的手機(jī)計(jì)步器的設(shè)計(jì)基本完成。5結(jié)論經(jīng)過了數(shù)月的努力,Android平臺手計(jì)步器軟件終于完成了。本軟件能實(shí)現(xiàn)用戶對計(jì)步器的基本要求。方便用戶開
47、啟關(guān)閉計(jì)步器,對運(yùn)動(dòng)情況和運(yùn)動(dòng)量可以直觀的從主界面獲取信息,設(shè)置選項(xiàng)中的智能人機(jī)交互平臺也可以明了的對用戶信息進(jìn)行編輯,不需要復(fù)雜的操作不需要學(xué)習(xí),一目了然。對于智能手機(jī)用戶來說,基于安卓平臺的手機(jī)計(jì)步器提供了一個(gè)快捷方便的平臺。為用戶提供隨時(shí)隨地的服務(wù),節(jié)省用戶不必要的資金消耗與時(shí)間消耗是本軟件設(shè)計(jì)的一個(gè)宗旨,整個(gè)框架和細(xì)節(jié)的設(shè)計(jì)都是圍繞這個(gè)宗旨進(jìn)行的,雖然整個(gè)軟件還不是很成熟,還有很多不足和需要改進(jìn)的地方,或者還有很多信息提供不到位,例如我們可以加入音樂播放模塊,是用戶在運(yùn)動(dòng)的同時(shí)享受輕松快樂的環(huán)境,這些還需要日后慢慢優(yōu)化和改善,但是最初的設(shè)計(jì)都實(shí)現(xiàn)了。在現(xiàn)在的功能基礎(chǔ)上本軟件可以進(jìn)行擴(kuò)展
48、升級。本軟件最初設(shè)計(jì)的時(shí)候就是一個(gè)可以擴(kuò)展的框架,所以為將來加入新的功能提供了很大的方便。本軟件雖然不是很強(qiáng)大,但是是我自己親手編寫的,開發(fā)一個(gè)能在時(shí)下最流行的軟件,使之順利的在平臺上運(yùn)行是一件令人興奮的事情。把自己的想法一步一步地付諸實(shí)踐,最后成為一個(gè)真實(shí)的實(shí)物,被別人使用和稱贊,此時(shí)得到的成就感是尤為強(qiáng)烈的。參考文獻(xiàn)1 李剛.瘋狂的Android講義M.北京:電子工業(yè)出版社.2011.7.2 吳亞峰,蘇亞光.Android2.0游戲開發(fā)實(shí)戰(zhàn)寶典M.北京:人民郵電出版 社.2010.7.3 李寧.Android開發(fā)完全講義M.北京:中國水利水電出版社.2012.4.4 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)
49、構(gòu) M.北京:清華大學(xué)出版社.2007.3.5 李剛.瘋狂Java講義M.北京:電子工業(yè)出版社.2008.10.6 Bruce Eckel著.Java編程思想(陳昊鵬)M.北京:機(jī)械工業(yè)出版 社.2007.6:23-357 蘇亞光;吳亞峰;索依娜.Android平臺下傳感器技術(shù)開發(fā)計(jì)步器應(yīng)用J.電腦編程技巧與維護(hù).2010(23):3-6.8 熊剛.基于Android的智能手機(jī)的設(shè)計(jì)與實(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 平臺間即時(shí)通信的研究與實(shí)現(xiàn)J.計(jì)算機(jī)系統(tǒng)應(yīng)用.2008(12):118-12011 公磊,周聰.基于Android 的移動(dòng)終端應(yīng)用程序開發(fā)與研究J.計(jì)算機(jī)與現(xiàn)代化.2008(8):86-89.12 差沙,地獄男爵.用Android 開發(fā)手機(jī)應(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)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)機(jī)配件動(dòng)態(tài)模擬在農(nóng)機(jī)維修策略制定中的應(yīng)用考核試卷
- 健身器材行業(yè)市場細(xì)分領(lǐng)域用戶數(shù)據(jù)價(jià)值挖掘考核試卷
- 印刷品設(shè)計(jì)軟件與工具考核試卷
- 廚房易干地毯考核試卷
- 績效工資實(shí)施方案
- 基于需求側(cè)改革的管理思維
- 2025年資產(chǎn)管理新規(guī)
- 特警安全教育
- 武漢國企福利活動(dòng)方案
- 植樹健康活動(dòng)方案
- 公司安全員培訓(xùn)課件
- 新型寵物食品開發(fā)與應(yīng)用
- 倫理審查培訓(xùn)課件
- 超聲波式熱量表超聲波熱量表
- 交通事故責(zé)任認(rèn)定書模板
- 設(shè)備運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)測系統(tǒng)
- 深圳市企業(yè)職工養(yǎng)老保險(xiǎn)養(yǎng)老金申請表
- DLT1249-2013 架空輸電線路運(yùn)行狀態(tài)評估技術(shù)導(dǎo)則
- 業(yè)主項(xiàng)目部項(xiàng)目管理策劃
- 劍橋Think第一級Unit+1+Welcome課件
- 基于水凝膠模板原位合成磷酸鈣類骨組織修復(fù)材料及表征
評論
0/150
提交評論