【基于Andriod平臺的時(shí)間管理軟件設(shè)計(jì)8900字(論文)】_第1頁
【基于Andriod平臺的時(shí)間管理軟件設(shè)計(jì)8900字(論文)】_第2頁
【基于Andriod平臺的時(shí)間管理軟件設(shè)計(jì)8900字(論文)】_第3頁
【基于Andriod平臺的時(shí)間管理軟件設(shè)計(jì)8900字(論文)】_第4頁
【基于Andriod平臺的時(shí)間管理軟件設(shè)計(jì)8900字(論文)】_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于Andriod平臺的時(shí)間管理軟件設(shè)計(jì)目錄TOC\o"1-3"\h\u第一章引言 51.1項(xiàng)目研究的意義 51.2論文的組織結(jié)構(gòu) 5第二章研究背景 52.1系統(tǒng)的開發(fā)背景 62.2系統(tǒng)開發(fā)內(nèi)容和意義

62.3國內(nèi)外發(fā)展 6第三章Android系統(tǒng)核心技術(shù)概述 63.1

Android架構(gòu)分析

63.2Android應(yīng)用的構(gòu)成和工作機(jī)制 73.3Android系統(tǒng)的優(yōu)勢 9第四章備忘錄軟件設(shè)計(jì) 104.1系統(tǒng)設(shè)計(jì)需求 104.2備忘錄軟件程序中各類組件 134.3備忘錄軟件設(shè)計(jì)實(shí)現(xiàn) 15第五章系統(tǒng)測試 225.1主界面運(yùn)行 225.2添加事件信息界面 225.3軟件維護(hù)列表 235.4備忘錄定時(shí)提醒 24結(jié)論 25參考文獻(xiàn) 25第一章引言1.1項(xiàng)目研究的意義進(jìn)入21世紀(jì)以來,我們正處在一個(gè)經(jīng)濟(jì)強(qiáng)勁發(fā)展的時(shí)代信息.發(fā)展移動(dòng)通信平臺的速度越來越快,技術(shù)越來越廣泛成熟。在中國,Android手機(jī)的數(shù)量遠(yuǎn)遠(yuǎn)超過其他類型的手機(jī)。Android移動(dòng)系統(tǒng)以其開放的平臺、許多免費(fèi)應(yīng)用程序、便捷的界面,友好的操作而深受消費(fèi)者的青睞。Android平臺最大特點(diǎn)在于它是開放的體系架構(gòu)。Android平臺不僅具有非常好的開發(fā)和調(diào)試環(huán)境,還支持各種可擴(kuò)展的用戶體驗(yàn)。Android里面擁有非常豐富的圖形系統(tǒng),以及對多媒體的支持功能和非常強(qiáng)大的瀏覽器。由于Android與操作系統(tǒng)的緊密結(jié)合,使得操作系統(tǒng)的功能易于使用。相比其他的操作系統(tǒng)功能難以使用,Android平臺對開發(fā)者無疑是非常有吸引力的。Android可以用配置文件來描述圖形命令的布局,用java代碼來描述真正的響應(yīng)代碼更為方便,當(dāng)然Android提供了很多非常簡單、便捷的工具來開發(fā)傳統(tǒng)的智能手機(jī)功能。對于很多人來說,隨身帶個(gè)本子記錄一些事情,筆記已經(jīng)形成了一種習(xí)慣,從這之中就出現(xiàn)了時(shí)間管理?;贏ndroid平臺的時(shí)間管理可以讓我們隨時(shí)隨隨地記錄自己的生活狀態(tài)和一些重要的事情,隨時(shí)翻閱"。因此,本文采用Java語言,利用Android和SQyang數(shù)據(jù)庫開發(fā)一個(gè)基于Android平臺的時(shí)間管理系統(tǒng),用來給人們的生活帶來便利。1.2論文的組織結(jié)構(gòu)第一章:主要介紹了時(shí)間管理平臺的背景、意義,以及兼職在國內(nèi)外的發(fā)展現(xiàn)狀,概述本文需要解決的主要問題和論文主體結(jié)構(gòu)。第二章:主要描述了Android系統(tǒng)開發(fā)的背景,內(nèi)容和意義,以及在國內(nèi)外的發(fā)展情況。第三章:描述了對Android平臺的技術(shù)進(jìn)行分析從架構(gòu)和應(yīng)用結(jié)構(gòu)兩方面進(jìn)行分析,并闡述了Android平臺的優(yōu)點(diǎn)。第四章:描述了時(shí)間管理平臺所用的需求分析的方法與技術(shù),然后對大學(xué)生兼職平臺的各個(gè)用戶進(jìn)行具體性功能分析,最后總結(jié)出大學(xué)生兼職平臺的功能性和非功能性需求。詳細(xì)描述了時(shí)間管理的總結(jié)架構(gòu)設(shè)計(jì)過程。第五章:展示了在系統(tǒng)中測試時(shí)間管理軟件的結(jié)果。第二章研究背景2.1系統(tǒng)的開發(fā)背景在社會的高速發(fā)展下,安卓系統(tǒng)慢慢的占領(lǐng)了市場,安卓手機(jī)在手機(jī)領(lǐng)域成了老大。智能類的手機(jī)也代替了報(bào)紙,收音機(jī)等之前獲取信息的工具,占領(lǐng)了主導(dǎo)地位,尤其是在青年群體中中的表現(xiàn)最為突出。Android的應(yīng)用已經(jīng)滲透到了人們?nèi)粘I钪?,人們的生活離不開各種應(yīng)用。這些應(yīng)用為消費(fèi)者帶來了便利也讓開發(fā)者帶來了利益??梢詾槿藗冊诳旃?jié)奏的生活節(jié)奏下方便的提供備忘錄查詢和提醒這兩大功能,提高了效率,方便人們出行。其次,由于是免費(fèi)開放的安卓平臺上設(shè)計(jì)的,所以幾乎零成本,很好的節(jié)約了其他不必要的開支,節(jié)約了軟件的成本,為生活效率提供保障,這樣為這款軟件的的推廣也提供了優(yōu)勢。2.2系統(tǒng)開發(fā)內(nèi)容和意義

