[軟件工程]基于Android的手機(jī)鬧鐘軟件應(yīng)用開發(fā)_第1頁(yè)
[軟件工程]基于Android的手機(jī)鬧鐘軟件應(yīng)用開發(fā)_第2頁(yè)
[軟件工程]基于Android的手機(jī)鬧鐘軟件應(yīng)用開發(fā)_第3頁(yè)
[軟件工程]基于Android的手機(jī)鬧鐘軟件應(yīng)用開發(fā)_第4頁(yè)
[軟件工程]基于Android的手機(jī)鬧鐘軟件應(yīng)用開發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、技術(shù)圖紙及源代碼需要聯(lián)系qq:68661508基于android的手機(jī)鬧鐘軟件應(yīng)用開發(fā)application and development of android mobile phone alarm clock software學(xué)生: 班級(jí):09計(jì)本2學(xué)號(hào): 學(xué)部: 信息 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師: 職稱: 講師 工作單位: 畢業(yè)設(shè)計(jì)(論文)完成時(shí)間: 自 2012 年 12 月 至 2013 年 5 月摘 要隨著智能手機(jī)的迅速發(fā)展,它一步步走進(jìn)了普通人的生活,成為人們獲取即時(shí)信息的主要設(shè)備,因此手機(jī)的應(yīng)用軟件有非常大的發(fā)展空間。其中鬧鐘是人們?nèi)粘I钪斜夭豢缮俚膽?yīng)用軟件。andr

2、oid平臺(tái)也提供給用戶方便、快捷的服務(wù)。另外android平臺(tái)是免費(fèi)、開源的,這讓軟件開發(fā)縮小了成本,也吸引更多人投入android的軟件開發(fā),使android的平臺(tái)更加具有競(jìng)爭(zhēng)性,也能使每個(gè)用戶能夠獲得更好的體驗(yàn)與服務(wù)。本文講述了鬧鐘軟件的研究概況,對(duì)其可行性做了分析,同時(shí)介紹了android的相關(guān)技術(shù)和應(yīng)用程序結(jié)構(gòu),進(jìn)而研究分析了android平臺(tái)的系統(tǒng)構(gòu)架,接著介紹了本軟件的詳細(xì)設(shè)計(jì)。在簡(jiǎn)要講述了android的開發(fā)環(huán)境的搭建過(guò)程后對(duì)鬧鐘設(shè)計(jì)的相關(guān)技術(shù)進(jìn)行了分析和概括。在此基礎(chǔ)上,進(jìn)行鬧鐘的設(shè)計(jì)與實(shí)現(xiàn)。本系統(tǒng)界面舒服,操作簡(jiǎn)便,具有良好的可擴(kuò)展性。系統(tǒng)經(jīng)過(guò)測(cè)試,可以穩(wěn)定運(yùn)行,能夠滿足手機(jī)

3、用戶的基本需求。關(guān)鍵詞:安卓;智能手機(jī)平臺(tái);鬧鐘abstractwith the rapid development of intelligent mobile phone, it is a step by step into the lives of ordinary people, become main equipment for acquiring real-time information, so the application software of mobile phone has the very big development space. the alarm clock i

4、s the application of software is indispensable in people's daily life. also provides users with convenient, efficient service platform of android. in addition the android platform is free, open source, which makes software development reduces the cost, software development also attracts more peo

5、ple into the android, the android platform is more competitive, also can make each user can gain experience and better service.this paper describes the research situation of the alarm clock software, analyzes its feasibility, and introduces the technology of android and the structure of the applicat

6、ion, further research and analysis of the system architecture of android platform, then introduces the detailed design of the software. after a brief about the build process of the android development environment after the relevant technology of alarm clock design were analyzed and summarized. on th

7、is basis, the design and realization of alarm clock. the system interface is comfortable, convenient operation, has good expansibility. the system has passed the test, can stable operation, to meet the basic needs of mobile phone users.keywords:android; smart phone platform ; alarm clock目 錄1.需求分析11.

