版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)論文題 目 基于安卓的 日歷管理系統(tǒng)基于安卓的 日歷管理系統(tǒng)摘要隨著生活節(jié)奏的逐步加快,人們常會(huì)有許多的重要工作需要去安排或完成,個(gè)人的日 常工作、領(lǐng)導(dǎo)的重要會(huì)議、個(gè)人重要日期或者時(shí)間等。這些工作都需要在特定的時(shí)間給予 醒目標(biāo)識(shí)或者提示。而為了能盡可能的減少人們的負(fù)擔(dān),來更有效率的工作和更舒適的生 活。這就需要有專門的日程管理系統(tǒng)來安排這些事務(wù)。日程管理系統(tǒng)的主要功能是完成個(gè) 人一般日程和重要日程安排并提供提醒和查看的功能。如今隨著信息技術(shù)的高速發(fā)展, 已經(jīng)成為現(xiàn)代人們生活所必不可少的物品,將其 作為日程管理系統(tǒng)的平臺(tái)可以說是一個(gè)很好的選擇。而且現(xiàn)如今 安卓系統(tǒng)已經(jīng)成為一 門及其熱門的
2、技術(shù),因此我選擇將基于安卓的 日程管理系統(tǒng)作為我的畢業(yè)設(shè)計(jì)課題。本系統(tǒng)是一個(gè)基于安卓 平臺(tái)的日程管理系統(tǒng),具有基本的日程活動(dòng)的增、刪、改、 查功能,在日歷瀏覽中可突出顯示有安排的日期。用戶可根據(jù)不同的活動(dòng)設(shè)置任務(wù),便于 對(duì)日程的管理。系統(tǒng)還具備提醒程序,可幫助管理重要活動(dòng),并且實(shí)現(xiàn)與網(wǎng)絡(luò)數(shù)據(jù)同步的 功能。系統(tǒng)是基于安卓的基礎(chǔ)知識(shí)和 Java 語言,以及 SQLite 提供的數(shù)據(jù)的管理來開發(fā)的, 最終取得了較圓滿的成果。關(guān)鍵詞: 日歷管理 Java 安卓MobilePhone Schedule Management System ased On AndroidAbstractAs the pac
3、e of life has been accelerating gradually,people often have many of the important work need to 缸range or complete,personal daily work,leadership of the important meeting,personal important date or time,etc. All this work need to be in particular time to give marked logo or hints. And in order to red
4、uce the burden of the people as much as possible,tomoreef自cient work and more cornfortable life. This has to be special schedule management system to 缸range these affairs. Schedule management systems main function is to make the personal gene時(shí)schedule and important schedules and provide remind and v
5、iew function.And now,with the high speed development of information technology,the mobile phonehas become the modem people living an essential items,as a schedule management system platform can be said to be a ve巧r good choice. And now two mobile phone system,a1ready become a and its popular technol
6、ogy,so 1choose will be based on 由e mobile phone schedule management system andros as my graduation design task.his system is a result of the mobile platform based on schedule management system,have the basic agenda of activity increase and delete,change,check function,in the calendar can browse high
7、light is the date of the 缸Tangement.Users can set according to different activities task,and is convenient for the management of the schedule. The system also has the remind program can help manage 由e important activities,and rea1ize and network data synchronizationfunction.System is based on the fo
8、undation of andros knowledge and Java language,and to provide the data management SQLite to development,and fmally achieved satisfactory results.Key words: Schedule management; Java;Android目 錄摘要2Abs位act . 3 目錄4 第一章緒論 . 6課題背景 . 61.2 安卓平臺(tái)簡(jiǎn)介71.2.1 安卓平臺(tái)特色介紹.71.2.2 安卓系統(tǒng)編程語言81.3 安卓開發(fā)的現(xiàn)狀.8第二章系統(tǒng)開發(fā)環(huán)境與相關(guān)技術(shù)92.
9、1 系統(tǒng)開發(fā)的環(huán)境 . 9 系統(tǒng)開發(fā)軟件的簡(jiǎn)介92.2.1 Eclipse 的簡(jiǎn)介9 其他軟件的簡(jiǎn)介102.3 安卓環(huán)境的搭建四2.3.1 軟件下載準(zhǔn)備四2.3.2JDK 安裝.10 燦droid SDK 安裝112.3.4屆T 安裝122.3.5 創(chuàng)建 AVD口2.4 系統(tǒng)開發(fā)編程語言的簡(jiǎn)介.口 第三章系統(tǒng)需求分析及概要設(shè)計(jì)臼3.1 系統(tǒng)的需求分析臼3.2 系統(tǒng)的概要設(shè)計(jì)臼3.2.1 系統(tǒng)的功能模塊說明153.2.2 系統(tǒng)的功能模塊結(jié)構(gòu)圖臼 第四章系統(tǒng)的詳細(xì)設(shè)計(jì)四 系統(tǒng)主界麗的設(shè)計(jì)和實(shí)現(xiàn)四4.系統(tǒng)主界麗的頭部菜單欄四4.1.2 系統(tǒng)的日歷界面四4.1.2 系統(tǒng)的日歷特色顯示21 系統(tǒng)任務(wù)界面
10、的設(shè)計(jì)224.2.1 任務(wù)界面的數(shù)據(jù)庫準(zhǔn)備224.2.2 任務(wù)界面之新增界面254.2.3 任務(wù)界面之總?cè)粘探缑娉?.2.3 任務(wù)界面之單一日程界麗344.2.4 任務(wù)界面之實(shí)現(xiàn)對(duì)已有日程日期的標(biāo)記 萬4.3 系統(tǒng)設(shè)置界面到4.4 系統(tǒng)關(guān)于界面刀4.5 系統(tǒng)底部菜單項(xiàng)刀4.5.1 日歷界面使用的底部菜單項(xiàng)到4.5.2 其他界面使用的底部菜單項(xiàng)設(shè)計(jì)與實(shí)現(xiàn) 40 農(nóng)歷算法41第五章程序測(cè)試45M 安卓測(cè)試概述.455.2 功能性測(cè)試.46以上測(cè)試均為真機(jī)測(cè)試,并且有錄制詳細(xì)的操作視頻 465.3 穩(wěn)定性測(cè)試 465.4 測(cè)試結(jié)果47 結(jié)束語48 參考文獻(xiàn) 50 致謝 . 51第一章緒論 課題背景當(dāng)
11、今社會(huì)是信息社會(huì),人們無論何時(shí)、無論何地都是在與信息打交道,您閱讀的報(bào)紙 是信息、看到的廣告是信息、電視傳播的是信息、上網(wǎng)瀏覽的是信息,當(dāng)代人簡(jiǎn)直生活在 信息海洋 中。這么多的信息哪些是有用的,哪些是無用的,人們?cè)谛畔⒇S富的社會(huì)中, 難免會(huì)忘記一些重要信息,有時(shí)會(huì)掉一個(gè)尋呼機(jī),有時(shí)會(huì)掉一個(gè) 本或筆記本什么的, 這些 信息載體也許包含著重要的個(gè)人信息。如何將這些有用的信息存儲(chǔ)起來避免忘記 或丟失,如何對(duì)這些有用信息進(jìn)行有序地組織、管理以資對(duì)生活決策提供幫助,這正是信 息管理軟件要解決的問題。進(jìn)入 21 世紀(jì)以來,無所不在的計(jì)算將打破傳統(tǒng)意義上的計(jì)算機(jī)概念:使用更方便、 移動(dòng)更容易、功能更多樣化的
12、各種具有計(jì)算機(jī)功能的設(shè)備大量出現(xiàn),并且在需要時(shí),可以 隨時(shí)通過無線方式連接到移動(dòng)數(shù)據(jù)通信網(wǎng)絡(luò)中,以便高效地交換信息和獲得各種服務(wù)。這 種設(shè)備人們稱之為無限設(shè)備(Mobile Device)。移動(dòng)設(shè)備最根本的特征是移動(dòng)性,即能夠利 用無線電波、微波或紅外線等傳輸介質(zhì)允許通信中的設(shè)備在一定范圍內(nèi)自由移動(dòng),其位置 不受束縛,從而實(shí)現(xiàn)通信雙方至少有一方在移動(dòng)中進(jìn)行信息傳輸和交換的目的。移動(dòng)設(shè)備 從產(chǎn)生到現(xiàn)在的歷史并不長(zhǎng),然而其發(fā)展速度卻遠(yuǎn)遠(yuǎn)超出人們的預(yù)料。現(xiàn)如今,移動(dòng)設(shè)備大行其道,全球有超過十億部移動(dòng) 正在被使用,并且這個(gè)數(shù)目 正在逐漸增加。在除美國之外的每個(gè)發(fā)達(dá)國家,擁有 的人數(shù)比擁有計(jì)算機(jī)的人數(shù)更
13、多。而目前,隨著移動(dòng)設(shè)備越來越普及及移動(dòng)硬件的提升,移動(dòng)設(shè)備的功能越來越完善, 移動(dòng)設(shè)備的系統(tǒng) 平 臺(tái)也日漸火熱起來。目前國內(nèi)最常見的移動(dòng)開發(fā)平 臺(tái)有 Symbi鈕,iPhone,Windows Phone 以及 Android。如今國內(nèi)外都有非常多的 Android 系統(tǒng)的 用戶。自從 2011 年第一季度,Android 在全球份額首次超過 Symbian,躍居全球第一。截 止 2012 年 2 月?lián)?,Android 占據(jù)全球智能 操作系統(tǒng)市場(chǎng) 52.5%的份額,中國市場(chǎng)占有 率為 68.4%。考慮到如今 系統(tǒng)的發(fā)展現(xiàn)狀,以及 Android 平臺(tái)系統(tǒng)自身所擁有的優(yōu)勢(shì)。因此,基于安卓平臺(tái)開
14、發(fā)一款 應(yīng)用軟件具有較大的意義和可行性。1.2 安卓平臺(tái)簡(jiǎn)介Androd 一詞的本義指 機(jī)器人, 同時(shí)也是 Google 于 2007 年 11 月 5 日宣布的基于 Lnux 平臺(tái)的開源 操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟 件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放軍日完整的移動(dòng)軟件。目前,最新版本為 Androd Ice Cream Sandwch (冰激凌三明治)以及還在測(cè)試中的 Androd Jelly Bean (果凍豆。1.2.1 安卓平臺(tái)特色介紹1.開放性在優(yōu)勢(shì)方面,Android 平臺(tái)首先就是其開放性,開放的平臺(tái)允許任何移動(dòng)終端廠商加入 到 Androd
15、 聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益 豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。開發(fā)性對(duì)于 Androd 的發(fā)展而言,有利于積累 人氣,這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來講,最大的受益正是豐富的軟件資 源。開放的平臺(tái)也會(huì)帶來更大競(jìng)爭(zhēng),如此一來,消費(fèi)者將可以用更低的價(jià)位購得心儀的手 機(jī)。2.掙脫運(yùn)營商的束縛 在過去很長(zhǎng)的一段時(shí)間,特別是在歐美地區(qū), 應(yīng)用往往受到這營商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營商的控制。自從 Phone 上市,用戶可以更加方便地 連接網(wǎng)絡(luò),運(yùn)營商的制約減少。隨著 EDGE、HSDPA 這些 2G 至 3G 移動(dòng)網(wǎng)絡(luò)的逐步過
16、渡 和提升, 隨意接入網(wǎng)絡(luò)已不是運(yùn)營商口中的笑談。3.豐富的硬件選擇這一點(diǎn)還是與 Androd 平臺(tái)的開放性相關(guān),由于 Androd 的開放性,眾多的廠商會(huì)推出 千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到數(shù)據(jù)同步、甚 至軟件的兼容。好比你從諾基亞 Symban 風(fēng)格 一下改用蘋果 iPhone,同時(shí)還可將 Symban 中優(yōu)秀的軟件帶到 iPhone 上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移。4.不受任何限制的開發(fā)商Androd 平臺(tái)提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條 框框的阻擾,可想而知,會(huì)有多少新穎別致的軟件會(huì)誕生。但也有其兩面性,血腥、
17、暴力、情色方面的程序和游戲如何控制正是留給 Android 難題之一。1.2.2 安卓系統(tǒng)編程語言在的世oid 中,開發(fā)者可以使用 Java 作為編程語言來開發(fā)應(yīng)用程序,也可以通過 NDK 使用 C/C+作為編程語言來開發(fā)應(yīng)用程序,也可使用 SlAA 來使用其他各種腳本語言進(jìn)行 編程(如: python、lua,tcl、php 等等),還有其他諸如: Qt ( qt for android )、Mono ( mono for android ) 等一些著名編程框架也開始支持 Android 編程,甚至通過 MonoDroid,開發(fā)者 還可以使用 C#作為編程語言來開發(fā)應(yīng)用程序。另外,谷歌還在
18、2009 年特別發(fā)布了針對(duì)初 學(xué)者的 Android Simple 語言,該語言類似 Basic 語言。而在網(wǎng)頁編程語言方面,JavaScript, 句缸,H四fl.5,jquery、sencha、dojo、mobl、PhoneGap 等等都已經(jīng)支持 Android 開發(fā)。在 Android 系統(tǒng)底層方面,Android 使用 C/C+作為開發(fā)語言。而 Android 應(yīng)用層的開 發(fā),基本上全部是采用 Java 開發(fā)。但和我們一般互聯(lián)網(wǎng)上應(yīng)用的 JAVA 還是有些區(qū)別的。 此JAVA是 google 自己做的一套實(shí)現(xiàn)來實(shí)現(xiàn),和 SUN 的底層是不太一樣的。不過對(duì)開發(fā) 應(yīng)用區(qū)別不大。 安卓開發(fā)的
19、現(xiàn)狀目前國內(nèi)的 Android 開發(fā)壓是主要以應(yīng)用開發(fā)為主,主要分成 3 類:為企業(yè)開發(fā)應(yīng)用、 開發(fā)通用應(yīng)用(放到 Android Market 或者其他 App Market 銷售)以及游戲開發(fā)(放到 Android Market 或者其他 App Market 銷售。第一類開發(fā)者一般身處規(guī)模較大的公司,這些公司主要為自有品牌或者其他品牌設(shè)計(jì) 或者平板電腦的總體方案。除了根據(jù)需求對(duì)系統(tǒng)進(jìn)行定制外,更多的工作在于為這些 系統(tǒng)編寫定制的應(yīng)用。第二類開發(fā)者,一般處于創(chuàng)業(yè)型公司或者是獨(dú)立開發(fā)者,他們的盈利方式主要是 2 種: 為國外公司進(jìn)行外包開發(fā),或者通過 Google 的移動(dòng)廣告 ( AdMob
20、 ) 通過廣告點(diǎn)擊分成。 而理論上的通過付費(fèi)下載的形式來盈利的,現(xiàn)在國內(nèi)鮮見成功者。第三類開發(fā)者,目前和第二類開發(fā)者類似。下圖是開發(fā)者提交的應(yīng)用和游戲的數(shù)目 所占的比例圖, 從中也可以看出應(yīng)用開發(fā)數(shù)目遠(yuǎn)超游戲開發(fā)。第二章系統(tǒng)開發(fā)環(huán)境與相關(guān)技術(shù) 系統(tǒng)開發(fā)的環(huán)境Android 的上層應(yīng)用程序是用 Java 語言開發(fā),同時(shí)還需要基于 Dalvik 虛擬機(jī),所以, Google 公司推薦使用主流的 Java 繼承開發(fā)環(huán)境 Eclipse。只有 Eclipse 還不夠, 因?yàn)槭鞘?用 Java 語言進(jìn)行開發(fā), 還應(yīng)該有由 SUN 公司提供的 Java SDK(其中包括 JRE: Java Runtime
21、Env讓onment)。此外,燦的id 的應(yīng)用程序開發(fā)和 Java 開發(fā)有較大區(qū)別的,所以還 需要有 Google 提供的 Android SDK。同時(shí),還需要在 Eclipse 安裝 ADT,為Android 開發(fā) 提供開發(fā)工具的升級(jí)或者變更,是 Eclipse 下開發(fā)工具的升級(jí)下載的工具。簡(jiǎn)言之,需要 以下軟件,才能搭建 Android 開發(fā)環(huán)境,從而進(jìn)行 Android 應(yīng)用程序的開發(fā)。(1)Eclipse(2) JDK(3) Android SDK(4) ADT C Android Development Tools) 系統(tǒng)開發(fā)軟件的簡(jiǎn)介 Eclipse 的簡(jiǎn)介Eclipse 是一個(gè)開
22、放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是 一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Ec且pse 附帶了一個(gè)標(biāo) 準(zhǔn)的插件集,包括 Java 開發(fā)工具 (Java Development Kit,JDK )。雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java 集成開發(fā)環(huán)境 C IDE ) 來使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境 C Plug-in Development Environment, PDE) ,這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)
23、境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供 插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的 發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言: 例如,支持諸如 C/C+ 和 COBOL 等編程語言的插件己經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程 序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。 其他軟件的簡(jiǎn)介(l )JDKJDK(Java Development 阻t)是 Sun Microsy
24、stems 針對(duì) Java 開發(fā)員的產(chǎn)品。 自從 Java 推 出以來,JDK 已經(jīng)成為使用最廣泛的 Java SDK o JDK 是整個(gè) Java 的核心,包括了 Java 運(yùn) 行環(huán)境,Java 工具和 Java 基礎(chǔ)的類庫。JDK 是學(xué)好 Java 的第一步。而專門運(yùn)行在 x86 平 臺(tái)的 Jrocket 在服務(wù)端運(yùn)行效率也要比 Sun JDK 好很多。從 SUN 的 JDK5.0 開始提供了泛 型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。(2) Android SDKSDK: Csoftware development kit) 軟件開發(fā)工具包。被軟件開發(fā)工程師用于
25、為特定的 軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDK 指的既是 Android 專屬的軟件開發(fā)工具包。(3)ADT C Android Development Tools)目前 Android 開發(fā)所用的開發(fā)工具是 Eclipse,在 Eclipse 編譯 IDE 環(huán)境中,安裝 ADT, 為Android 開發(fā)提供開發(fā)工具的升級(jí)或者變更,簡(jiǎn)單理解為在 Eclipse 下開發(fā)工具的升級(jí)下 載工具。2.3安卓環(huán)境的搭建2.3.1 軟件下載準(zhǔn)備分別下載 JDK、Eclipse、Android SDK,并首先解壓 Eclipse 完成安裝。 安裝首
26、先按提示完成 SDK 安裝,然后設(shè)置環(huán)境變量(非必須)。1.我的電腦-屬性-高級(jí)-環(huán)境變量-系統(tǒng)變量中添加以下環(huán)境變量: 值為: E:山ndroidJava. (我所安裝 JDK 的目錄)值: .;%JAVA_HOl在E%libtools.jar;%JAVA_HOl伍%libdt.j盯;%JAVA_HOl伍%飛bin;4.Path: 在開始追加 %JAVA_H 。如伍%bin;安裝完成之后,檢查 JDK 是否安裝成功。打開 cmd 窗口,輸入 java - version 查看JDK 的版本信息。出現(xiàn)下面的畫面表示安裝成功了,如圖 2-1:iClO:;oft lI indo川9iIII橋本 5
27、.1.2600M問tMW.百iC l o:;oft C01p.):J oClll1lent:; dnd Settin :;-Jldnini:;tldtol dVd -el:; ion e 1 . 0 n .6 .2106)d l1lode.dVd(T問) SE lln I lenvonn n (bl ld 1- .dVd HotSpot(TM) C1ientM (blli1d 17.0-b16. l1lixe:;hd l iny): J OC llITlents and Sett inys -Jldlllinistlat o l 圖 2-1 安卓環(huán)境設(shè)置 DK 效果測(cè)試圖2.3.3 Andro
28、id SDK 安裝下載完成后解壓到任意路徑(我的解壓路徑為 E:Androidandroid-s-windows)運(yùn)行 SDK See,點(diǎn)擊 Available Packages。選擇希望安裝的 SDK 及其文檔或者其它包,按需點(diǎn)擊下面選項(xiàng)開始下載安裝所選包)在用戶變量中新建 PATH 值為: Android SDK 中的 tools 絕對(duì)路徑(本機(jī)為D:AndroidDevelop飛android-sd.k-windowstools)。 完成按是不是安裝成功。運(yùn)行 android - h 出現(xiàn)以下的畫面,表明安裝成功,如圖 2-2:圖 2-2 安卓環(huán)欖設(shè)置 SDK 效果測(cè)試圖 安裝打開 Ec
29、lipse,進(jìn)入菜單中的 Help - Install New Software點(diǎn)擊 Add.按鈕,彈出對(duì)話框要求輸入 Name 和 Location: Name 自己隨便取,Location輸入 l-ssl.omJandroid/eclipse。確定返回后,在 work with 后的下拉列表中選擇我們剛才添加的 ADT,點(diǎn)擊下面出現(xiàn) 的 Developer Tools,展開它會(huì)有 Android DDMS 和 Android Development Tool,勾選他們, 然后按步驟完成。完成之后:選擇 Window Preferences. 在左邊的面板選擇 Android,然后在右側(cè)點(diǎn)擊
30、 Browse.并選中 SDK 路徑,本機(jī)為: E:Androidandroid-sdk-windows 點(diǎn)擊 Apply。配置完成。2.3.5 創(chuàng)建 AVD為使 Android 應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建 AVD。1、在 Eclipse 中。選擇 Windows Android SDK and AVD Manager2、點(diǎn)擊左側(cè)面板的 Virtual Devices,再右側(cè)點(diǎn)擊 New3、填入 Name,選擇 Target 的 APL SD Card 大小任意,Skin 隨便選,Hardware 目前保持 默認(rèn)值4、點(diǎn)擊 Create AVD 即可完成創(chuàng)建 AVD綜上一切完成后安卓
31、環(huán)境搭建完成。2.4 系統(tǒng)開發(fā)編程語言的簡(jiǎn)介Java 是一種簡(jiǎn)單的,跨平臺(tái)的,面向?qū)ο蟮模植际降?,解釋的,健壯的安全的,結(jié) 構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語言。Java 編程語言的風(fēng)格十分接近 C、C+語言。Java 是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語 言,它繼承了 C+ 語言面向?qū)ο蠹夹g(shù)的核心,Java 舍棄了 C+語言中容易引起錯(cuò)誤的指 針(以引用取代、運(yùn)算符重載 (operator overloading)、多重繼承(以接口取代等特性, 增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再 為內(nèi)存管理而擔(dān)憂。在 Java SE 1.5 版本中,
32、Java 又引入了泛型編程( Generic Programming)、類型安全的枚舉、不定長(zhǎng)參數(shù)和自動(dòng)裝I拆箱等語言特性。 Java 不同于一 般的編譯執(zhí)行計(jì)算機(jī)語言和解釋執(zhí)行計(jì)算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼 (bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了一次編譯、 到處執(zhí)行的跨平臺(tái)特性。不過,每次的編譯執(zhí)行需要消耗一定的時(shí)間,這同時(shí)也在一定程 度上降低了 Java 程序的運(yùn)行效率。但在 J2SE 1.4.2 發(fā)布后,Java 的執(zhí)行速度有了大幅提 升。與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術(shù)。全球數(shù)以 萬計(jì)的
33、Java 開發(fā)公司被要求所設(shè)計(jì)的 Java 軟件必須相互兼容。Java 語言靠群體的力量 而非公司的力量是 Sun 公司的口號(hào)之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。這與微軟公 司所倡導(dǎo)的注重精英和封閉式的模式完全不同。 Sun 公司對(duì) Java 編程語言的解釋是: Java 編程語言是個(gè)簡(jiǎn)單、面向?qū)ο蟆⒎植际健⒔忉屝?、健壯、安全與系統(tǒng)無關(guān)、可移植、 高性能、多線程和動(dòng)態(tài)的語言。 Java 平臺(tái)是基于 Java 語言的平臺(tái)。Java 的特點(diǎn):1.平臺(tái)無關(guān)性平臺(tái)無關(guān)性是指 Java 能運(yùn)行于不同的平臺(tái)。Java 引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī), 實(shí)現(xiàn)不同平臺(tái)的 Java 接口之間。使用 Java 編
34、寫的程序能在世界范圍內(nèi)共享。Java 的數(shù)據(jù) 類型與機(jī)器無關(guān),Java 虛擬機(jī)(Java Virtual Machine ) 是建立在硬件和操作系統(tǒng)之上,實(shí) 現(xiàn) Java 二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺(tái)的接口的。2.安全性Java 的編程類似 C+,學(xué)習(xí)過 C+的讀者將很快掌握 Java 的精髓。Java 舍棄了 C+ 的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí) ,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒 通過指針侵入系統(tǒng)。Java 對(duì)程序提供了安全管理器,防止程序的非法訪問。3.面向?qū)ο驤ava 吸取了 C+面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,利用類的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的 簡(jiǎn)潔性和便于維護(hù)
35、性。類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯, 然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計(jì)和應(yīng)用上。Java 提供了眾多的一般對(duì)象的類,通過繼承即可使用父類的方法。在 Java 中,類的繼承關(guān)系是 單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類。Java 提供的 Object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為 Object 類,Object 類功能強(qiáng)大,經(jīng)常 會(huì)使用到它及其它派生的子類。4.分布式Java 建立在擴(kuò)展 TCPIIP 網(wǎng)絡(luò)平臺(tái)上。庫函數(shù)提供了用 盯回和 盯P 協(xié)議傳送和接受 信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文
36、件和使用本機(jī)文件一樣容易。5.健壯性Java 致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn) 的錯(cuò)誤。Java 自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java 還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋 數(shù)據(jù)的可能,這些功能特征大大提高了開發(fā) Java 應(yīng)用程序的周期。并且 Java 還提供了 Null 指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、Byte code 校驗(yàn)等功能。6解釋型我們知道 C,C+等語言,都是針對(duì) CPU 芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行 就和特定的 CPU 有關(guān)。Java 不像 C 或 C忡,它不針對(duì) CPU 芯片進(jìn)行編譯,而是把程序編 譯成稱為自字節(jié)碼的一種中間
37、代碼。字節(jié)碼是很接近機(jī)器碼的文件,可以在提供了 java 虛擬機(jī) ( JVM ) 的任何系統(tǒng)上被解釋執(zhí)行。7.動(dòng)態(tài)Java 程序的基本組成單元就是類,有些類是自己編寫的,有些是從類庫中引入的,而 類又是運(yùn)行時(shí)動(dòng)態(tài)裝載的,這就使得 Java 可以在分部環(huán)境中動(dòng)態(tài)的維護(hù)程序及分類,而不 像 C+那樣,沒檔期類庫升級(jí)以后,如果想讓程序具有新類庫提供的功能,就需要修改程 序,重新編譯。第三章 系統(tǒng)需求分析及概要設(shè)計(jì) 系統(tǒng)的需求分析該系統(tǒng)是一個(gè)基于安卓平臺(tái)的 日程管理軟件。它是為本軟件的持有者提供日程管 理方面服務(wù)的,它包括日歷的查看、日歷上日期對(duì)應(yīng)日程的查看、總?cè)粘痰牟榭?、日程?增加、曰:程的刪除、
38、日程的修改、對(duì)本軟件的設(shè)置以及軟件相關(guān)信息的查看等。本軟件有助于人們記住重要的日程并給予提醒,也有助于人們更好的調(diào)節(jié)自己的時(shí)間 來減輕生活上的一些負(fù)擔(dān),更輕松及有效的過好每一天。3.2 系統(tǒng)的概要設(shè)計(jì)3.2.1 系統(tǒng)的功能模塊說明 (1)日歷查看模塊:擁有一個(gè)完整的日歷界面,包括頭部的年月日、生肖、閏年的顯示,還有每個(gè)日期上都分別有陽歷和陰歷的日期顯示,并且日歷中包含了各個(gè)重要的節(jié) 日或紀(jì)念日等。在日歷界面上每個(gè)日期都會(huì)跳到當(dāng)前日期的日程添加界面或者是日程顯示 界面。日歷界面上還有對(duì)存在日程的標(biāo)記,有利于人們更好的管理日程。(2) 日程管理模塊:在本模塊中包括總的日程顯示頁面和日歷頁面所跳轉(zhuǎn)到
39、的日程 顯示界面或者是日程添加界面。總?cè)粘田@示界面每一個(gè)日程都會(huì)有它所包含的日期、時(shí)間、 日程類型、重復(fù)類型和日程內(nèi)容。日歷日期所對(duì)應(yīng)的日程顯示界面也是相應(yīng)的顯示。而在 日程添加界面中包含了顯示界面所對(duì)應(yīng)的各項(xiàng)數(shù)據(jù)、添加日程成功后會(huì)有對(duì)應(yīng)日歷日期的 標(biāo)記。另外也有對(duì)日程的一系列管理操作的功能。(3) 設(shè)置界面模塊:在設(shè)置中包括了對(duì)日程的類型和重復(fù)類型的默認(rèn)設(shè)置。(4) 關(guān)于界面模塊:關(guān)于界面中包含了本軟件的設(shè)計(jì)信息及一些基本信息。3.2.2 系統(tǒng)的功能模塊結(jié)構(gòu)圖 在程序設(shè)計(jì)分析的基礎(chǔ)上,結(jié)合實(shí)際情況,得出本程序的功能模塊結(jié)構(gòu)圖。在結(jié)構(gòu)圖中包括了功能模塊的表示及其中部分功能的實(shí)現(xiàn)原理。首先是一個(gè)
40、總的功能模塊的結(jié)構(gòu)圖,其中包括了系統(tǒng)設(shè)計(jì)時(shí)的總體功能概括,如圖 3-1。類型設(shè)置圖 3-1 總系統(tǒng)功能模塊然后在總體的功能模塊后面是主體功能的詳細(xì)模塊顯示。在日歷界面顯示上可分為幾個(gè)部分,詳細(xì)見圖 3-2,日期顯示 日歷顯示 陰歷顯示 節(jié)假日顯示圖 3-2 日歷顯示模塊還有就是日程的功能模塊的詳細(xì)介紹??傮w書寫了日程添加界面的功能點(diǎn),結(jié)構(gòu)圖如圖 3-3 所示,日程類型選擇重復(fù)類型選擇新建日程顯示日程時(shí)間書寫 日程內(nèi)容書寫圖 3-3 日程界面模塊第四章系統(tǒng)的詳細(xì)設(shè)計(jì) 系統(tǒng)主界面的設(shè)計(jì)和實(shí)現(xiàn)4.1.1 系統(tǒng)主界面的頭部菜單欄制作這個(gè)頭部菜單欄是為了提升軟件的可操作性,我用的是 TabHost+Ra
41、dioGroup 相結(jié) 合的方法來制作這個(gè)部分的。菜單欄的底部位置是通過 TabHost 這個(gè)布局來實(shí)現(xiàn)的,然后 是 LinearLayout 的線性布局來布置內(nèi)容。內(nèi)部的選項(xiàng)卡是通過 TabWiget 來實(shí)現(xiàn)首先建立好 Android 工程我的工程名為: ScheduleManager ),在工程下的 res/layout下建立一個(gè)名為 main 的空 xml 文件,然后在這個(gè)文件里按照思路來添加布局代碼。 主界面的菜單選項(xiàng)使用RadioGroup來建立,在這里的布局中RadioGroup里容納4個(gè)RadioButton,而RadioButton是單選按鈕。在這種情況下就只有也只能有一個(gè)Ra
42、dioButton 能被選擇,并且在開始時(shí)默認(rèn)了第一個(gè)按鈕被選中。其中RadioButton的實(shí)現(xiàn)方式是在設(shè)置 了內(nèi)部的文字,然后再按鈕的頂部上添加上圖片,實(shí)現(xiàn)的代碼如下:從上述代碼可以看到,在菜單的每個(gè)選項(xiàng)卡樣式都是調(diào)用了 style 上的 main_tab_bottom 來實(shí)現(xiàn)樣式的,而 main_tab_bottom 的背景 background 的值是drawable/btn_bg ,btn_bg 不是一個(gè)簡(jiǎn)單的背景圖片,而是一個(gè) xml 文件,通過這個(gè)文件可以實(shí)現(xiàn)菜單選項(xiàng)卡切換時(shí) 的背景切換的效果,使得這個(gè)菜單欄更加的美觀,代碼是使用了安卓的 selector 來實(shí)現(xiàn), 在這里是通過
43、不停的條件來判斷使用哪一個(gè) item 的,里面包括了幾個(gè)屬性值,如是否獲得 焦點(diǎn)、是否響應(yīng)事件、是否點(diǎn)擊三個(gè)條件。實(shí)施的代碼如下:制定完主頁面布局后,在 srclcnage.activity 下的 MainPage 文件中 OnCreate ( OnCreate 方法是用來初始化 Activity 實(shí)例對(duì)象的)中調(diào)用布局,到現(xiàn)在為止頂部菜單欄 的布局已經(jīng)基本完成,但現(xiàn)在里面所對(duì)應(yīng)的內(nèi)容還是空的。所以就需要在這里給 tabHost 中添加 tab 內(nèi)容,以第一格的 tab 為例,先是通過Intent 的方式新建個(gè) mDate,用來實(shí)現(xiàn)頁 面的跳轉(zhuǎn)的方法,然后動(dòng)態(tài)用 tabHost 來通過 add
44、Tab 的方法添加對(duì)應(yīng) TabSpec 的值和各個(gè) 屬性。最后在添加RadioGroup的選擇操作函數(shù),這里是通過switch來完成對(duì)應(yīng)按鈕的功能的實(shí) 現(xiàn),在每個(gè)case項(xiàng)中通過tabHost.setCurrentTabByTag來給與特定的值實(shí)現(xiàn)頁面上的跳轉(zhuǎn)。 最終的效果如圖 4-1:圖4.1.2 系統(tǒng)的日歷界面 系統(tǒng)主界面默認(rèn)選擇日歷界面在頭部菜單欄下方。(1) 首先是建立一個(gè)布局文件,上面一部分是顯示年月日、生肖和農(nóng)歷的干支紀(jì)年。 使用的是一個(gè) TextView 類,對(duì)應(yīng)的在日歷的 CalendarActivi叩文件中加入函數(shù)來添加頭部 的年份等信息。首先需要寫了一個(gè) CalendarV
45、iew 類,這是為日歷顯示所寫的一個(gè)類,在其中使用重載 的方法定義了幾個(gè)不同參數(shù)的 CalendarView,用于不同的情況。在 CalendarActivity 中實(shí)例化 CalendarView 并且使用 CalendarView 中的一個(gè)方法 Calend缸View(this,getResourcesO,jumpMonth扣mpYear,year_c,month_c,day_c);然后書寫方 法來添加頭部的年份閏哪月等信息。首先是對(duì)這個(gè)頁面的頭部進(jìn)行布局,通過動(dòng)態(tài)化的方法來完成。 然后建立一個(gè)可以進(jìn)行改變值的 StringBuffer 類型的參數(shù) textDate。對(duì)這個(gè)參數(shù)進(jìn)行 app
46、end 操作,添加例如年月日的知道參數(shù)里。其中有一個(gè)閏年判斷的條件函數(shù),是通 過 calV.getLeapMonthO的值驚醒判斷的。完成后對(duì)界面使用 setText 方法來賦值到界面上。最后是對(duì)界面的一些美化,同樣使用動(dòng)態(tài)布局模式進(jìn)行。(2) 下面是日歷界面中主體日期部分顯示的完成在 CalendarActivity 文件初始化實(shí)例對(duì)象時(shí)加入動(dòng)態(tài)添加布局文件的方法。我將此方法命名為 addGridView。在這個(gè)方法中同樣是先進(jìn)行動(dòng)態(tài)化布局,由于這里 用的是白idView,這個(gè) GridView 應(yīng)用于將一系列的空間組織成二維網(wǎng)格的形式顯示出來, 所以適用于我在這里進(jìn)行的日期界面的建立。同樣
47、的首先是動(dòng)態(tài)化布局的建立,這可以實(shí)例化 idView 為 gridView 參數(shù)進(jìn)行的。 在這里需要添加 GridView 控件的列為 7,列寬為 46。并且壓力日上判斷屏幕大小的條件,這 需要加入取得屏幕大小的對(duì)應(yīng)函數(shù),這里如果是 800*480 屏幕的話,就將列寬設(shè)置為 69。 然后進(jìn)行設(shè)置水平和豎直的問距、取值邊框、設(shè)置居中等操作。在這個(gè)方法里面還需加入個(gè) OnTouch 方法,用來將 gridView 中的觸模事件回傳給gestureDetector,進(jìn)行下面的觸摸操作,即:/將gridview中的觸摸事件回傳給gestureDetectorOverridepublic boolean
48、 onTouch(View v,MotionEvent event) return Ca lendarActivity .this.gestureDetector.onTouchEvent(event) ;創(chuàng)建完日歷的布局后,是在里面添加上具體的日期。就當(dāng)前顯示的頁面來說,是建立 幾個(gè)對(duì)應(yīng)的參數(shù),用來顯示或傳接數(shù)據(jù)。例如在函數(shù)開始時(shí)就String dayNumber = new String49; 這是作為對(duì)GridView控件內(nèi)進(jìn)行標(biāo)記序列的,用于下面條件語句的判斷等,還 有就是界面內(nèi)的一些控件名的實(shí)例化。 然后是動(dòng)態(tài)化的對(duì)頁面進(jìn)行屬性值的設(shè)置。其中在對(duì)日期中的第一行,即周一等值的這行,設(shè)置
49、字的顏色及背景圖。得出這行的 位置就需要通過對(duì)參數(shù)position (對(duì)應(yīng)編號(hào))進(jìn)行判斷是否在7以內(nèi)。下一步是當(dāng)前月信息的顯示,這也需要條件函數(shù)來判斷是否為當(dāng)前月,也是來判斷參 數(shù)position是否在范圍內(nèi)。在這個(gè)月中還需對(duì)當(dāng)天來一個(gè)特殊化,即設(shè)置當(dāng)天日期的背景為 圖片current_day_bgc,字色為白。在這些操作外,還需要得到一些數(shù)值來用于日期數(shù)據(jù)的插入,在這里建立了個(gè) getCalendar方法,如判斷是否為閏年的函數(shù)返回值isLeapyear,某月的總天數(shù),某月的第一 天是星期兒,上個(gè)月總天數(shù)。在這方法中再執(zhí)行方法getweek,用來得出以后需要標(biāo)記的日 期,這個(gè)在后面來介紹。通
50、過上述的步驟基本完成了日歷界面中的初步建設(shè)。(3) 由于日歷菜單需要能通過手勢(shì)觸摸來進(jìn)行翻頁,所以要在總體布局下建立一個(gè)ViewFlipper 類,這個(gè)類是用來實(shí)現(xiàn)屏幕的切換效果的。先是在布局中建立這個(gè)類,然后實(shí) 例化手勢(shì) gestureDetector 并取得布局中 ViewFlipper 用于下面的調(diào)用。 然后是書寫書寫手勢(shì)的各個(gè)方法,最主要的是onFling的方法,在這里實(shí)現(xiàn)了頁面的向左及 向右滑動(dòng)的操作,這個(gè)操作是由條件語句來實(shí)現(xiàn)的,由滑動(dòng)兩點(diǎn)的X坐標(biāo)的值進(jìn)行差值計(jì) 算,如果是起點(diǎn)減去重點(diǎn)大于120時(shí)著向左滑動(dòng),反之則向右滑動(dòng)。在滑動(dòng)操作開始,并 且己切換一面后就需要載入新的一張日歷頁
51、面,這里又會(huì)用到參數(shù)calV,當(dāng)向左滑動(dòng)時(shí)則 將參數(shù)calV所代表的函數(shù)CalendarView里的jumpMonth加1,代表下一個(gè)月: 當(dāng)向右滑動(dòng)時(shí) 則將參數(shù)calV所代表的函數(shù)CalendarView里的jumpMonth減1,代表上一個(gè)月。為了完整性 剩余的手勢(shì)函數(shù)只是寫了方法未使用。4.l.2 系統(tǒng)的日歷特色顯示 在日歷的顯示中除了一些基本的日期顯示,在日期頁面頭部有每年相應(yīng)的生肖和閏年顯示,在日期上有每日的陰歷以及節(jié)假日的顯示。 這里有兩個(gè)方法,分別是 LunarCalendar 和 SpecialCalendar。在 LunarCalendar 里面包括干支紀(jì)年,陰歷,生肖,節(jié)假
52、日等信息。 例如生肖則是建立一個(gè)字節(jié)數(shù)組來記錄十二生肖,并且用函數(shù)來傳回參數(shù)對(duì)應(yīng)的生肖。final public String anima lsYear( int year) final String) Animals = new String 鼠,牛,虎,兔,龍,蛇 ,馬,羊,猴,雞,狗,豬);return Animals(year - 4) 屯 12) ;同樣的其他信息,如節(jié)假日的名稱,也是通過字節(jié)數(shù)組來儲(chǔ)存的。在 SpecialCalendar 是閏年的判斷函數(shù),每月天數(shù),以及對(duì)每月的第一天星期的判斷。 閏年通過傳回年值通過函數(shù)進(jìn)行判斷,并傳回布爾值。每月的天數(shù)用 switch 進(jìn)行判斷
53、賦值給月份天數(shù)的參數(shù)。 對(duì)每月的第一天為星期幾的判斷并指定。/指定某年中的某月的第一天是星期幾public int getWeekdayOfMont h ( int year ,int mon th) Calendar cal = Cal endar . getInstance() ;cal . set ( year ,month-1,1) ;dayOfWeek = cal. get(Calendar .DAY_ O已WEEK)-1;return dayOfWeek ;最終的效果如圖4-2:E茵茵回震理白雪1m胃理囂罩回喃自罩扭帽囚2014軍3月閏9月馬軍(串午軍)周曰周一 周二周 周四周五周
54、六2324 2526271二月23456初二初三初四初五初六78布1乞 因Il.主E寶安守E+-9 101 1 12 1315圄;肖戳在權(quán) 初11.初十 組樹節(jié)十三 十四 益曰飛1617 18202122+六+t;+八世十 甘一1才二23242526 I272829廿三甘囚1才五甘t甘J 飛1才11.3031卅-卡三月今天 曰m 民色圖 4-2 日歷界面的最終實(shí)現(xiàn)圖4.2 系統(tǒng)任務(wù)界面的設(shè)計(jì)任務(wù)界面包括任務(wù)主界面(所有日程的顯示)和對(duì)應(yīng)日期任務(wù)的顯示,任務(wù)的添加等。 在任務(wù)界面涉及到日程的數(shù)據(jù)存儲(chǔ),所以先介紹下關(guān)于日程的數(shù)據(jù)存儲(chǔ)以及有日程的日期存儲(chǔ)(為日歷界面的標(biāo)記服務(wù)。4.2.1 任務(wù)界面的
55、數(shù)據(jù)庫準(zhǔn)備 (1)數(shù)據(jù)庫里表的建立分別建立了 schedule 表日程的表)和 scheduletagdate (標(biāo)記日期所需的表)Android 提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫創(chuàng)建方式。建立 DBOpenHelper 類繼承到 SQLiteOpenHelper , 實(shí)現(xiàn) onCreate 和 onUpgrade 兩個(gè)方法。OnCreate 方法是用于初次使用軟件時(shí)生成數(shù)據(jù)庫,onUpgrade 方法是用于升級(jí)軟件時(shí)更新數(shù)據(jù)庫表結(jié)構(gòu)。首先是 schedule 表的建立,在這個(gè)表中包括日程 D、日程類型的 D、日程重復(fù)類型 的 B、日程正文內(nèi)容、日程日程時(shí)間這兒個(gè)參數(shù)。建立時(shí)對(duì)應(yīng)需要寫上參數(shù)名、參數(shù)類型、
56、主鍵等。db .execSQL ( CREATE TABLE IF NOT EXISTS schedule (schedu leID in t eger primary key autoincrement ,scheduleTypeID integer ,remindID integer ,scheduleContenttext ,scheduleDate text) ) ;下面是scheduletagdate表的建立,在這個(gè)表中包括標(biāo)記的D、年信息、月信息、日信息、 日程E這幾個(gè)參數(shù)。db .execSQL( CREATE TABLE IF NOT EXISTS scheduletagdat
57、e(tagID integer primary key autoincremen t ,year i口teger ,month integer ,day integer ,schedu leIDinteger) ) ;建立完表后是繼續(xù)寫入 onUpgrade 方法,這個(gè)方法會(huì)在數(shù)據(jù)庫升級(jí)時(shí)被觸發(fā),以便于 軟件升級(jí)時(shí)更新表結(jié)構(gòu)。public void onUpgrade(SQLit eDa tabase db ,int oldVersion ,int newVersion)db .execSQL( DROP TABLE IF EXISTS schedule ) ;db .execSQL( DRO
58、P TABLE IF EXISTS scheduletagdate ) ;onCreate(db);(2) 再分別建立ScheduleVO 和ScheduleDateTag ,里面分別寫了表里面各個(gè)數(shù)據(jù)的get ( 表 示獲取某個(gè)變量值)和set (表示設(shè)置某個(gè)變量值)方法,以便于調(diào)用。(3) 建立ScheduleDAO文件,這個(gè)文件是用來寫數(shù)據(jù)庫的查找、刪除等方法。首先是需要實(shí)例化DBOpenHelper用于數(shù)據(jù)庫數(shù)據(jù)的get與set 。private DBOpenHe lper dbOpenHelper = null;public Schedu leDAO(Context con t ex
59、 t ) dbOpenHelper = new DBOpenHelper(con tex t ,schedules . db );下面就是對(duì)表中數(shù)據(jù)的操作了,包括了保存日程信息、查詢某一條日程信息、查詢所 有的信息、刪除日程、將日程標(biāo)記的日期保存到數(shù)據(jù)庫中。(1) 保存日程信息,先是從日程添加頁面里獲取日程類型的D、日程重復(fù)類型的D、 日程正文內(nèi)容、日程日程時(shí)間這幾個(gè)參數(shù),然后是使用ContentValues類這個(gè)類是一個(gè)鍵值對(duì),是用來存儲(chǔ)名值對(duì),它的名一般是String類型,而值都是基本類型來new一個(gè)參數(shù),用這個(gè)參數(shù)的put方法將這些個(gè)參數(shù)放入到數(shù)據(jù)庫中。values .put( sche
60、duleType1D,scheduleVO .getSchedu leType1D() ;/放入日程類型工 Dvalues .put( r emind1D ,scheduleVO .getRemind1D (); /放入重復(fù)類型1Dvalues .put( scheduleCon t en t ,scheduleVO . getSchedu leContent() ;/放入日程正文內(nèi)容values .put ( schedu leDate ,scheduleVO .getScheduleDa te () ) ;/放入日程日期信息最后調(diào)用添加方法inse此。db . insert ( sched
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年藥品送貨員職責(zé)合同
- 2024年簡(jiǎn)化版機(jī)頂盒服務(wù)協(xié)議標(biāo)準(zhǔn)文本一
- 2024年租賃期滿續(xù)約合同內(nèi)容詳解
- 2024年電氣維修服務(wù)合同3篇
- 2024年股東會(huì)決議合同
- 2024年資金協(xié)調(diào)借款協(xié)議
- 2024年突發(fā)事件新聞發(fā)布與輿論引導(dǎo)合同
- 2024年度二手鋼材銷售與售后服務(wù)一體化合同范本3篇
- 2024影視作品版權(quán)購買與分成合同
- 2024年環(huán)保型門面房租賃及運(yùn)營管理合同3篇
- 醫(yī)學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)智慧樹知到期末考試答案2024年
- 大學(xué)生國家安全教育智慧樹知到期末考試答案2024年
- 連退生產(chǎn)過程操作優(yōu)化-質(zhì)量預(yù)報(bào)監(jiān)測(cè)及診斷
- 梅毒專題知識(shí)培訓(xùn)
- 小說閱讀抓住矛盾沖突參考資料課件
- 簡(jiǎn)約企業(yè)報(bào)刊報(bào)紙?jiān)O(shè)計(jì)排版word模板
- 矛盾糾紛排查化解登記表
- 大班科學(xué)活動(dòng) 有害的噪音
- 建筑施工成品保護(hù)措施
- 魚骨圖PPT模板精品教案0002
- 冠狀動(dòng)脈造影基本知識(shí)-
評(píng)論
0/150
提交評(píng)論