經(jīng)過我們對現(xiàn)在市場上的主導(dǎo)系統(tǒng)平臺的情況進(jìn)行了仔細(xì),全面的分析,并且仔細(xì)了解和詳細(xì)分析了安卓平臺的各個(gè)組件以及系統(tǒng)的框架,隨之也更為透徹的分析了安卓系統(tǒng)上面應(yīng)用的生命周期。然后就在安卓系統(tǒng)的基礎(chǔ)上編寫設(shè)計(jì)了時(shí)間管理系統(tǒng)。此應(yīng)用系統(tǒng)界面簡潔,一目了然,方便各個(gè)人群使用,擁有非常好的擴(kuò)展性和維護(hù)行。在我們仔細(xì)的不斷測試中,此類軟件經(jīng)得起考驗(yàn),也可以滿足我們對此類應(yīng)用的使用需求。2.3國內(nèi)外發(fā)展2.3.1Android在國外的發(fā)展Android曾經(jīng)是一家總部位于舊金山的公司。自2005年8月被谷歌收購之后發(fā)展迅速?,F(xiàn)在的Android已經(jīng)成為一個(gè)平臺和生態(tài)系統(tǒng)。Android現(xiàn)在廣泛應(yīng)用于移動(dòng)領(lǐng)域。根據(jù)谷歌2011年6月發(fā)布的數(shù)據(jù),與之前相比,每天有超過1000萬臺Android設(shè)備被激活!谷歌還表示,它已經(jīng)與215家運(yùn)營商和36家OEM制造商合作,這些制造商正在激活A(yù)ndroid設(shè)備。在國外Android市場正在如日中天的擴(kuò)展。Android正代表了當(dāng)前行業(yè)的主導(dǎo)趨勢:開放平臺正在取代封閉平臺。參與者可以從中通過自己的努力獲取利益。自2008年9月發(fā)布1.0版以來,經(jīng)過近十二年的發(fā)展,目前Android已經(jīng)升級了多個(gè)版本以及平板和電腦的優(yōu)化版本,包括支持大屏幕和多任務(wù)優(yōu)化的類庫。當(dāng)然,隨著時(shí)間的推移,我相信Android在后續(xù)會發(fā)展出越來越多便利的版本中。2.3.1Android在國內(nèi)的發(fā)展在擁有全球最大手機(jī)用戶層的中國,5G的推出一直是推動(dòng)行業(yè)整體發(fā)展的主要?jiǎng)恿Α4蠖鄶?shù)大中型手機(jī)制造商都在招聘Android的工程師。每天都會有超過1600萬臺Android設(shè)備被生產(chǎn)出來。全世界使用Android系統(tǒng)的設(shè)備一年內(nèi)可能超過1000萬臺。在未來,Android將不僅僅是一個(gè)智能手機(jī)平臺。Android對中國市場有著十分良好的前景。首先是中國擁有十分成熟的消費(fèi)者。Android社區(qū)在中國非常流行。這些社區(qū)在android的中國流行中扮演了重要角色。國內(nèi)的制造商和運(yùn)營公司也紛紛加入了在安卓系統(tǒng),包括中國移動(dòng)、中國通信、華為、聯(lián)想等大型企業(yè)。這些企業(yè)的工作并不局限于手機(jī),這些廠商也逐漸推出了搭載安卓系統(tǒng)的產(chǎn)品。第三章Android系統(tǒng)核心技術(shù)概述3.1

Android架構(gòu)分析