8、1可行性研究11.2功能需求11.3性能需求11.3.1數(shù)據(jù)精確度11.3.2時(shí)間特性22.相關(guān)技術(shù)介紹32.1開發(fā)工具32.2運(yùn)行環(huán)境43.總體設(shè)計(jì)54.詳細(xì)設(shè)計(jì)54.1界面設(shè)計(jì)54.2程序結(jié)構(gòu)設(shè)計(jì)65.系統(tǒng)功能實(shí)現(xiàn)96.軟件測(cè)試和維護(hù)11總結(jié)12參考文獻(xiàn)13致 謝14 2013屆畢業(yè)設(shè)計(jì)1.需求分析1.1可行性研究此軟件設(shè)計(jì)是在android智能手機(jī)系統(tǒng)上對(duì)傳統(tǒng)的鬧鐘軟件進(jìn)行了擴(kuò)展和創(chuàng)新,設(shè)計(jì)實(shí)現(xiàn)一個(gè)需要進(jìn)行算數(shù)驗(yàn)證才是關(guān)閉鬧鐘的軟件。而鬧鐘一鍵開閉的功能使得該軟件更加方便。因此,開發(fā)這樣一款軟件將顯得很有意義。1.2功能需求鬧鐘一鍵開閉:即所有設(shè)置都可功過(guò)此項(xiàng)進(jìn)行一鍵開閉,關(guān)閉后設(shè)置會(huì)持

9、續(xù)保存,方便二次打開后繼續(xù)使用。鬧鐘時(shí)間設(shè)定:完成基本時(shí)間設(shè)定,預(yù)期制作三個(gè)時(shí)間段可供用戶選擇。鬧鐘重復(fù)設(shè)定:實(shí)現(xiàn)周一至周日七天時(shí)間的鬧鐘單獨(dú)設(shè)定,方便用戶使用,提高操作便捷性。鬧鐘操作提醒:為了方便用戶對(duì)操作進(jìn)行確認(rèn),軟件在接受用戶設(shè)定的指令后,會(huì)彈出相應(yīng)對(duì)話框,提示用戶操作的進(jìn)度。算數(shù)驗(yàn)證:為確保鬧鐘可以確保提醒用戶起床,我們將常有的的鬧鐘小睡功能進(jìn)行了革新,轉(zhuǎn)換為了驗(yàn)證碼形式,如此用戶便不會(huì)滑動(dòng)屏幕后繼續(xù)睡覺了。此項(xiàng)功能可 以在鬧鐘工作時(shí)有效的集中用戶的精力,在準(zhǔn)確輸入驗(yàn)證答案后才可關(guān)閉鬧鐘。1.3性能需求1.3.1數(shù)據(jù)精確度通信數(shù)據(jù)精確到byte,當(dāng)有錯(cuò)誤數(shù)據(jù)產(chǎn)生時(shí),由加密算法偵測(cè)并進(jìn)

10、行通告。保住數(shù)據(jù)的絕對(duì)正確性。鼠標(biāo)分辨率,是指鼠標(biāo)的定位精度,其單位為dpi(dots per inch,每英寸像素)。最普通的鼠標(biāo)一般都是400dpi,這意味著鼠標(biāo)在鼠標(biāo)墊上移動(dòng)一英寸,鼠標(biāo)指針在屏幕上就移動(dòng)400個(gè)像素。所以,該模擬軟件最低要求要達(dá)到400dpi這一數(shù)值,從而保證用戶擁有和使用真實(shí)鼠標(biāo)的同一感覺。1.3.2時(shí)間特性    1)響應(yīng)速率client端命令socket,收取超時(shí)5秒,發(fā)送超時(shí)5秒;client端文件socket,收取超時(shí)5秒,發(fā)送超時(shí)5秒;server端命令socket,收取超時(shí)4秒,發(fā)送超時(shí)4秒;server端文件soc

11、ket,收取超時(shí)6秒,發(fā)送超時(shí)6秒;數(shù)據(jù)傳輸單元500bytes,速度達(dá)到msn messenger傳輸文件的水平。運(yùn)行時(shí)間:無(wú)限制。運(yùn)行優(yōu)先級(jí):普通。server運(yùn)行時(shí)無(wú)明顯拖慢感覺。2)鼠標(biāo)響應(yīng)率也就是在一秒鐘之內(nèi)鼠標(biāo)傳送資料個(gè)計(jì)算機(jī)的次數(shù),這個(gè)頻率越高,傳送的數(shù)據(jù)越精確,通常人們使用的鼠標(biāo)都是500hz的,只有專業(yè)游戲鼠標(biāo)會(huì)超過(guò)1000hz,在這一點(diǎn)上,開發(fā)人員只要保證達(dá)到500hz的基準(zhǔn)數(shù)值就可以滿足用戶的日常操作行為的響應(yīng)了。3)標(biāo)準(zhǔn)性規(guī)范的界面、標(biāo)準(zhǔn)的tcp/ip網(wǎng)絡(luò)協(xié)議所要求的質(zhì)量規(guī)范,要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。4)開

