數(shù)字濾波器手機(jī)鬧鐘軟件設(shè)計(jì).docx
《數(shù)字濾波器手機(jī)鬧鐘軟件設(shè)計(jì).docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)字濾波器手機(jī)鬧鐘軟件設(shè)計(jì).docx(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
智能移動(dòng)終端應(yīng)用開(kāi)發(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)品。開(kāi)放的源代碼和零成本已經(jīng)讓安卓在全世界范圍內(nèi)受到青睞并迅速獲得了主要手機(jī)廠商和數(shù)百萬(wàn)軟件開(kāi)發(fā)者的支持。Android軟件開(kāi)發(fā)也成為眾多軟件開(kāi)發(fā)人員的選擇。 隨著人們生活水平的提高,手機(jī)的用途也日益豐富?,F(xiàn)在對(duì)于我們來(lái)講,手機(jī)不僅僅意味著一種打電話,發(fā)短信的工具,而是日常生活,娛樂(lè),工作的一部分。我們可以通過(guò)手機(jī)進(jìn)行購(gòu)物,玩游戲,進(jìn)行辦公等等。 1.2軟件功能需求 鬧鐘應(yīng)用程序作為人們?nèi)粘3S玫幕緫?yīng)用程序之一,其重要性不言而喻。其應(yīng)包括的基本功能如下: 鬧鐘一鍵開(kāi)關(guān):鬧鐘可以通過(guò)一個(gè)開(kāi)關(guān)進(jìn)行打開(kāi)和關(guān)閉,所有的預(yù)先設(shè)置可通過(guò)這個(gè)開(kāi)關(guān)進(jìn)行關(guān)閉,關(guān)閉后,設(shè)置可以自動(dòng)保存。下一次再開(kāi)啟時(shí)可以恢復(fù)上次的設(shè)置。 添加刪除鬧鐘:用戶可以添加新鬧鐘,也可以刪除已有鬧鐘提醒。 鬧鐘時(shí)間設(shè)定:可以設(shè)置鬧鐘響的時(shí)間,提供一個(gè)精確的時(shí)間選擇。 鬧鐘鈴聲選擇:支持選擇軟件內(nèi)置的鈴聲和移動(dòng)設(shè)備存儲(chǔ)中的聲音文件。 振動(dòng)開(kāi)關(guān):關(guān)閉和開(kāi)啟振動(dòng)。 鬧鐘重復(fù)性設(shè)定:通過(guò)該功能,用戶可以選擇周一到周日的任意幾天作為鬧鐘的工作日。 懶人模式:當(dāng)鬧鐘響起后,用戶可以滑動(dòng)屏幕關(guān)閉鬧鐘,也可觸摸按鈕,多睡一會(huì),讓鬧鐘過(guò)一小會(huì)兒后再次響起。 鬧鐘標(biāo)簽:用戶可以添加備注信息 2 軟件總體設(shè)計(jì) 軟件的功能模塊圖如下: 主程序 鬧鐘開(kāi)關(guān) 添加 鬧鐘重復(fù)性設(shè)定 鬧鐘時(shí)間設(shè)定 鬧鐘備注 振動(dòng)開(kāi)關(guān) 鬧鐘鈴聲選擇 已有鬧鐘修改 已有鬧鐘刪除 已有鬧鐘 添加鬧鐘 系統(tǒng)功能模塊圖 首先進(jìn)入鬧鐘程序的主界面,主界面內(nèi)會(huì)顯示已添加的鬧鐘,還有鬧鐘的開(kāi)關(guān)情況。左下角有一個(gè)按鍵(+新鬧鈴)通過(guò)點(diǎn)擊此按鍵,可以添加新的鬧鈴。點(diǎn)擊添加鬧鈴按鈕之后,進(jìn)入鬧鈴的設(shè)置界面。可以設(shè)置鬧鈴時(shí)間,設(shè)置鬧鈴的重復(fù)性,添加備注標(biāo)簽,還可以選擇鈴聲類型,和選擇自己想要的鈴聲,還可以根據(jù)個(gè)人喜好開(kāi)啟和關(guān)閉振動(dòng),在重復(fù)性設(shè)定里更改鬧鐘的工作日。設(shè)置好之后,點(diǎn)擊保存,新鬧鈴被添加到已有鈴聲之中。然后會(huì)返回到主界面中。 主界面中會(huì)顯示已有鬧鈴,勾選鬧鈴后面的小勾就可以開(kāi)啟鬧鈴,如果再次觸屏點(diǎn)擊小勾則關(guān)閉鬧鈴。如果在當(dāng)前鬧鈴上長(zhǎng)按則進(jìn)入編輯菜單。也可以在編輯鬧鈴中停用或起用鬧鈴。此外,在編輯菜單中還可以修改以后鬧鈴的各種設(shè)置,還可以進(jìn)行鬧鈴刪除,預(yù)覽等操作。 程序執(zhí)行流程如下圖: 開(kāi)始 打開(kāi)鬧鐘 鬧鐘響起 延時(shí)一段時(shí)間 按鍵 按下暫停再響 按下關(guān)閉 結(jié)束 鬧鐘定時(shí)之后執(zhí)行過(guò)程如此流程圖,打開(kāi)鬧鐘之后,鬧鐘軟件會(huì)在后臺(tái)運(yùn)行。到了設(shè)定時(shí)間之后,鬧鐘會(huì)響起。此時(shí)需要用戶進(jìn)行操作,如果用戶按下關(guān)閉間,則鬧鐘停止,本次鬧鐘提醒結(jié)束。如果用戶按下暫停再響,鬧鐘停止,但是軟件會(huì)后臺(tái)計(jì)時(shí),過(guò)一段時(shí)間后鬧鐘再次響起,直到用戶按下關(guān)閉鍵,本次鬧鐘提醒結(jié)束。 3 關(guān)鍵技術(shù)分析 3.1開(kāi)發(fā)工具 3.1.1Eclipse Eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專注于為高度集成的工具開(kāi)發(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開(kāi)發(fā)、CDT支持C開(kāi)發(fā)、PDE用來(lái)支持插件開(kāi)發(fā),Eclipse Platform則是一個(gè)開(kāi)放的可擴(kuò)展IDE,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開(kāi)發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開(kāi)發(fā)與他人工具無(wú)縫集成的工具從而無(wú)須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開(kāi)始。 Eclipse的最大特點(diǎn)就是它能夠接受有java開(kāi)發(fā)者自己編寫(xiě)的開(kāi)放源代碼插件,這是一款非常受歡迎的java開(kāi)發(fā)工具,國(guó)內(nèi)的用戶越來(lái)越多,實(shí)際上用它的java開(kāi)發(fā)人員是最多的。 3.1.2 安卓虛擬機(jī) 安卓以java為編程語(yǔ)言,從接口到功能,都有層出不窮的變化,這款軟件是google官方出品,以方便開(kāi)發(fā)者使用安卓環(huán)境,方便開(kāi)發(fā)。可以讓你在PC端(電腦上)安裝運(yùn)行模擬Android系統(tǒng)。并可以在電腦端進(jìn)行幾乎任何手機(jī)上可以進(jìn)行的操作,甚至還可以像手機(jī)一樣連接電腦,被手機(jī)助手檢測(cè)到,可以模擬所有官方版本的安卓系統(tǒng),并且有多款皮膚和屏幕樣式可供選擇。 3.1.3 Java編程語(yǔ)言 Java語(yǔ)言是編寫(xiě)安卓應(yīng)用的基礎(chǔ),因?yàn)榘沧康暮笈_(tái)代碼都是使用Java進(jìn)行編寫(xiě)的。要熟悉java語(yǔ)言中類的創(chuàng)建,方法的編寫(xiě)等基本語(yǔ)法知識(shí)。有一定的java知識(shí)積累才能去完成軟件的開(kāi)發(fā)。 3.2 軟件技術(shù) 開(kāi)發(fā)手機(jī)鬧鐘主要用到了Alarm Manager類,Alarm Manager類提供了訪問(wèn)系統(tǒng)定時(shí)服務(wù)的途徑,開(kāi)發(fā)人員可以在程序中設(shè)置某個(gè)應(yīng)用程序在未來(lái)的某個(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í),可以通過(guò)Context對(duì)象getSystemService(Context.ALARM_SERVICE)方法來(lái)獲得Alarm Manager對(duì)象。Android廣播事件處理鬧鐘實(shí)例對(duì)應(yīng)AlarmManage有一個(gè)AlarmManagerServie服務(wù)程序,該服務(wù)程序才是正真提供鬧鈴服務(wù)的,它主要維護(hù)應(yīng)用程序注冊(cè)下來(lái)的各類鬧鈴并適時(shí)的設(shè)置即將觸發(fā)的鬧鈴給鬧鈴設(shè)備(在系統(tǒng)中,linux實(shí)現(xiàn)的設(shè)備名為”/dev/alarm”),并且一直監(jiān)聽(tīng)鬧鈴設(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ù)分割開(kāi)來(lái)后,使得應(yīng)用程序開(kāi)發(fā)者不用關(guān)心具體的服務(wù),而是直接通過(guò)AlarmManager來(lái)使用這種服務(wù)。 本軟件主要用廣播事件來(lái)處理鬧鐘實(shí)例,getBroadcast——通過(guò)該函數(shù)獲得的PendingIntent將會(huì)扮演一個(gè)廣播的功能,就像調(diào)用Context.sendBroadcast()函數(shù)一樣。當(dāng)系統(tǒng)通過(guò)它要發(fā)送一個(gè)intent時(shí)要采用廣播的形式,并且在該intent中會(huì)包含相應(yīng)的 intent接收對(duì)象,當(dāng)然這個(gè)對(duì)象我們可以在創(chuàng)建PendingIntent的時(shí)候指定,也可以通過(guò)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-1 4.2新增鬧鈴按鈕 點(diǎn)擊新增鬧鐘按鈕,進(jìn)入添加新鬧鐘的菜單。在該界面中,可以設(shè)置鬧鐘的時(shí)間。設(shè)置鬧鐘的工作日(重復(fù)性)、添加標(biāo)簽。選擇鈴聲,開(kāi)啟和關(guān)閉振動(dòng)。如圖4-2: 圖4-2 4.3設(shè)置鬧鐘時(shí)間 點(diǎn)擊時(shí)間后,就可以進(jìn)入時(shí)間設(shè)置界面。通過(guò)向上和向下滑動(dòng),可以改變時(shí)鐘和分鐘。設(shè)置好時(shí)間后,點(diǎn)擊完成按鈕。如圖4-3: 圖4-3 4.4重復(fù)性設(shè)計(jì) 點(diǎn)擊新鬧鐘界面下的重復(fù)性按鈕,結(jié)果如下圖所示,可以根據(jù)自己的喜好設(shè)置周一到周日七天之內(nèi)的任意幾天為鬧鐘的工作日。選擇的時(shí)候只需觸擊相應(yīng)的日期之后的勾,使其變?yōu)辄S色的勾選狀態(tài)。如圖4-4: 圖4-4 4.5已添加鬧鐘的編輯 在主界面內(nèi)已添加的鬧鐘上長(zhǎng)按進(jìn)入已添加鬧鐘的編輯界面,在這個(gè)界面中可以進(jìn)行鬧鐘的停用及啟用。還可以對(duì)鬧鐘的各種設(shè)置進(jìn)行修改,如:更換鈴聲,修改重復(fù)性等。并且,還可以進(jìn)行鬧鐘的刪除。如圖4-5: 圖4-5 4.6鬧鐘提醒界面 鬧鐘響起后用戶可以點(diǎn)擊關(guān)閉,則鬧鐘關(guān)閉,鬧鐘提醒結(jié)束。當(dāng)用戶點(diǎn)擊暫停再響時(shí),鬧鐘會(huì)延時(shí)預(yù)先設(shè)定好的一段時(shí)間,然后再次響起,即懶人模式。如圖4-6: 圖4-6 5 軟件測(cè)試方案 (1)在安卓虛擬機(jī)中打開(kāi)鬧鐘軟件,添加幾個(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í)鬧鐘是否正常響起,由此來(lái)測(cè)試重復(fù)性功能程序是否編寫(xiě)正確。 (4)測(cè)試軟件在后臺(tái)的運(yùn)行情況,和關(guān)機(jī)狀態(tài)下的運(yùn)行情況。 6設(shè)計(jì)總結(jié) 經(jīng)過(guò)一段時(shí)間的努力,基于Android平臺(tái)手機(jī)鬧鐘軟件設(shè)計(jì)完成了。通過(guò)Android基礎(chǔ)這門課。學(xué)會(huì)了很多編程知識(shí),通過(guò)本次實(shí)驗(yàn),加深了我們對(duì)java語(yǔ)言的理解和對(duì)java語(yǔ)言的掌握。以前只是通過(guò)上的程序?qū)嵗齺?lái)學(xué)習(xí)android,但是光學(xué)習(xí)課本知識(shí)是不夠的。還是應(yīng)該通過(guò)實(shí)現(xiàn)來(lái)鞏固學(xué)過(guò)的知識(shí)。 在這個(gè)過(guò)程中,我學(xué)會(huì)了很多知識(shí),比如Android環(huán)境的搭建和配置問(wèn)題。安卓虛擬機(jī)的創(chuàng)建,以及通過(guò)pc上的安卓虛擬系統(tǒng)來(lái)調(diào)試程序。在編程過(guò)程中遇到了很多問(wèn)題,比如一些低級(jí)的錯(cuò)誤,單詞拼寫(xiě)錯(cuò)誤,還有方法的定義,方法的調(diào)用等等。出現(xiàn)語(yǔ)法錯(cuò)誤之后,先定位到錯(cuò)誤行,然后根據(jù)錯(cuò)誤提示信息進(jìn)行修改,有的問(wèn)題自己改不了的,可以網(wǎng)上查閱資料或者和同學(xué)討論,邀請(qǐng)同學(xué)來(lái)協(xié)助改正錯(cuò)誤。這個(gè)過(guò)程是一個(gè)很重要的學(xué)習(xí)過(guò)程,通過(guò)自己上網(wǎng)查閱有關(guān)資料提高了自己搜集資料和自主學(xué)習(xí)的能力。和同學(xué)一起談?wù)搯?wèn)題得出的結(jié)果則使自己印象深刻。 總之,通過(guò)這次的設(shè)計(jì)學(xué)會(huì)了很多知識(shí)。提高了自己動(dòng)手調(diào)試程序的能力。使自己更加熟悉一個(gè)項(xiàng)目的開(kāi)發(fā)流程(包括需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì)等)。但是自己對(duì)android程序開(kāi)發(fā)還是只處于一個(gè)開(kāi)始的階段。今后自己需要學(xué)習(xí)的東西還很多,只有踏踏實(shí)實(shí)學(xué)習(xí),才能使自己處于不斷的進(jìn)步之中。 7參考文獻(xiàn) [1]葉達(dá)峰.Eclipse編程技術(shù)與實(shí)例[M].北京:人民郵電出版社,2006. [2]余志龍編.Google Android SDK開(kāi)發(fā)范例大全(第2版)[M].北京:機(jī)械工業(yè)出版社,2010 [3] )田俊靜、張波、 黃湘情.Android基礎(chǔ)教程(第3版) [M].人民郵電出版社,2005 [4]王國(guó)輝李偉.Android開(kāi)發(fā)寶典[M].北京:機(jī)械工業(yè)出版社,2012- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)字濾波器 手機(jī) 鬧鐘 軟件設(shè)計(jì)
鏈接地址:http://m.appdesigncorp.com/p-9436443.html