Android的操作系統(tǒng)是一個(gè)由軟件組件的棧。安卓系統(tǒng)的架構(gòu)中主要的分為了四個(gè)主要層有:1.linux內(nèi)核層2.系統(tǒng)運(yùn)行庫層3.應(yīng)用程序框架層4.應(yīng)用程序?qū)舆@四種是由下層到上層排列。Linux內(nèi)核層具有重要的基礎(chǔ)功能,有三大:進(jìn)程管理、內(nèi)存管理和設(shè)備管理,設(shè)備管理包括了(攝像頭,鍵盤,顯示器)。與此同時(shí),內(nèi)核為處理Linux的工作提供了基本的工作,例如,進(jìn)程管理,內(nèi)存管理,設(shè)備管理(如攝像頭,鍵盤,顯示器)。然后內(nèi)核可以處理所有Linux的工作,Linux內(nèi)核層是Android平臺的基礎(chǔ),例如需要使用底層Linux內(nèi)核來進(jìn)行操作的就是ATR虛擬機(jī),他主要就是調(diào)動(dòng)底層的Linux內(nèi)核。安卓系統(tǒng)的應(yīng)用安全保障也是Linux內(nèi)核提供給我們的,它也可以讓設(shè)備制造業(yè)為此內(nèi)核進(jìn)行開發(fā)和研究硬件的驅(qū)動(dòng)。安卓系統(tǒng)的系統(tǒng)運(yùn)行庫層是基于java程序庫的基礎(chǔ)上。應(yīng)用程序框架庫也包含在這個(gè)類別中,比如用戶界面構(gòu)建,數(shù)據(jù)庫訪問和圖形繪制。也分為了兩大庫:程序庫和安卓運(yùn)行庫1.程序庫,在安卓的系統(tǒng)中包括一些編譯語言,包含了一些C/C++庫,它們可以共享到安卓系統(tǒng)中并且提供給不同的部件進(jìn)行編輯。也可以通過安卓應(yīng)用程序框架來為程序開發(fā)者提供全面的服務(wù),2.安卓運(yùn)行庫,有一個(gè)核心庫就是包含在安卓運(yùn)行庫中,它提供了java編程語言的幾乎全部功能。每一個(gè)基于安卓系統(tǒng)的程序都會按照預(yù)設(shè)置運(yùn)行,擁有了一個(gè)不包含在任何里面的Dalbik虛擬機(jī)實(shí)例,但是他也依賴于linux內(nèi)核。采用Java類的模式的應(yīng)用程序框架層,在程序開發(fā)者使用應(yīng)用時(shí),向其提供大量較高檔次的服務(wù)。同時(shí)賦予開發(fā)人員自由使用API框架的權(quán)利。該應(yīng)用程序的架構(gòu)設(shè)計(jì)降低了組件產(chǎn)生影響的復(fù)雜性,并在保障框架安全性的前提下,讓所有的應(yīng)用程序擁有發(fā)布自己的功能塊的權(quán)利,還向除自己以外的應(yīng)用程序開放功能塊的使用權(quán)。同時(shí),應(yīng)用程序重用機(jī)制有利于提高程序使用者更換程序組件的便利性。所有的應(yīng)用都擁有一連串的服務(wù)與系統(tǒng)。作為Android的中心應(yīng)用程序包,所有的程序包的應(yīng)用語言一般采用Java語言進(jìn)行編寫。并且,擁有多種程序包的Android程序會裝配在應(yīng)用層中,例如:地圖和日歷、email客戶端、瀏覽器、聯(lián)系人管理程序和SMS短信息程序等。而應(yīng)用層Android將和許多核心應(yīng)用程序包同時(shí)宣布。3.2Android應(yīng)用的構(gòu)成和工作機(jī)制 一個(gè)完整Android應(yīng)用程序通常是由四種構(gòu)造塊:ActivityIntent,Receiver,Service,ContentProvider組織而成的,但不是每一個(gè)Android應(yīng)用程序都需要全部四個(gè)構(gòu)造塊。在一些時(shí)候,我們只需要這四個(gè)構(gòu)造塊中的一部分組合成應(yīng)用。我們需要明確開發(fā)的應(yīng)用需要哪些構(gòu)造塊,,并將涉及的構(gòu)造塊寫下來,保存在AndroidManifest.xml里。作為所有Android應(yīng)用一定要擁有的配置文件,AndroidManifest.xml可以對應(yīng)用程序組件的功效和不可缺少的條件、應(yīng)用程序的組件等概念內(nèi)涵進(jìn)行說明。Activity構(gòu)造塊是Android中最基礎(chǔ)的一種。在應(yīng)用中,一個(gè)activity構(gòu)造塊就是一個(gè)單獨(dú)的屏幕。每一個(gè)activity構(gòu)造塊都會被實(shí)現(xiàn)成為一個(gè)獨(dú)立的類。這個(gè)activity類會顯示出由控件組成的視圖,并且對事件做出響應(yīng)。很多的應(yīng)用會包含多個(gè)的屏幕。在默認(rèn)情況下,Android應(yīng)用會保留從主屏幕到每一個(gè)應(yīng)用的運(yùn)行屏幕。IntentReceiver構(gòu)造塊是在想要Android應(yīng)用能夠?qū)σ粋€(gè)外部的事件做出響應(yīng)的時(shí)候來使用。雖然IntentReceiver構(gòu)造塊會在事件發(fā)生時(shí),會使用NotificationManager來告知用戶,但它不可以自己生成一個(gè)UI。IntentReceiver需要在AndroidManifest.xml中注冊,也可以在代碼中使用Context.registerReceiver()進(jìn)行注冊。當(dāng)intentreceiver構(gòu)造塊被觸發(fā)時(shí),應(yīng)用可以不去請求調(diào)用intentreceiver。Service構(gòu)造塊是一段長生命周期的,這個(gè)構(gòu)造塊是沒有用戶界面的程序的。Service構(gòu)造塊用來執(zhí)行后臺程序。每當(dāng)Activity構(gòu)造塊需要進(jìn)行操作的時(shí)候,在離開用戶界面后,就會啟用Service構(gòu)造塊的特殊服務(wù)。開發(fā)人員通常把Service構(gòu)造塊作為在底層運(yùn)行的守護(hù)進(jìn)程,用來定義一個(gè)遠(yuǎn)程過程中的調(diào)用接口。Service構(gòu)造塊還可以使其他組件用它來傳遞命令和檢索數(shù)據(jù),還可以用來記錄回調(diào)函數(shù)。ContentProvider構(gòu)造塊有很多功能。首先,在使用于應(yīng)用程序時(shí),需要留存的數(shù)據(jù)能夠處于正確的SQL數(shù)據(jù)庫、文件里。其次,在其余的應(yīng)用想要獲取或保留被ContentProvider構(gòu)造塊管理的數(shù)據(jù)的類別時(shí),能利用ContentProvider構(gòu)造塊達(dá)成目的,同時(shí)完成數(shù)據(jù)應(yīng)用共享。Android應(yīng)用的構(gòu)成和工作流程如圖1:3.3Android系統(tǒng)的優(yōu)勢(1)任何移動(dòng)終端的廠商都能參與Android平臺,還可以對其應(yīng)用程序、用戶界面和底層操作系統(tǒng)展開開發(fā)。這表明了Android具有極大的開放性,同時(shí)這也是Android操作平臺相比與其他平臺的長處。Android平臺由多種樣式的應(yīng)用程序組成,且應(yīng)用程序中擁有移動(dòng)終端發(fā)展必須的各種軟件。并且開發(fā)者可以通過虛擬機(jī)感受應(yīng)用效能,體驗(yàn)應(yīng)用程序的同時(shí)還可以對其加以完善。應(yīng)用程序中擁有Android的開放性為平臺吸引了大量的用戶。促使Android在競爭激烈的市場中快速成長、壯大。同時(shí),它也具有高人氣,得到了各類用戶和廠商的支持。。對于消費(fèi)者,豐富多彩的軟件資源是他們所看重的。對于開發(fā)者,為了獲取更多的用戶,他們需要在這個(gè)開放的平臺開發(fā)出方便用戶的軟件。在這樣的背景下,Android平臺快速發(fā)展了起來,并被眾人認(rèn)可。(2)Android平臺所有的應(yīng)用程序包括第三方的應(yīng)用之間是平等的。消費(fèi)者可以使用第三方的軟件來代替系統(tǒng)的默認(rèn)軟件。例如:用戶可以使用微信這個(gè)軟件來代替系統(tǒng)默認(rèn)的短信。(3)Android應(yīng)用程序之間無界限。Android的開發(fā)人員能夠?qū)⒃谑謾C(jī)本地的電話、聯(lián)系人、位置、時(shí)間等信息與網(wǎng)絡(luò)上的數(shù)據(jù)結(jié)合起來,讓用戶可以有更好的體驗(yàn)。(4)Android平臺給開發(fā)者提供便捷的庫和工具。開發(fā)者只需要幾行簡單的代碼就可以快速地在Android平臺創(chuàng)建應(yīng)用程序。(5)Android平臺中有一個(gè)輕量級的SQLite數(shù)據(jù)庫。這個(gè)SQLite數(shù)據(jù)庫。主要被用來幫助資源有限的設(shè)備保存數(shù)據(jù)。同時(shí),這個(gè)數(shù)據(jù)庫引擎模式為嵌入式。例如:手機(jī)、平板等這些物理存儲比較小的。SQLite具備檢索效率高,系統(tǒng)開銷小等優(yōu)點(diǎn)。第四章備忘錄軟件設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)需求 4.1.1需求分析 通過分析把Java當(dāng)作創(chuàng)建語言,及平時(shí)手機(jī)用戶使用軟件的慣性操作與Android平臺的創(chuàng)建過程。Androidstudio為開發(fā)環(huán)境,實(shí)現(xiàn)了時(shí)間管理系統(tǒng)。包括主界面、刪除模塊、數(shù)據(jù)存儲模塊、修改模塊和時(shí)間到達(dá)提醒模塊。各個(gè)模塊的主要功能如下:

1、主界面模塊

在用戶進(jìn)入應(yīng)用后,在主界面可以看到所有事項(xiàng),包括添加,查看,刪除和各個(gè)事項(xiàng)的內(nèi)容和時(shí)間。

2、時(shí)間管理的添加模塊

添加事件的步驟為:

首先在選擇添加選項(xiàng)后,主頁面會出現(xiàn)對應(yīng)的添加界面。然后在提示下填寫具體內(nèi)容、時(shí)間及標(biāo)題。選擇保存之后,再次返回主頁面便能看到所添加的事件。3、時(shí)間管理的修改模塊

修改備忘時(shí)間的步驟為:首先進(jìn)入主頁面,找到已保存的事件,再長按想要改善的事件,出現(xiàn)菜單后選擇修改選項(xiàng),然后對事件的整體內(nèi)容、時(shí)間和標(biāo)題進(jìn)行修改。最后選擇保存按鈕選項(xiàng),就能達(dá)到修改備忘時(shí)間的目的。4、時(shí)間管理的刪除模塊

長按要?jiǎng)h除的事件時(shí),主頁面會出現(xiàn)相關(guān)的菜單。首先,選擇菜單的刪除選項(xiàng),在刪除成功的消息跳出時(shí),代表著選擇的事件已經(jīng)被刪除,取消提醒。5、備忘時(shí)間到達(dá)提醒模塊