12、放性和可擴(kuò)充性遠(yuǎn)程控制軟件在開發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如增添其它功能,用戶的需求也會(huì)不斷的更新和完善。所有這些,都要求軟件提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過(guò)軟件的開放性來(lái)完成,既軟件應(yīng)是一個(gè)開放軟件,只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少軟件的模塊,配置軟件的硬件。通過(guò)軟件的修補(bǔ)、替換完成軟件的升級(jí)和更新?lián)Q代。2.相關(guān)技術(shù)介紹2.1開發(fā)工具1、eclipseeclipse軟件是一種可擴(kuò)展的開放源代碼ide3。2001年11月,ibm公司捐出價(jià)值4,000萬(wàn)美元的源代碼組建了eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā)環(huán)境(ide)經(jīng)常

13、將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(ide)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了eclipse平臺(tái)。eclipse允許在同一ide中集成來(lái)自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。eclipse框架的這種靈活性來(lái)源于其擴(kuò)展點(diǎn)。它們是在xml中定義的已知接口,并充當(dāng)插件的耦合點(diǎn)。擴(kuò)展點(diǎn)的范圍包括從用在常規(guī)表述過(guò)濾器中的簡(jiǎn)單字符串,到一個(gè)java類的描述。任何eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何eclipse插件也可以遵從其它插件定義的擴(kuò)展  點(diǎn)

14、。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過(guò)擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。利用eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用uml)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。如果這些互相補(bǔ)充的獨(dú)立工具采用eclipse擴(kuò)展點(diǎn)彼此連接,那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用時(shí),uml對(duì)話框可以突出顯示我們正在關(guān)注的器件。事實(shí)上,由于eclipse并不了解開發(fā)語(yǔ)言,所以無(wú)論java語(yǔ)言調(diào)試器、c/c+調(diào)試器還是匯編調(diào)試器都是有效的,并可以在相同的框架內(nèi)同時(shí)瞄準(zhǔn)不同的進(jìn)程或節(jié)點(diǎn)。eclipse的最大特點(diǎn)是它能接受由java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的visual studio和s

15、un微系統(tǒng)公司的netbeans平臺(tái)4。eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。eclipse聯(lián)盟已經(jīng)宣布將在2004年中期發(fā)布其3.0版軟件。這是一款非常受歡迎的java開發(fā)工具,這國(guó)內(nèi)的用戶越來(lái)越多,實(shí)際上實(shí)用它java開發(fā)人員是最多的。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來(lái)說(shuō),理解起來(lái)比較困難。2、android虛擬機(jī)android以java為編程語(yǔ)言,從接口到功能,都有層出不窮的變化,其中activity等同于j2me的midlet,一個(gè) activity 類(class)負(fù)責(zé)創(chuàng)建視窗(window),一個(gè)活動(dòng)中的activity就是在 foreground

16、(前景)模式,背景運(yùn)行的程序叫做service5。兩者之間通過(guò)由serviceconnection和aidl連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行的效果。如果運(yùn)行中的 activity 全部畫面被其他 activity 取代時(shí),該 activity 便被停止(stopped),甚至被系統(tǒng)清除(kill)。view等同于j2me的displayable,程序人員可以通過(guò) view 類與“xml layout”檔將ui放置在視窗上,android 1.5的版本可以利用 view 打造出所謂的 widgets,其實(shí)widget只是view的一種,所以可以使用xml來(lái)設(shè)計(jì)layout,htc的android he

17、ro手機(jī)即含有大量的widget。至于viewgroup 是各種layout 的基礎(chǔ)抽象類(abstract class),viewgroup之內(nèi)還可以有viewgroup。view的構(gòu)造函數(shù)不需要再activity中調(diào)用,但是displayable的是必須的,在activity 中,要通過(guò)findviewbyid()來(lái)從xml 中取得view,android的view類的顯示很大程度上是從xml中讀取的。view 與事件(event)息息相關(guān),兩者之間通過(guò)listener 結(jié)合在一起,每一個(gè)view都可以注冊(cè)一個(gè)event listener,例如:當(dāng)view要處理用戶觸碰(touch)的事件

