數(shù)字濾波器手機(jī)鬧鐘軟件設(shè)計(jì).docx
-
資源ID:9436443
資源大?。?span id="rje2i23" class="font-tahoma">440.67KB
全文頁數(shù):14頁
- 資源格式: DOCX
下載積分:9.9積分
快捷下載
會(huì)員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。
|
數(shù)字濾波器手機(jī)鬧鐘軟件設(shè)計(jì).docx
智能移動(dòng)終端應(yīng)用開發(fā)設(shè)計(jì)報(bào)告(2013/2014學(xué)年第2學(xué)期)題 目 : 手機(jī)鬧鐘軟件 學(xué) 院 : 信息與電氣工程學(xué)院 專 業(yè) : 電子信息工程 姓 名 : 張磊 學(xué) 號(hào) : 110070117 設(shè)計(jì)成績(jī) : 2014年5月15日1 軟件需求分析1.1軟件設(shè)計(jì)背景當(dāng)今社會(huì),移動(dòng)通信技術(shù)的迅速發(fā)展直接促進(jìn)了搭載智能操作系統(tǒng)、具有強(qiáng)大擴(kuò)展性的智能手機(jī)、平板電腦等移動(dòng)終端產(chǎn)業(yè)的蓬勃發(fā)展。搭載安卓操作系統(tǒng)的智能手機(jī)目前已經(jīng)成為市場(chǎng)上最炙手可熱的智能產(chǎn)品。開放的源代碼和零成本已經(jīng)讓安卓在全世界范圍內(nèi)受到青睞并迅速獲得了主要手機(jī)廠商和數(shù)百萬軟件開發(fā)者的支持。Android軟件開發(fā)也成為眾多軟件開發(fā)人員的選擇。隨著人們生活水平的提高,手機(jī)的用途也日益豐富。現(xiàn)在對(duì)于我們來講,手機(jī)不僅僅意味著一種打電話,發(fā)短信的工具,而是日常生活,娛樂,工作的一部分。我們可以通過手機(jī)進(jìn)行購(gòu)物,玩游戲,進(jìn)行辦公等等。1.2軟件功能需求鬧鐘應(yīng)用程序作為人們?nèi)粘3S玫幕緫?yīng)用程序之一,其重要性不言而喻。其應(yīng)包括的基本功能如下:鬧鐘一鍵開關(guān):鬧鐘可以通過一個(gè)開關(guān)進(jìn)行打開和關(guān)閉,所有的預(yù)先設(shè)置可通過這個(gè)開關(guān)進(jìn)行關(guān)閉,關(guān)閉后,設(shè)置可以自動(dòng)保存。下一次再開啟時(shí)可以恢復(fù)上次的設(shè)置。添加刪除鬧鐘:用戶可以添加新鬧鐘,也可以刪除已有鬧鐘提醒。鬧鐘時(shí)間設(shè)定:可以設(shè)置鬧鐘響的時(shí)間,提供一個(gè)精確的時(shí)間選擇。鬧鐘鈴聲選擇:支持選擇軟件內(nèi)置的鈴聲和移動(dòng)設(shè)備存儲(chǔ)中的聲音文件。振動(dòng)開關(guān):關(guān)閉和開啟振動(dòng)。鬧鐘重復(fù)性設(shè)定:通過該功能,用戶可以選擇周一到周日的任意幾天作為鬧鐘的工作日。懶人模式:當(dāng)鬧鐘響起后,用戶可以滑動(dòng)屏幕關(guān)閉鬧鐘,也可觸摸按鈕,多睡一會(huì),讓鬧鐘過一小會(huì)兒后再次響起。鬧鐘標(biāo)簽:用戶可以添加備注信息2 軟件總體設(shè)計(jì)軟件的功能模塊圖如下:主程序鬧鐘開關(guān)添加鬧鐘重復(fù)性設(shè)定鬧鐘時(shí)間設(shè)定鬧鐘備注振動(dòng)開關(guān)鬧鐘鈴聲選擇已有鬧鐘修改已有鬧鐘刪除已有鬧鐘添加鬧鐘 系統(tǒng)功能模塊圖首先進(jìn)入鬧鐘程序的主界面,主界面內(nèi)會(huì)顯示已添加的鬧鐘,還有鬧鐘的開關(guān)情況。左下角有一個(gè)按鍵(+新鬧鈴)通過點(diǎn)擊此按鍵,可以添加新的鬧鈴。點(diǎn)擊添加鬧鈴按鈕之后,進(jìn)入鬧鈴的設(shè)置界面??梢栽O(shè)置鬧鈴時(shí)間,設(shè)置鬧鈴的重復(fù)性,添加備注標(biāo)簽,還可以選擇鈴聲類型,和選擇自己想要的鈴聲,還可以根據(jù)個(gè)人喜好開啟和關(guān)閉振動(dòng),在重復(fù)性設(shè)定里更改鬧鐘的工作日。設(shè)置好之后,點(diǎn)擊保存,新鬧鈴被添加到已有鈴聲之中。然后會(huì)返回到主界面中。主界面中會(huì)顯示已有鬧鈴,勾選鬧鈴后面的小勾就可以開啟鬧鈴,如果再次觸屏點(diǎn)擊小勾則關(guān)閉鬧鈴。如果在當(dāng)前鬧鈴上長(zhǎng)按則進(jìn)入編輯菜單。也可以在編輯鬧鈴中停用或起用鬧鈴。此外,在編輯菜單中還可以修改以后鬧鈴的各種設(shè)置,還可以進(jìn)行鬧鈴刪除,預(yù)覽等操作。程序執(zhí)行流程如下圖:開始打開鬧鐘鬧鐘響起延時(shí)一段時(shí)間按鍵 按下暫停再響 按下關(guān)閉結(jié)束 鬧鐘定時(shí)之后執(zhí)行過程如此流程圖,打開鬧鐘之后,鬧鐘軟件會(huì)在后臺(tái)運(yùn)行。到了設(shè)定時(shí)間之后,鬧鐘會(huì)響起。此時(shí)需要用戶進(jìn)行操作,如果用戶按下關(guān)閉間,則鬧鐘停止,本次鬧鐘提醒結(jié)束。如果用戶按下暫停再響,鬧鐘停止,但是軟件會(huì)后臺(tái)計(jì)時(shí),過一段時(shí)間后鬧鐘再次響起,直到用戶按下關(guān)閉鍵,本次鬧鐘提醒結(jié)束。3 關(guān)鍵技術(shù)分析3.1開發(fā)工具3.1.1EclipseEclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。Eclipse的最大特點(diǎn)就是它能夠接受有java開發(fā)者自己編寫的開放源代碼插件,這是一款非常受歡迎的java開發(fā)工具,國(guó)內(nèi)的用戶越來越多,實(shí)際上用它的java開發(fā)人員是最多的。3.1.2 安卓虛擬機(jī)安卓以java為編程語言,從接口到功能,都有層出不窮的變化,這款軟件是google官方出品,以方便開發(fā)者使用安卓環(huán)境,方便開發(fā)??梢宰屇阍赑C端(電腦上)安裝運(yùn)行模擬Android系統(tǒng)。并可以在電腦端進(jìn)行幾乎任何手機(jī)上可以進(jìn)行的操作,甚至還可以像手機(jī)一樣連接電腦,被手機(jī)助手檢測(cè)到,可以模擬所有官方版本的安卓系統(tǒng),并且有多款皮膚和屏幕樣式可供選擇。3.1.3 Java編程語言Java語言是編寫安卓應(yīng)用的基礎(chǔ),因?yàn)榘沧康暮笈_(tái)代碼都是使用Java進(jìn)行編寫的。要熟悉java語言中類的創(chuàng)建,方法的編寫等基本語法知識(shí)。有一定的java知識(shí)積累才能去完成軟件的開發(fā)。 3.2 軟件技術(shù)開發(fā)手機(jī)鬧鐘主要用到了Alarm Manager類,Alarm Manager類提供了訪問系統(tǒng)定時(shí)服務(wù)的途徑,開發(fā)人員可以在程序中設(shè)置某個(gè)應(yīng)用程序在未來的某個(gè)時(shí)刻被執(zhí)行。當(dāng)Alarm Manager定時(shí)時(shí)間到了之后,當(dāng)初注冊(cè)的Intent對(duì)象將會(huì)被系統(tǒng)廣播,進(jìn)而啟動(dòng)目標(biāo)程序。在程序運(yùn)行時(shí)當(dāng)需要使用Alarm Manager類時(shí),可以通過Context對(duì)象getSystemService(Context.ALARM_SERVICE)方法來獲得Alarm Manager對(duì)象。Android廣播事件處理鬧鐘實(shí)例對(duì)應(yīng)AlarmManage有一個(gè)AlarmManagerServie服務(wù)程序,該服務(wù)程序才是正真提供鬧鈴服務(wù)的,它主要維護(hù)應(yīng)用程序注冊(cè)下來的各類鬧鈴并適時(shí)的設(shè)置即將觸發(fā)的鬧鈴給鬧鈴設(shè)備(在系統(tǒng)中,linux實(shí)現(xiàn)的設(shè)備名為”/dev/alarm”),并且一直監(jiān)聽鬧鈴設(shè)備,一旦有鬧鈴觸發(fā)或者是鬧鈴事件發(fā)生,AlarmManagerServie服務(wù)程序就會(huì)遍歷鬧鈴列表找到相應(yīng)的注冊(cè)鬧鈴并發(fā)出廣播。該服務(wù)程序在系統(tǒng)啟動(dòng)時(shí)被系統(tǒng)服務(wù)程序system_service啟動(dòng)并初始化鬧鈴設(shè)備(/dev/alarm)。當(dāng)然,在JAVA層的AlarmManagerService與Linux Alarm驅(qū)動(dòng)程序接口之間還有一層封裝,那就是JNI。AlarmManager將應(yīng)用與服務(wù)分割開來后,使得應(yīng)用程序開發(fā)者不用關(guān)心具體的服務(wù),而是直接通過AlarmManager來使用這種服務(wù)。本軟件主要用廣播事件來處理鬧鐘實(shí)例,getBroadcast通過該函數(shù)獲得的PendingIntent將會(huì)扮演一個(gè)廣播的功能,就像調(diào)用Context.sendBroadcast()函數(shù)一樣。當(dāng)系統(tǒng)通過它要發(fā)送一個(gè)intent時(shí)要采用廣播的形式,并且在該intent中會(huì)包含相應(yīng)的 intent接收對(duì)象,當(dāng)然這個(gè)對(duì)象我們可以在創(chuàng)建PendingIntent的時(shí)候指定,也可以通過ACTION 和CATEGORY等描述讓系統(tǒng)自動(dòng)找到該行為處理對(duì)象。4 軟件詳細(xì)設(shè)計(jì)4.1主程序界面首先進(jìn)入鬧鐘的主界面,鬧鐘主界面包括以下內(nèi)容:當(dāng)前的系統(tǒng)時(shí)間、已添加的鬧鐘、和添加新鬧鐘按鈕。如圖4-1: 圖4-14.2新增鬧鈴按鈕 點(diǎn)擊新增鬧鐘按鈕,進(jìn)入添加新鬧鐘的菜單。在該界面中,可以設(shè)置鬧鐘的時(shí)間。設(shè)置鬧鐘的工作日(重復(fù)性)、添加標(biāo)簽。選擇鈴聲,開啟和關(guān)閉振動(dòng)。如圖4-2: 圖4-24.3設(shè)置鬧鐘時(shí)間點(diǎn)擊時(shí)間后,就可以進(jìn)入時(shí)間設(shè)置界面。通過向上和向下滑動(dòng),可以改變時(shí)鐘和分鐘。設(shè)置好時(shí)間后,點(diǎn)擊完成按鈕。如圖4-3: 圖4-34.4重復(fù)性設(shè)計(jì) 點(diǎn)擊新鬧鐘界面下的重復(fù)性按鈕,結(jié)果如下圖所示,可以根據(jù)自己的喜好設(shè)置周一到周日七天之內(nèi)的任意幾天為鬧鐘的工作日。選擇的時(shí)候只需觸擊相應(yīng)的日期之后的勾,使其變?yōu)辄S色的勾選狀態(tài)。如圖4-4: 圖4-44.5已添加鬧鐘的編輯在主界面內(nèi)已添加的鬧鐘上長(zhǎng)按進(jìn)入已添加鬧鐘的編輯界面,在這個(gè)界面中可以進(jìn)行鬧鐘的停用及啟用。還可以對(duì)鬧鐘的各種設(shè)置進(jìn)行修改,如:更換鈴聲,修改重復(fù)性等。并且,還可以進(jìn)行鬧鐘的刪除。如圖4-5: 圖4-54.6鬧鐘提醒界面鬧鐘響起后用戶可以點(diǎn)擊關(guān)閉,則鬧鐘關(guān)閉,鬧鐘提醒結(jié)束。當(dāng)用戶點(diǎn)擊暫停再響時(shí),鬧鐘會(huì)延時(shí)預(yù)先設(shè)定好的一段時(shí)間,然后再次響起,即懶人模式。如圖4-6: 圖4-65 軟件測(cè)試方案(1)在安卓虛擬機(jī)中打開鬧鐘軟件,添加幾個(gè)鬧鐘如:7:30、8:00、8:30等,然后關(guān)注手表上的時(shí)刻,看鬧鈴能否在準(zhǔn)確的時(shí)刻響起。 (2)刪除已有鬧鐘,然后退出軟件,重新進(jìn)入軟件,驗(yàn)證一下是否該鬧鐘已經(jīng)從程序中永久刪除。 (3)設(shè)定一個(gè)鬧鐘如7:30,然后修改鬧鐘的重復(fù)性,設(shè)定鬧鐘的工作日為周一、周三、周四。然后再一周內(nèi)驗(yàn)證,周一、周三、周四的7:30時(shí)鬧鐘是否正常響起,由此來測(cè)試重復(fù)性功能程序是否編寫正確。 (4)測(cè)試軟件在后臺(tái)的運(yùn)行情況,和關(guān)機(jī)狀態(tài)下的運(yùn)行情況。6設(shè)計(jì)總結(jié)經(jīng)過一段時(shí)間的努力,基于Android平臺(tái)手機(jī)鬧鐘軟件設(shè)計(jì)完成了。通過Android基礎(chǔ)這門課。學(xué)會(huì)了很多編程知識(shí),通過本次實(shí)驗(yàn),加深了我們對(duì)java語言的理解和對(duì)java語言的掌握。以前只是通過上的程序?qū)嵗齺韺W(xué)習(xí)android,但是光學(xué)習(xí)課本知識(shí)是不夠的。還是應(yīng)該通過實(shí)現(xiàn)來鞏固學(xué)過的知識(shí)。在這個(gè)過程中,我學(xué)會(huì)了很多知識(shí),比如Android環(huán)境的搭建和配置問題。安卓虛擬機(jī)的創(chuàng)建,以及通過pc上的安卓虛擬系統(tǒng)來調(diào)試程序。在編程過程中遇到了很多問題,比如一些低級(jí)的錯(cuò)誤,單詞拼寫錯(cuò)誤,還有方法的定義,方法的調(diào)用等等。出現(xiàn)語法錯(cuò)誤之后,先定位到錯(cuò)誤行,然后根據(jù)錯(cuò)誤提示信息進(jìn)行修改,有的問題自己改不了的,可以網(wǎng)上查閱資料或者和同學(xué)討論,邀請(qǐng)同學(xué)來協(xié)助改正錯(cuò)誤。這個(gè)過程是一個(gè)很重要的學(xué)習(xí)過程,通過自己上網(wǎng)查閱有關(guān)資料提高了自己搜集資料和自主學(xué)習(xí)的能力。和同學(xué)一起談?wù)搯栴}得出的結(jié)果則使自己印象深刻??傊?,通過這次的設(shè)計(jì)學(xué)會(huì)了很多知識(shí)。提高了自己動(dòng)手調(diào)試程序的能力。使自己更加熟悉一個(gè)項(xiàng)目的開發(fā)流程(包括需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì)等)。但是自己對(duì)android程序開發(fā)還是只處于一個(gè)開始的階段。今后自己需要學(xué)習(xí)的東西還很多,只有踏踏實(shí)實(shí)學(xué)習(xí),才能使自己處于不斷的進(jìn)步之中。7參考文獻(xiàn)1葉達(dá)峰.Eclipse編程技術(shù)與實(shí)例M.北京:人民郵電出版社,2006.2余志龍編.Google Android SDK開發(fā)范例大全(第2版)M.北京:機(jī)械工業(yè)出版社,20103 )田俊靜、張波、 黃湘情.Android基礎(chǔ)教程(第3版) M.人民郵電出版社,20054王國(guó)輝李偉.Android開發(fā)寶典M.北京:機(jī)械工業(yè)出版社,2012