通過系統(tǒng)傳達(dá)通知的方式,可以提醒用戶在某時(shí)間段內(nèi)應(yīng)執(zhí)行的事件。顯示用戶在事項(xiàng)里填寫的標(biāo)題和具體內(nèi)容。在手機(jī)桌面通知欄處顯示改事項(xiàng),來達(dá)到提醒用戶的目的。6、時(shí)間管理數(shù)據(jù)存儲模塊

使用時(shí)間管理數(shù)據(jù)的方法可以避免出現(xiàn)使用者忘記部分重要事情或者是重要的日期,在相應(yīng)的數(shù)據(jù)庫中添加這部分的信息內(nèi)容,這樣做法的目的就是使得使用者的信息能夠保存的時(shí)間得到延長。時(shí)間管理的操作過程必須要提供一定的信息,例如,提醒的內(nèi)容、創(chuàng)建時(shí)間、標(biāo)題、編號以及需要提醒的具體時(shí)間等。4.1.2下載開發(fā)資源 (l)第一步是根據(jù)提供的網(wǎng)址進(jìn)行搜索,其中相應(yīng)的網(wǎng)址是http:///android/download.html,在該網(wǎng)站中找到最新的AndroidSDK并且進(jìn)行下載。我國在下載開發(fā)資源的過程中使用的系統(tǒng)一般是Windows系統(tǒng),因此就在Windows系統(tǒng)中選擇需要的SDK。版本的SDK。完成下載的過程之后進(jìn)行解壓縮,可以考慮在Window的path環(huán)境變量里導(dǎo)入SDK的目錄,該操作方法的目的是為了使得操作更加方便。圖4配置環(huán)境變量(2)然后點(diǎn)擊http://java.sun.eom/javase/downloads/index.jsp這個(gè)網(wǎng)址把JDK6下載下來。下載完成之后,把JDK的環(huán)境變量改為合適的值。(3)最后一步就是把http:///downloads/網(wǎng)址并且點(diǎn)擊進(jìn)入,把Eclipse3.2或3.3版本的下載出來(開發(fā)Android的IDE)。4.1.3更新Ec1ipse并下載ADT(Android開發(fā)插件) (1)點(diǎn)擊進(jìn)入Eclipse,找到Help>softwareupdates>findandInstall。(2)隨后會有一個(gè)對話框出現(xiàn),找到Searchfornewfeaturestoinstall,并且點(diǎn)擊下一步。(3)進(jìn)入NewRemoteSite。(4)把需要更新的插件加入到編輯框里,其中更新插件的網(wǎng)址為:/android/eclipse/,找到OK鍵并且點(diǎn)擊。(5)會發(fā)現(xiàn)有一個(gè)與以往不同的列表,找到finish并且進(jìn)行點(diǎn)擊。(6)回到上一個(gè)對話框,并且選中Androidplugin>EclipseIntegration>AndroiddevelopmentTools并且點(diǎn)擊Next。(7)選擇Accepttermsofthelicenseagreement,點(diǎn)擊Next。(8)點(diǎn)擊Finish。(9)選擇InstallAll。(10)重新啟動(dòng)Eclipse。(11)重啟后設(shè)置Android屬性中的AndroidSDK目錄(不包括SDK下的Tools):①選擇Window→Preferences打開編輯屬性窗口。②選擇Android屬性面板。③點(diǎn)擊Browse…,選擇加入AndroidSDK的目錄。④選擇Apply,最后點(diǎn)擊OK。圖4-1-3AndroidPreferences4.1.4使用Ec1ipse開發(fā)Android應(yīng)用 使用EclipseIDE開發(fā)一個(gè)Android應(yīng)用。第一步是建立出一個(gè)安卓的項(xiàng)目,第二部是找到需要的啟動(dòng)配置。第三步是寫出對應(yīng)的代碼,開始使用。(l)創(chuàng)建一個(gè)Android工程。(2)創(chuàng)建Android虛擬機(jī)圖4-1-4虛擬機(jī)創(chuàng)建(3)調(diào)試應(yīng)用程序。4.2備忘錄軟件程序中各類組件4.2.1PackageExplorer中的組件 src文件夾包含示例應(yīng)用程序的包,即mars.xingzuo。(2)R.javaAndroidDeveloperTools自動(dòng)創(chuàng)建這個(gè)文件,它提供訪問Android應(yīng)用程序的各種資源所需的常量。(3)res文件夾包含應(yīng)用程序的資源,包括:圖標(biāo),布局文件,字符串。(4)AndriodManifest.xml示例應(yīng)用程序的部署描述符。4.2.2應(yīng)用程序的資源 由之前的敘述可知:對于項(xiàng)目res子目錄是由android中的資源所存入的。有三種類型對于其材料進(jìn)行歸類:1.對于圖標(biāo)和為徒這一類圖形文件都可以用Drawables進(jìn)行儲存。2.包含像應(yīng)用程序布局和視圖XML文件都可在Layouts文件夾中搜索,相應(yīng)的,在后面也會詳細(xì)的為這種文件進(jìn)行解讀和分析。3.在蘊(yùn)含strings.xml均可在values這個(gè)文件夾中去查找字符串本地化的辦法。4.2.3布局文件main.xml <xml