18、時(shí),就要向android框架注冊(cè)view.onclicklistener。另外還有image等同于j2me的bitmap。2.2運(yùn)行環(huán)境軟件平臺(tái):pc端os(操作系統(tǒng)): windows xp/vista/ windows7。手機(jī)端支持平臺(tái):java android平臺(tái)。硬件平臺(tái):a 處理器:奔騰3以上或相應(yīng)的其他品牌處理器;b 內(nèi)存:pc端需要128mb或以上;c支持android平臺(tái)的手機(jī)一部;3.總體設(shè)計(jì)利用布局文件建好頁(yè)面,通過(guò)定時(shí)器alarmmanager 設(shè)置時(shí)間并發(fā)送廣播實(shí)現(xiàn)鬧鐘功能,隨機(jī)加減法實(shí)現(xiàn)驗(yàn)證。圖1.總體設(shè)計(jì)代碼 4.詳細(xì)設(shè)計(jì)4.1界面設(shè)計(jì)

19、圖2.主頁(yè)面屏幕4.2程序結(jié)構(gòu)設(shè)計(jì)if (getalarmagainsettingstr.equals("alarm2")intent againintent = new intent(alarmagainsetting.this, callalarm.class);againintent.putextra("result", "alarm2");pendingintent sender = pendingintent.getbroadcast(alarmagainsetting.this, 1, againintent, pendi

20、ngintent.flag_update_current);alarmmanager am;am = (alarmmanager) getsystemservice(alarm_service);int nowday = contants.getnowweek();int setday = 0;cursor = dbhelper.selectalarmcolock();string str2 = null;int count2 = cursor.getcount();if (count2 > 0)for (int i = 0; i < count2; i+)if (i = 1)cu

21、rsor.movetoposition(i);str2 = cursor.getstring(2);if (!(str2.equals("目前無(wú)設(shè)置")string setstr = str2.split(",");int dayofnum = contants.getdayofnum(setstr);setday = contants.getresultdifferday1(dayofnum, nowday);int differday = cparedaynowtonext(nowday, setday);if (differday = 0)am.s

22、et(alarmmanager.rtc_wakeup, contants.getnowtimeminuties() + contants.getdiffermillis(7), sender); elseam.set(alarmmanager.rtc_wakeup, contants.getnowtimeminuties() + contants.getdiffermillis(differday), sender);cursor.close();dbhelper.close();toast.maketext(this, r.string.alarm_time_come, toast.leng

23、th_short).show();try sharedpreferences sp = getsharedpreferences("preferences", context.mode_private);string media_path = sp.getstring("media_path", "");if ("".equals(media_path)assetmanager assetmanager = this.getassets();assetfiledescriptor filedescriptor =

24、assetmanager.openfd("cy.mp3");mediaplayer = new mediaplayer();mediaplayer.setdatasource(filedescriptor.getfiledescriptor(), filedescriptor.getstartoffset(), filedescriptor.getlength(); elsemediaplayer = new mediaplayer();mediaplayer.setdatasource(media_path);mediaplayer.prepare();mediaplay

25、er.setlooping(true);mediaplayer.start(); catch (illegalargumentexception e)e.printstacktrace(); catch (illegalstateexception e)e.printstacktrace(); catch (ioexception e)e.printstacktrace();random r = new random();i1 = r.nextint(10);i2 = r.nextint(10);et = new edittext(alarmagainsetting.this);showdialogone();5.系統(tǒng)功能實(shí)現(xiàn)頁(yè)面功能實(shí)現(xiàn):圖3.總體頁(yè)面圖4.設(shè)置時(shí)間圖5.實(shí)現(xiàn)效果6.軟件測(cè)試和維護(hù)測(cè)試環(huán)境:一臺(tái)android操作系統(tǒng)的手機(jī),安裝有.apk程序。主要測(cè)試包括重復(fù)響起的鬧鐘是否有效,數(shù)字驗(yàn)證是否有效。   總結(jié) 經(jīng)過(guò)一段時(shí)間的設(shè)計(jì)和開發(fā),目標(biāo)功能基本實(shí)現(xiàn)。用戶可通過(guò)手機(jī)實(shí)現(xiàn)定制鬧鐘,操作簡(jiǎn)便且方便,能實(shí)現(xiàn)算數(shù)驗(yàn)證確保用戶能順利起床。該軟件還有一些不盡人意和需要擴(kuò)展的地方。首先界面需要優(yōu)化,其次還可增加一些功能,例如搖晃手機(jī)關(guān)閉鬧鐘、計(jì)算的難度選

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論