version="1.0"

encoding="utf-8"><LinearLayout

xmlns:android="/apk/res/android"Android:orientation="vertical"Android:layout_width="fiLl_parent"Android:layout_height-"fiLL_parent"><ListViewAndroid:layout_width="fiLl_parent"Android:layout_height="fiLL_parent"android:

id="@+id/itemList”/></LinearLayout>fill_parent:使視圖元素占滿可用的空間。也可以認(rèn)為這就是“拉伸”。wrap_content:無法進(jìn)行對其元素一排序,同樣也不能進(jìn)行拉伸這是由于這個(gè)值讓android無法進(jìn)行的,所有資源進(jìn)行編輯在他進(jìn)行期間。應(yīng)用程序提供的其他部分資源,是由在編譯R.java文件輸出之一的。4.2.4AndroidManifest.xml <xml

version-"1.0"encoding-"utf-8">

<manifest

xmlns:android="/apk/res/android"package-"com.amaker.ch17.app"

android:versionCode-“1”android:versionName="1.e">

<uses-sdk

android:minSdkVersion="3"/>

<uses-permission

android:name-"android.permission.VIBRATE"></uses-permissio><application

android:icon-""@drawabLe/icon""

android:

label=""@string/app_name"">

<provider

android

:

name-"TasklistProvider"

android:authorities-"vider.TaskList"/>

<activity

android:name=""TaskListActivity"android:label-"@string/app_name"">

<intent-filter>

<action

android:name="enk.action.MAIN"/>

<category

android:name="ent.category.LAUNCHER”/></intent-filter>

</activity>

<activity><receiver><activity>

</activity></application></manifest>陳設(shè)描繪符是由android應(yīng)用程序所進(jìn)行的,這是在androidManifest.xml文件中的。應(yīng)用程序intentFilter和對容納的所有活動(dòng)的服務(wù)、內(nèi)容、提供器和接收器都可在這個(gè)文件中表出。4.3備忘錄軟件設(shè)計(jì)實(shí)現(xiàn) AndroidManifest.xml清單文件見附錄。所有代碼和布局文件見附錄。4.3.1數(shù)據(jù)存儲實(shí)現(xiàn) 必須將相應(yīng)的內(nèi)容信息儲存于Sqlite的數(shù)據(jù)庫中,,這樣才能將客戶的備忘錄信息長時(shí)間的保留下來。對于數(shù)據(jù)的增、刪、查、改等操作是通過設(shè)計(jì)儲存數(shù)據(jù)表來建設(shè)的。計(jì)劃數(shù)據(jù)庫表我們需要將大量的有關(guān)人們生活的信息如創(chuàng)設(shè)時(shí)間(Created)、是否啟用和聲音提醒(alarm)包括以及重要的內(nèi)容(content)和時(shí)間日期(time)等在在備忘錄中都要保存。對于常量類的解釋中這是由大量的屬性在幾類中的運(yùn)用而進(jìn)行統(tǒng)計(jì)的,用于充分在制作備忘錄數(shù)據(jù)表時(shí)。會更充分的讓人們使用,將常量類名稱為tasklist中進(jìn)行分類,其中還有內(nèi)部類Tasks將它與Basecolums進(jìn)行接口。其中有publicStaticfinal類型的數(shù)據(jù)域并將bascolums分為兩類,這兩類分別為在目錄中的每行的ID和行數(shù),而對于備忘錄要保存的信息是由tasks所定以的。備忘錄ContentProvider實(shí)現(xiàn)public

class

TaskListProvider

extends

ContentProvider{//數(shù)據(jù)庫名稱常里private

static

final

String

DATABASE_NANE-"task_list.db";//數(shù)據(jù)庫版本常量private

static

final

int

DATABASE_VERSTON=1;//表名稱常量private

static

final

String

TASK_LIST_

TABLE_NANE

=

"tasklists";//查詢列集合private

static

HashMap<String,String>sTaskListProjectionNap;查詢、更新條件

private

statie

final

int

TASKS-1;private

statie

final

int

TASKID-2;//Uri工具類private

static

fina1

UriMatcher

sUriMatcher;//數(shù)據(jù)庫工具類實(shí)例private

DatabaseHelper

mOpenHelper;//內(nèi)部工具類,創(chuàng)建或打開數(shù)據(jù)庫,創(chuàng)建或刪除表private

static

class

DatabaseHelper

extends

SQLiteOpenHelper

{DatabaseHelper(Context

context)//創(chuàng)建表public

void

onCreate(SQLiteDatabase

db){//刪除表public

void

onUpgrade(SQLiteDatabase

db,

int

oldVersion,int

newVersion)為了使備忘錄數(shù)據(jù)表具有通用的數(shù)據(jù)共享訪問機(jī)制,需要通過ContentProvider來實(shí)現(xiàn)。這里定義一個(gè)TaskListProvider類,該類繼承ContentProvider,實(shí)現(xiàn)了onCreat、query、getType、insert、delete、update等方法,來支持?jǐn)?shù)據(jù)的增、刪、查、改等操作。在該類內(nèi)部還定義了一個(gè)DatabaseHelper內(nèi)部類繼承SQLiteHelper,該類提供了常見或打開數(shù)據(jù)庫、創(chuàng)建或刪除表的功能。具體請看代碼。//創(chuàng)建或打開數(shù)據(jù)庫publie

boolean

onCreate(//查詢public

Cursor

query(Uri

uri,

String[]

projection,String

selection,//獲得類型publie

String

getType(Uri

uri)//保存數(shù)據(jù)public

Uri

insert(Uri

uri,ContentValues

initialValues)//刪除數(shù)據(jù)public

int

delete(Uri

uri,

String

where,String[]

whereArgs)//更新數(shù)據(jù)public

int

update(Uri

uri,ContentValues

values,String

where,String[]

whereArgs)statie4.3.2備忘錄列表展示 每當(dāng)人們進(jìn)行刪除,修改時(shí)在備忘錄中則需要建立更為較多的內(nèi)容信息去幫助保護(hù)這樣的備忘錄信息。在選項(xiàng)菜單中,需要有一個(gè)維護(hù)數(shù)據(jù)接口,這主要由listview來呈現(xiàn)的。并且通過在設(shè)立listview來表示備忘錄列表并將其儲存在一個(gè)tasklistactivity中。其重要性能主要體現(xiàn)的三個(gè)方面其中運(yùn)用Listview表示,更是通過前面的cusoru游標(biāo)所創(chuàng)造的simpleseausoradapter和查詢備忘錄列表的tasklistprovider。并且每當(dāng)人們想詳細(xì)了解備忘錄信息時(shí)應(yīng)用listview去觀察自己所需要的。并且還有人們已刪除的備忘錄信息。public

class

TaskListActivity

extends

ListActivity

{//菜單項(xiàng)常量private

static

final

int

NEw

-1;privatestatic

final

int

DEL

-2;//查詢列姿文組private

static

final

String[]

PROJECTION

=

new

String[]{}protected

void

onCreate(Bundle

savedInstancestate)//創(chuàng)建選項(xiàng)菜單public

boolean

onCreateOptionsMenu(Menu

menu)//現(xiàn)象菜單項(xiàng)單擊方法public

boolean

on0ptionsItemSelected(MenuItem

item)}如果未取到相應(yīng)的數(shù)據(jù)之后可以使用Setdata的方法將為渠道的數(shù)據(jù)設(shè)置到tasks里面相對Uri中,但在此之前在使用onCreat的方法中,首先要調(diào)用intent中的Getintent方法找到intent的對象如果能取得相應(yīng)的數(shù)據(jù),則不需要使用上述方法。在此之后,須先創(chuàng)立一個(gè)SimplecusorAdapter若果想要將參數(shù)轉(zhuǎn)達(dá)給setlistadaper,需要進(jìn)行g(shù)etlistview來展示相應(yīng)的數(shù)據(jù)組件并且還需用managedQuery的方法去得到一個(gè)Cusor的對象,最終使用setonitemclicklistener的辦法來為列表創(chuàng)建向窗簾單機(jī)事件監(jiān)聽器。制造選項(xiàng)菜單登記方法有OnoptionsItemselected但在此之前,需要用onCreatoptionmenu的方法進(jìn)行創(chuàng)建選項(xiàng)菜單。4.3.3備忘錄維護(hù) 格式體中對定義一個(gè)intent對象,由SSATonitemclicklistener所提出的,這是每當(dāng)用戶點(diǎn)擊主頁面的一個(gè)列表時(shí)會在,4.3.2列表中所表現(xiàn)出來的。當(dāng)taskdetailactivity顯示界面彈出,這是因?yàn)檫\(yùn)用了setClass的方法進(jìn)行完成的。//初始化方法private

void

init(Intent

intent){public

void

onCreate(Bundle

savedInstanceState)protected

void

onResume()//ListView

Adatpec,該類實(shí)現(xiàn)了列表的每一項(xiàng)通過自定義視圖實(shí)現(xiàn)class

ViewAdapter

extends

BaseAdapter{//顯示對話框protected

Dialog

onCreateDialog(int

id){//設(shè)置通知提示private

void

setAlarm(boolean

flag){//設(shè)置提示日期對話框口private

void

showDialog1(String

msg)//時(shí)間選擇對話框private

TimePickerDialog.OnTimeSetListener

mTimeSetListener//日期選擇對話框private

DatePickerDialog.OnDateSetListener

mDateSetListener//保存或修改備忘錄信息protected

void

onPause(){}//保存或修改備忘.錄信息private

void

saveOrUpdate(){}此應(yīng)用程序的核心地帶供給了一些改變備忘錄的信息以及添加的作用。ListView,數(shù)據(jù)控件,一個(gè)數(shù)據(jù)控件,備忘錄的信息業(yè)就是經(jīng)過它來展示的。View,就是視圖,它的作用就是展現(xiàn)ListView的每一項(xiàng)。如何設(shè)立備忘錄信息,我們通常會通過單擊ListView來實(shí)現(xiàn)。TaskListActivity通過類傳輸過來的信息我們可以用中init的辦法來進(jìn)行初始化接收。第一步先使用getListView方法來得到ListView,之后LayoutInflacter是被getLayoutInflater所實(shí)例化的,再然后需要設(shè)置好ListView適配器,Calendar實(shí)例是使用Calendar里面的靜態(tài)法,也就是-getInstance去得來的,最后一步就會得到當(dāng)前的時(shí)間和日期,這就是-onCreate法。4.3.4定時(shí)提醒給用戶設(shè)置一下語音提醒或者是振動(dòng)提醒是非常有必要的,為了能更加方便提醒用戶在特定的時(shí)間內(nèi)做某一項(xiàng)工作。這項(xiàng)功能是通過定義Activity向外發(fā)出廣播,并通過BroadcastReceiver來接收廣播,最后使用Notification來提醒該用戶而起到作用的。定義提醒廣播接收器當(dāng)“開啟鬧鐘”這個(gè)選項(xiàng)被用戶所使用后,整個(gè)過程就會是先以廣播的方法去開啟一個(gè)有定時(shí)作用的鬧鐘,然后再定義廣播接收器-可以接受廣播的器具,具體的實(shí)踐方法如下所展現(xiàn)的setAlarm所示,以下是具體流程://設(shè)置通知提示

private

void

setAlarm(boolean

flag){//獲得AlarmManager實(shí)例final

AlarmManager

am

-

(AlarmManpger)

getSystemService(ALARM

SERVICE);//實(shí)例化IntentIntent

intent

=

new

Intent();//設(shè)置Intent

action屬性intent.setAction(BC_ACTION);.intent.putExtra("msg",content);//實(shí)例化PendingIntentfinal

PendingIntent

pi

-

PendingIntent.getBroadcast(getApplicationContext(),0,intent,0);//獲得系統(tǒng)時(shí)間final

long

time1

=

System.currentTimeMillis();Calendar

C-Calendar.getInstance();set(mYear,mMonth,mDay,mHour,mMinute);:long

time2

-

c.getTimeInMillis();if

(flag&&(time2-time1)>0&&on_off==1){am.set(AlarmManager.RTC_WAKEUP,time2,pi);}else{am.cance1(pi);}廣播接收器實(shí)現(xiàn)如下:public

class

TaskReceiver

extends

BroadcastReceiver{@Overridepublic

void

onReceive(Context

context,Intent

intent){Mintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setClass(context,AlarmActivity.class);context.startActivity(intent);}}顯示提醒Activity:public

class

AlarmActivity

extends

Activity{public

static

final

int

ID

=1;protected

void

onCreate(Bundle

savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.alarm);Button

btn(Button)findViewById(R.id.cancelButton01);//獲得Button、TextView實(shí)例TextView

tv

=

(TextView)findViewById(R.id.msgTextView01);String

service

=

Context.NOTIFICATION

SERVICE;//獲得Notificat

ionManager實(shí)例final

NotificationManager

nm=(NotificationManager)getSystemService(service);Notification

n

=

new

Notific

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論