




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(論文)論文題目論文題目:基于Android平臺的多功能課程表系 所: 電子工程系 專 業(yè): 電子信息工程(嵌入式系統(tǒng)工程方向) 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 導(dǎo)師職稱: 副教授 完成日期: 2014年 5月 2日 大連東軟信息學(xué)院Dalian 大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 摘要 IV基于Android平臺的多功能課程表摘 要隨著社會經(jīng)濟水平的快速發(fā)展,人們的生活節(jié)奏愈加傾向于快速高效。為了更加合理的利用有限的時間,人們對于多功能課程表的要求也越來越高,傳統(tǒng)的多功能課程表只能用來記錄課程的基本信息,不能用來添加老師的詳細信息和隨時記錄課堂筆記,也不能在指定
2、的時間對課程表的內(nèi)容進行提示,基于Android平臺的多功能課程表的設(shè)計就是為了解決這些問題。本設(shè)計旨在方便學(xué)生隨時隨地查看課程表、課堂筆記等信息,實現(xiàn)了顯示學(xué)期信息功能、課程表信息管理功能、老師信息管理功能、課堂筆記信息管理功能和鬧鐘設(shè)置功能。本論文闡述了在Android平臺下多功能課程表的設(shè)計與實現(xiàn)的過程,本系統(tǒng)是基于Java語言開發(fā)的,它主要采用了MVC軟件開發(fā)模式,使用了Android布局技術(shù)進行UI的設(shè)計。本系統(tǒng)在不同型號的設(shè)備上進行了測試,能夠?qū)崿F(xiàn)基本操作,用戶界面簡潔大方,操作簡單,功能實用。關(guān)鍵詞:Android,智能手機,嵌入式數(shù)據(jù)庫,多功能課程表Multi-function
3、 Curriculums Based on the Android PlatformAbstractWith the rapid development of socio-economic level, people increasingly tend pace of life quickly and efficiently. For a more rational use of the limited time, people multifunction curriculum requirements are also increasing, course of traditional mu
4、lti-function table can be used to record basic information courses, it cant be used to add details information about the teacher and not be used as lecture notes, in order to solve these problems, multi-function Curriculums based on the Android platform increasingly the more people know.This is desi
5、gned to facilitate students to view the curriculum, lecture notes and other information anytime or anywhere, it can achieve the semester information functions, curriculum information management functions, teacher information management function, class notes management functions and the information m
6、anagement function that alarm settings.This paper describes the design and implementation process in the Android platform, multi-functional curriculum, the system is based on Java language to development, it mainly in the MVC software development model, the UI design using the Android layout techniq
7、ues. The system on different types of devices were tested, it achieve the basic operation ,simple and elegant user interface , functional and practical. Key words: Android, Intelligent mobile phone, SQLite, Multi-functional curriculum schedule大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 目錄目錄 TOC o 1-3 h z u HYPERLINK l _Toc387
8、745021 摘 要 PAGEREF _Toc387745021 h I HYPERLINK l _Toc387745022 Abstract PAGEREF _Toc387745022 h II HYPERLINK l _Toc387745023 第1章緒 論 PAGEREF _Toc387745023 h 1 HYPERLINK l _Toc387745024 1.1課題研究背景及意義 PAGEREF _Toc387745024 h 1 HYPERLINK l _Toc387745025 1.2課題研究的現(xiàn)狀 PAGEREF _Toc387745025 h 1 HYPERLINK l _T
9、oc387745026 1.3 課題研究內(nèi)容與方法 PAGEREF _Toc387745026 h 2 HYPERLINK l _Toc387745027 第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc387745027 h 3 HYPERLINK l _Toc387745028 2.1 Activity PAGEREF _Toc387745028 h 3 HYPERLINK l _Toc387745029 2.2 數(shù)據(jù)庫 PAGEREF _Toc387745029 h 3 HYPERLINK l _Toc387745030 2.2.1 Shared Preferences PAGEREF _T
10、oc387745030 h 3 HYPERLINK l _Toc387745031 2.2.2 SQLite PAGEREF _Toc387745031 h 3 HYPERLINK l _Toc387745032 2.3 系統(tǒng)服務(wù) PAGEREF _Toc387745032 h 4 HYPERLINK l _Toc387745033 2.3.1 狀態(tài)提示信息 PAGEREF _Toc387745033 h 4 HYPERLINK l _Toc387745034 2.3.2 廣播接收器 PAGEREF _Toc387745034 h 4 HYPERLINK l _Toc387745035 2.3
11、.3 鬧鐘服務(wù) PAGEREF _Toc387745035 h 5 HYPERLINK l _Toc387745036 第3章系統(tǒng)需求分析 PAGEREF _Toc387745036 h 7 HYPERLINK l _Toc387745037 3.1 系統(tǒng)設(shè)計的目標 PAGEREF _Toc387745037 h 7 HYPERLINK l _Toc387745038 3.2 系統(tǒng)功能需求 PAGEREF _Toc387745038 h 7 HYPERLINK l _Toc387745039 3.3 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc387745039 h 8 HYPERLINK l _T
12、oc387745040 3.4 系統(tǒng)可能性分析 PAGEREF _Toc387745040 h 8 HYPERLINK l _Toc387745041 3.4.1 技術(shù)可行性 PAGEREF _Toc387745041 h 8 HYPERLINK l _Toc387745042 3.4.2 經(jīng)濟可行性 PAGEREF _Toc387745042 h 8 HYPERLINK l _Toc387745043 第4章系統(tǒng)設(shè)計 PAGEREF _Toc387745043 h 9 HYPERLINK l _Toc387745044 4.1 系統(tǒng)設(shè)計指導(dǎo)原則 PAGEREF _Toc387745044 h
13、 9 HYPERLINK l _Toc387745045 4.2 軟件設(shè)計 PAGEREF _Toc387745045 h 9 HYPERLINK l _Toc387745046 4.2.1 UI界面設(shè)計 PAGEREF _Toc387745046 h 9 HYPERLINK l _Toc387745047 4.2.2 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc387745047 h 12 HYPERLINK l _Toc387745048 4.2.3 功能模塊設(shè)計 PAGEREF _Toc387745048 h 15 HYPERLINK l _Toc387745049 第5章系統(tǒng)實現(xiàn) PAGERE
14、F _Toc387745049 h 18 HYPERLINK l _Toc387745050 5.1 環(huán)境配置 PAGEREF _Toc387745050 h 18 HYPERLINK l _Toc387745051 5.2 功能模塊實現(xiàn) PAGEREF _Toc387745051 h 18 HYPERLINK l _Toc387745052 第6章系統(tǒng)測試 PAGEREF _Toc387745052 h 25 HYPERLINK l _Toc387745053 6.1 測試概述 PAGEREF _Toc387745053 h 25 HYPERLINK l _Toc387745054 6.1.
15、1 測試簡介 PAGEREF _Toc387745054 h 25 HYPERLINK l _Toc387745055 6.1.2 測試原理 PAGEREF _Toc387745055 h 25 HYPERLINK l _Toc387745056 6.1.3 測試目標 PAGEREF _Toc387745056 h 26 HYPERLINK l _Toc387745057 6.2 測試用例 PAGEREF _Toc387745057 h 26 HYPERLINK l _Toc387745058 6.2.1 學(xué)期信息測試用例 PAGEREF _Toc387745058 h 26 HYPERLIN
16、K l _Toc387745059 6.2.2 課程表信息測試用例 PAGEREF _Toc387745059 h 26 HYPERLINK l _Toc387745060 6.2.3 老師信息測試用例 PAGEREF _Toc387745060 h 27 HYPERLINK l _Toc387745061 6.2.4 課堂筆記信息測試用例 PAGEREF _Toc387745061 h 27 HYPERLINK l _Toc387745062 6.2.5 鬧鐘設(shè)置測試用例 PAGEREF _Toc387745062 h 27 HYPERLINK l _Toc387745063 6.3 測試結(jié)
17、果 PAGEREF _Toc387745063 h 27 HYPERLINK l _Toc387745064 6.3.1 學(xué)期信息顯示結(jié)果 PAGEREF _Toc387745064 h 27 HYPERLINK l _Toc387745065 6.3.2 課程表信息顯示結(jié)果 PAGEREF _Toc387745065 h 28 HYPERLINK l _Toc387745066 6.3.3 老師信息顯示結(jié)果 PAGEREF _Toc387745066 h 28 HYPERLINK l _Toc387745067 6.3.4 課堂筆記信息顯示結(jié)果 PAGEREF _Toc387745067 h
18、 29 HYPERLINK l _Toc387745068 6.3.5 鬧鐘設(shè)置的顯示結(jié)果 PAGEREF _Toc387745068 h 29 HYPERLINK l _Toc387745069 第7章結(jié)論 PAGEREF _Toc387745069 h 31 HYPERLINK l _Toc387745070 參考文獻 PAGEREF _Toc387745070 h 32 HYPERLINK l _Toc387745071 致 謝 PAGEREF _Toc387745071 h 33大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)- 第1章緒 論1.1課題研究背景及意義隨著計算機技術(shù)的不斷進步,手機也得到
19、的一定的發(fā)展空間,它經(jīng)歷了從模擬器時代到GSM時代、2.5G時代和現(xiàn)在正在廣泛使用的3G時代以及將要到來的4G時代這么一個發(fā)展歷程。在手機硬件性能得到不斷的提升,同時支持手機操作的操作系統(tǒng)也得到了不斷地發(fā)展,從最初的單片機系統(tǒng)到后來的專用嵌入式系統(tǒng),以及目前大量使用的具有更高效率管理手機硬件資源的智能手機的操作系統(tǒng)。目前,全球廣泛使用的基于智能手機的操作系統(tǒng)有:android系統(tǒng)(Google公司開發(fā))、iPhone系統(tǒng)(蘋果公司開發(fā))、Symbian系統(tǒng)(諾基亞公司開發(fā))WindowsMobile系統(tǒng)(微軟公司開發(fā))等。其中Android系統(tǒng)是Google與2007年11月5日宣布的基于Li
20、nux平臺設(shè)計的開源智能手機操作系統(tǒng),早期由Google開發(fā),后來由開放手機設(shè)備聯(lián)盟(Open Handset Alliance)開發(fā)。這個平臺主要由四大部分組成,它們分別是操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件,采用了軟件堆層(Software stack)的架構(gòu),它是首個真正開發(fā)和完成的專門為移動設(shè)備終端創(chuàng)造的移動軟件,以C/C+(底層),Java(應(yīng)用層)作為編程語言?;贏ndroid平臺特有的開放性這一特點可以不斷的促進技術(shù)的創(chuàng)新和成本的降低,因此Android手機具有很大的開發(fā)市場。隨著手機的快速發(fā)展,智能手機在大學(xué)生的生活中扮演的越來越重要的角色。作為大學(xué)生,我們知道大學(xué)的課程種類
21、很多,同時,上課的時間地點也是不固定的,一周內(nèi)有時不會出現(xiàn)同一門課,有時同一門課要到不同的地方上課,這樣記住課程表就非常的困難?;谏厦娴膯栴},本設(shè)計實現(xiàn)的是基于Android手機的課程表,只要把課程表輸入到手機中,就可以隨時隨地的通過手機了解到上課的信息,它可以在很大的程度上方便學(xué)生的生后。1.2課題研究的現(xiàn)狀隨著智能手機的快速發(fā)展,各種應(yīng)用軟件也得到了越來越多的人的關(guān)注。目前,在安卓軟件市場中我們可以找到各種需求的軟件,課程表管理類的軟件也是隨處可見的。其中智能課程表在Android市場中占有一定的空間,甚至一些公司也開發(fā)了這一類的應(yīng)用軟件,例如:超級課程表。這款軟件得到很多學(xué)生的大力支持
22、,據(jù)了解它已經(jīng)支持全國3000多所高校,對接高校教務(wù)(選課)系統(tǒng),可以快速導(dǎo)入課表到手機中,可以快速找到周圍同學(xué)??梢娝鼮閷W(xué)生的生活帶來了相當大的方便。在大學(xué)生中,所學(xué)課程的種類繁多、上課地點的不斷變化、課程的臨時修改和添加,讓學(xué)生們疲于不斷的記憶上課的教室、地點和是否有更改。因此,對于課程表管理系統(tǒng)的開發(fā)和應(yīng)用的就需要不斷的完善。在安卓軟件市場中,所提供的這一類軟件各有千秋,總體來說,使用的人群比較單一、交互性不夠、功能單一。因此不斷的完善以上的問題就顯得尤為重要?,F(xiàn)如今的安卓應(yīng)用程序在不斷地更新,它在根據(jù)用戶的需求不斷地完善。也有越來越多的課程表在不斷地出現(xiàn)。1.3 課題研究內(nèi)容與方法基于
23、Android平臺的多功能課程表是基于Android手機平臺在Eclipse環(huán)境下開發(fā)的,用Java語言編寫完成的一款軟件。在這款軟件中包含了以下的功能:(1)課程表管理:添加課程表并對課程表進行增、修改、刪除等操作;(2)定時提醒:可以添加定時的內(nèi)容、查看定時的內(nèi)容、修改定時內(nèi)容;(3):添加老師信息:添加老師的信息、查看老師信息、修改和刪除老師信息;(4)添加筆記:可以隨時的進行筆記,并對筆記進行修改、刪除,并隨時查看筆記的內(nèi)容。在課題研究中,首先從周圍的學(xué)生進行了調(diào)查,了解學(xué)生對與多功能課程表的要求是什么;網(wǎng)絡(luò)上下載了相關(guān)的軟件,通過對它的使用了解多功能課程表的基本功能是什么;最后通過相
24、關(guān)資料的查閱來對設(shè)計進行實現(xiàn)。 大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)第2章關(guān)鍵技術(shù)介紹2.1 ActivityActivity是Android程序的呈現(xiàn)層,用來顯示可視化的用戶界面,并接受與用戶交互所產(chǎn)生的界面事件。Activity的生命周期指Activity從啟動到銷毀的過程,在這個工程中,Activity一般表現(xiàn)為四種狀態(tài),分別是活動狀態(tài)、暫停狀態(tài)、停止狀態(tài)和非活動狀態(tài)。(1)活動狀態(tài):當Activity在用戶界面中處于最上層,完全被用戶看到,能夠與用戶交互,則Activity處于交互狀態(tài)。(2)暫停狀態(tài):當Activity在界面上被部分遮擋,該Activity不再處于最上層,且不能與用戶進行
25、交互,則Activity處于暫停狀態(tài)。(3)停止狀態(tài):當Activity在界面上完全不能被用戶看到,也就是說這個Activity被其他的Activity全部遮擋,則這個Activity處于停止狀態(tài)。(4)非活動狀態(tài):不處于活動狀態(tài)、暫停狀態(tài)、停止狀態(tài)下的Activity活動就處于非活動狀態(tài)。在本項目中,我們用到多個Activity,實現(xiàn)了各個Activity之間的跳轉(zhuǎn)以及數(shù)據(jù)的傳遞,使界面活動多樣化。2.2 數(shù)據(jù)庫2.2.1 Shared PreferencesShared Preferences是在Android中用來存儲一些輕量級數(shù)據(jù)的,如:開機歡迎語、用戶名、密碼等。它位于Activit
26、y級別,它用XML文件存放數(shù)據(jù),并且將數(shù)據(jù)文件保存在目錄“/data/data/shared_prefs”下。它支持的數(shù)據(jù)類型包括:布爾型(Boolean)、浮點型(float)、整型(int)、長整型(long)和字符串(String)。Shared Preferences不僅能夠保存數(shù)據(jù),還能夠?qū)崿F(xiàn)不同應(yīng)用程序數(shù)據(jù)之間的共享。Shared Preferences它支持三種訪問模式,它們分別是:私有(MOED_PRIVATE):在這種模式下,只允許創(chuàng)建程序?qū)ζ溥M行讀取和寫入操作。全局讀(MODE_WORLD_READABLE):在這種模式下,只有創(chuàng)建程序可以對它進行讀取和寫入,其它的應(yīng)用程序
27、只能進行讀取操作。全局寫(MODE_WORLD_WRITEABLE): 在這種模式下,所有的應(yīng)用程序都只能對其進行寫入操作,不具有讀取的權(quán)利。在該應(yīng)用程序中用該方法來存儲課程表信息。2.2.2 SQLiteSQLite,它是Android自帶的關(guān)系型數(shù)據(jù)庫,它是一個基于文件的輕量級數(shù)據(jù)庫,位嵌入式設(shè)備量身打造。每個應(yīng)用程序創(chuàng)建的數(shù)據(jù)庫都是私有的,但是Content Provider可以把數(shù)據(jù)分享給其他的應(yīng)用程序。SQLite數(shù)據(jù)庫特點:更加適用于嵌入式系統(tǒng),嵌入到使用它的用用程序中;它占用非常少的空間,高效可靠的運行,具有好的可移植性;具有零配置(zero_configuration)運行模式
28、。SQLite數(shù)據(jù)庫在提高了運行效率的同時,解決了數(shù)據(jù)庫在使用和管理過程中的復(fù)雜性,因此程序在應(yīng)用數(shù)據(jù)庫時只需要對數(shù)據(jù)庫進行最基本操作就可以了,其它的操作交給進程內(nèi)部的數(shù)據(jù)庫引擎去完成。在這個程序中我用SQLite來存儲筆記的數(shù)據(jù)、老師信息的數(shù)據(jù)和提示內(nèi)容的數(shù)據(jù)。2.3 系統(tǒng)服務(wù)是一個在背景運行的進程,可移植性和活動一樣的工作,只是沒有使用界面,隨意不會在用戶互動。例如:播放背景音樂時,之所以不會打斷客戶發(fā)短信或收發(fā)電子郵件,就是因為它是一個在后臺運行 的服務(wù),所以才能讓音樂播放不會中斷。Android的服務(wù)(Services)依據(jù)適用范圍不同,可以分為以下兩種類型:本地服務(wù)(Local Se
29、rvice):使用在Android應(yīng)用程序的內(nèi)部,主要是實現(xiàn)一些應(yīng)用程序的耗時服務(wù)。例如:下載文件、播放音樂和查詢升級信息等。因為服務(wù)時在后臺運行,所以不會影響用戶操作應(yīng)用 程序,可以提升用戶經(jīng)驗,不會被一些耗時任務(wù)中斷。遠程服務(wù)(Remote Services):使用在Android操作系統(tǒng)中不同應(yīng)用程序之間的服務(wù),簡單地說,這種服務(wù)可以被應(yīng)用程序重復(fù)使用。例如:天氣預(yù)報服務(wù)、定位服務(wù)和感應(yīng)器服務(wù)等。應(yīng)用程序并不需要自行創(chuàng)建這些服務(wù),而只是使用這些遠程服務(wù)。2.3.1 狀態(tài)提示信息狀態(tài)欄(Status Bar)是移動設(shè)備最上方的一條橫向的長條區(qū)域,不同于Windows窗口的狀態(tài)欄位于最下方(
30、平板電腦Android 3.x也是位于下方的),Android 4.x 版操作系統(tǒng)的狀態(tài)欄位于最上方,“通知服務(wù)”(Notification Service)是一種系統(tǒng)服務(wù),在狀態(tài)欄顯示可向下拖動的通知,如未接來電。在狀態(tài)欄中可以顯示信息的圖標、文字、和時間,往下拖動,可以展開通知的條目列表,顯示要通過狀態(tài)欄提示的信息,并可以點擊啟動對應(yīng)的Activity。2.3.2 廣播接收器廣播器收起顧名思義是用來接收廣播并做出回應(yīng),這是Android操作系統(tǒng)層級的廣播與回應(yīng)機制。Android 系統(tǒng)本身就會常常發(fā)出廣播,例如:接到來電、收到短信、啟動相機設(shè)備、時區(qū)改變、系統(tǒng)開機、電池剩余量過低或者用戶選
31、擇偏好語言時,Android系統(tǒng)會發(fā)出廣播。廣播接收器本身并沒有任何使用界面,它是一個繼承android.content.BraodcastReceiver抽象類的子類,等接收到指定的廣播而觸發(fā)時,即在實現(xiàn)的onReceive()抽象方法()(因為是抽象方法,繼承的子類必須要實現(xiàn)此方法)回應(yīng)廣播來執(zhí)行所需要操作。Android應(yīng)用程序也可以發(fā)送自定義廣播,從一個活動到另一個活動,或完全不同的Android應(yīng)用程序。例如:使用廣播讓其他應(yīng)用程序知道已經(jīng)完成文件下載,在Java程序時使用Intent對象的sendBroadcast()方法來發(fā)送自定義廣播。因為廣播接收器本身并沒有程序進入點,在移動
32、設(shè)備安裝廣播接收器后,用戶并不能直接執(zhí)行,我們需要在活動通過Intent意圖對象發(fā)出廣播來啟動。2.3.3 鬧鐘服務(wù)在Android系統(tǒng)中,底層系統(tǒng)提供了兩種類型的時鐘,軟時鐘與硬時鐘,軟時鐘就是我們常說的Timer,硬時鐘就是RTC。系統(tǒng)在正常運行的情況下,Timer工作提供時間服務(wù)和鬧鐘提醒,而在系統(tǒng)進入睡眠狀態(tài)后,時間服務(wù)和鬧鈴提醒功能都由RTC來負責(zé)。對于上層應(yīng)用來說,我們并不需要關(guān)心是timer還是RTC為我們提供服務(wù),因為Android系統(tǒng)的Framework層把底層細節(jié)做了封裝并統(tǒng)一提供API。這個API它的名字就叫Alarm Manager。在Android系統(tǒng)中有意思的是對應(yīng)
33、Alarm Manage有一個Alarm Manager Services服務(wù)程序,該服務(wù)程序的功能是提供鬧鈴服務(wù),它主要維護應(yīng)用程序注冊下來的各種鬧鈴并適時的設(shè)置即將發(fā)生的鬧鈴信息發(fā)送給鬧鈴設(shè)備(在Android系統(tǒng)中,Linux實現(xiàn)的設(shè)備為“/dev/alarm”),并且一直監(jiān)聽鬧鈴設(shè)備,一旦有鬧鈴觸發(fā)或者是鬧鈴事件發(fā)生,Alarm Manager Service服務(wù)程序就會遍歷鬧鈴列表找到相應(yīng)的注冊鬧鈴并發(fā)出廣播。該服務(wù)程序在系統(tǒng)啟動時被系統(tǒng)服務(wù)程序System_Service啟動并初始化鬧鈴設(shè)備(/dev/alarm)。當然,在Java層的Alarm Manager Service與L
34、inux Alarm驅(qū)動程序接口之間還有一層封裝那就是JNI。Alarm Manager將應(yīng)用于服務(wù)分割開來后,使的應(yīng)用程序開發(fā)者不用關(guān)心具體的服務(wù),而是直接通過Alarm Manager來使用這種服務(wù)。這也許就是客戶/服務(wù)模式的好處吧。Alarm Manager與Alarm Manager Service之間是通過Binder來通信的,他們之間是多對一的關(guān)系。在Android系統(tǒng)中,Alarm Manage提供了3個接口5種類型的鬧鈴服務(wù)。3個API調(diào)用接口:void set(int type, long triggerAtTime, PendingIntent opration);/注冊一
35、個新的鬧鐘void serRepeating(int type,long triggerAtTime,long interval, PendingIntent operation);/注冊一個重復(fù)類型的鬧鐘void setTimeZone(String timeZone)/設(shè)置時區(qū)5種鬧鐘類型:public static final int ELAPSED_REALTIME/當系統(tǒng)進入睡眠狀態(tài)時,這種類型的鬧鐘不會喚醒系統(tǒng)。直到系統(tǒng)下次被喚醒才傳遞它,該鬧鈴所用的時間是相對時間,是從系統(tǒng)啟動后開始進行計時,它包括了休眠時間,系統(tǒng)能夠通過調(diào)用SystemClock.elapsedRealtime
36、()獲得。它的系統(tǒng)值是3。public static final int ELAPSED_REALTIME_WAKEUP/喚醒系統(tǒng),它用法同ELAPSED_REALTIME,系統(tǒng)值是2。public static final int RTC/在系統(tǒng)進入到休眠狀態(tài)時,這種類型的鬧鈴是不能喚醒系統(tǒng),直到系統(tǒng)在下次被喚醒時才能對其進行傳遞操作,這種鬧鈴所用的時間是絕對時間,它使用時間是UTC時間,能夠通過調(diào)用System.currentTimeMillis()得到。它的系統(tǒng)值為1。public static final int RTC_WAKEUP/它能喚醒系統(tǒng),用法同RTC類型,系統(tǒng)值為0。pub
37、lic static final int POWER_OFF_WAKEUP/它可以喚醒系統(tǒng),它是一種關(guān)機鬧鈴,是指設(shè)備在關(guān)機狀態(tài)下系統(tǒng)也能夠被喚醒,所以將它稱為關(guān)機鬧鈴。使用方法同RTC類型一樣。它的系統(tǒng)值為4。第3章系統(tǒng)需求分析3.1 系統(tǒng)設(shè)計的目標隨著對智能手機應(yīng)用人群的增多,智能手機的用途和功能也在不斷的豐富中?,F(xiàn)在智能手機對于用戶而言,手機不僅僅只是打電話、發(fā)短信一種與他人聯(lián)系的工具。它在人們?nèi)粘I睢蕵泛凸ぷ髦邪缪莸慕巧絹碓街匾?。對于大學(xué)生,手機陪伴他們的時間越來越多,對于各種手機軟件的應(yīng)用要求也越來越高。大學(xué)生活豐富多彩,同時也充滿了挑戰(zhàn),比如:記住課程表就是一件讓人頭疼的事,
38、這款軟件的目標就在于解決這個問題。3.2 系統(tǒng)功能需求根據(jù)需求分析的調(diào)查結(jié)果可以確定,這款軟件主要有以下功能模塊:學(xué)期信息模塊、課程表管理模塊、老師信息管理模塊、課堂筆記管理模塊和鬧鐘設(shè)置模塊。各模塊中業(yè)務(wù)模塊的描述如表3.1所示:表3.1 基于Android平臺的多功能課程表業(yè)務(wù)功能功能編號功能名稱功能描述優(yōu)先級1系統(tǒng)啟動功能通過改變圖片的明亮,從而實現(xiàn)系統(tǒng)的啟動。12學(xué)期信息設(shè)置功能通過對開學(xué)時間的設(shè)置,顯示當前的學(xué)年、學(xué)期、周數(shù)和星期。23課程表提示功能通過“設(shè)置提醒時間”按鈕設(shè)置課程表提醒時間,當設(shè)置時間(時間設(shè)置以后每隔24小時后將會再次執(zhí)行)到來時在狀態(tài)欄中會有信息提示,通過點擊提
39、示可以查看當天的課程表中課程和教室這兩條信息。34課表添加功能通過“課程表”按鈕進入課表界面以后,手動輸入該學(xué)期課程表的信息,課程表信息包括:上課時間、課程名稱、上課教室和上課老師。35課表刪除功能點擊“刪除課程表”按鈕,就可以將你要刪除的當天課程表中所有信息都刪除;也可以直接將要刪除的那一項清空,然后點擊保存,來實現(xiàn)刪除課程表中的任何一項信息。46課表修改功能找到要修改的信息所在的位置,將要修改的內(nèi)容添加到這一條信息所在的位置,然后點擊保存,這樣后添加的內(nèi)容將以前的內(nèi)容覆蓋,這樣課程表修改完成。47老師信息添加功能通過“老師信息”按鈕進入“老師信息”界面,然后再菜單項中點擊“添加”進入“老師
40、信息添加”界面,在該界面中可以添加老師姓名、辦公室、電話何老師所帶課程等信息。38老師信息刪除功能在“老師信息”界面中點擊要刪除的那一條信息,將彈出“是否刪除信息”的提示框,點擊確定將刪除該條信息。49老師信息修改功能在“老師信息”界面中點擊要修改的那一條信息,將彈出“是否修改信息”的提示框,然后點擊確定,將會把所有信息都重新顯示,然后對該條信息進行修改。4續(xù)表3.1 基于Android平臺的多功能課程表業(yè)務(wù)功能功能編號功能名稱功能描述優(yōu)先級10打電話功能從老師信息讀取老師的電話號碼,然后調(diào)動Android系統(tǒng)自身的打電話模塊來實現(xiàn)打電話功能。411課堂筆記添加功能點擊“Menu”進入筆記添加
41、界面,在該界面中可以添加標題和主要內(nèi)容,在添加完成后點擊保存,添加的信息保存成功,并且將添加的信息中的標題和添加的時間顯示在“課堂筆記”界面中。312課堂筆記查看功能在“課堂筆記”界面中不會顯示添加課堂筆記的主要內(nèi)容,通過“查看功能”就可以查看添加的課堂筆記的主要內(nèi)容。413課堂筆記修改功能在“課堂筆記”界面中,點擊要修改的那一條信息,將彈出“是否修改該條信息”的提示框,然后點擊確定,將該條信息的所有信息的重新顯示,然后對其進行修改,在修改完成后點擊保存,信息修改成功。414課堂筆記刪除功能在“課堂筆記”界面中點擊要刪除的那一條信息,將彈出“是否刪除信息”的提示框,然后點擊確定,該條信息刪除成
42、功。415發(fā)短信功能讀取課堂筆記的內(nèi)容,將課堂筆記的內(nèi)容通過短信的方式發(fā)送給你想發(fā)送的朋友。416鬧鐘添加功能通過“鬧鐘提示”按鈕進入“鬧鐘提示”界面,然后通過點擊“添加”按鈕進行鬧鐘的添加。317鬧鐘修改功能點擊“修改”按鈕,首先系統(tǒng)將給出鬧鐘是否執(zhí)行的提示信息,通過提示可以對相應(yīng)的鬧鐘進行修改操作。418鬧鐘查看功能點擊進入“查看”按鈕,就可以查看鬧鐘設(shè)置的時間、星期和備注內(nèi)容。43.3 系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)平臺:Android 4.0 平臺操作系統(tǒng):Windows 7(旗艦版)編程工具:Eclipse 3.7.0、SDK 3.7.1、ADT 15.0.03.4 系統(tǒng)可能性分析3.4.1
43、技術(shù)可行性這款軟件在技術(shù)實現(xiàn)種功能可靠,組件配合簡單,因此不需要大規(guī)模的計算和讀取數(shù)據(jù),所以對計算機的性能要求并不高,對環(huán)境的搭建沒有特殊的要求。3.4.2 經(jīng)濟可行性這款軟件是基于Android系統(tǒng)開發(fā)的,不需要其他的硬件條件,只要將軟件下載到安裝了Android系統(tǒng)的智能手機中就可以使用。第4章系統(tǒng)設(shè)計4.1 系統(tǒng)設(shè)計指導(dǎo)原則先進性本設(shè)計是基于android平臺設(shè)計開發(fā)的,可以下載到任何一款安裝了Android系統(tǒng)的智能手機,界面設(shè)計簡單大方,操作簡單,使用方便。 4.2 軟件設(shè)計4.2.1 UI界面設(shè)計通過對需求分析的閱讀,可以知道這款軟件將會有多個界面設(shè)計,通過各個界面之間的相互跳轉(zhuǎn)來
44、實現(xiàn)各個功能,下面將介紹各個界面之間的響應(yīng)關(guān)系。學(xué)期信息顯示模塊的UI界面設(shè)計在啟動軟件以后首先進入歡迎界面(如圖4.1),歡迎界面通過改變圖片背景的明暗程度通過線程進入開學(xué)信息設(shè)置界面(如圖4.2),設(shè)置好開學(xué)時間后通過“跳轉(zhuǎn)”按鈕可以在學(xué)期信息顯示界面(如圖4.3)中查看該學(xué)期的信息,在學(xué)期信息界面通過菜單項“設(shè)置課程提示”進入設(shè)置課程提示界面(如圖4.4),在該界面中設(shè)置課程提示的時間。 圖4.1歡迎界面 圖4.2開學(xué)時間設(shè)置界面 圖4.3 學(xué)期信息顯示 圖4.4 設(shè)置課程提示界面課程表管理模塊的UI界面設(shè)計通過學(xué)期信息顯示界面中的“跳轉(zhuǎn)”按鈕將進入操作界面(如圖4.5),在操作界面中主
45、要有4個按鈕,可以通過這四個按鈕進入到不同的功能模塊,例如點擊“課程表”按鈕將進入課程表管理界面(如圖4.6)。當在設(shè)置課程提示界面中設(shè)置的課程提示時間和系統(tǒng)時間一樣時將在狀態(tài)欄中顯示圖標對課程表進行提示,通過圖標提示可以進入課表提示的顯示界面(如圖4.7),可以通過課表提示的顯示界面中的“查看詳細信息”按鈕進入課表管理界面。圖4.5操作界面 圖4 .6課程表管理界面圖4.7 課表提示的顯示界面課堂筆記管理模塊的UI界面設(shè)計在操作界面中點擊“課堂筆記”按鈕將進入課堂筆記查看界面(如圖4.8),通過課堂筆記查看界面中菜單項“添加筆記”可以進入課堂筆記添加界面(如圖4.9)。圖4.8課堂筆記查看界
46、面 圖4.9 課堂筆記添加界面老師信息管理模塊的UI界面設(shè)計在操作界面中點擊“老師信息”按鈕將進入老師信息查看界面(如圖4.10),通過老師信息查看界面中菜單項“添加老師信息”可以進入課堂筆記添加界面(如圖4.11)。 圖4.10老師信息查看界面 圖4.11 老師信息添加界面鬧鐘模塊的UI界面設(shè)計在操作界面中點擊“設(shè)置鬧鐘”按鈕將進入鬧鐘信息顯示界面(如圖4.12),通過鬧鐘信息顯示界面中的按鈕“鬧鐘1”或者“鬧鐘2”可以進入鬧鐘設(shè)置界面(如圖4.13)。 圖4.12鬧鐘信息顯示界面 圖4.13 鬧鐘設(shè)置界面上面所介紹的跳轉(zhuǎn)方法是各個界面之間最直接的跳轉(zhuǎn)的方式,操作起來有一定的局限性,為了解決
47、這種問題,設(shè)計時在各個界面之間設(shè)置按鈕來進行界面之間的相互響應(yīng),使操作簡單很大程度上方便了用戶使用。4.2.2 數(shù)據(jù)庫設(shè)計軟件設(shè)計中用到兩種方法來存儲數(shù)據(jù),它們分別是用來存儲輕量級數(shù)據(jù)的SharedPreferences和數(shù)據(jù)庫SQLite。用SharedPreferences來存儲學(xué)期信息、課程表信息和鬧鐘設(shè)置中的一些信息。用SQLite來存儲老師信息和課堂筆記的信息。下面將對Shared Preferences存儲的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)做一個簡單的說明:Shared Preferences存儲數(shù)據(jù)時主要用key-value“鍵值對”的方法來存儲數(shù)據(jù),它的數(shù)據(jù)主要存儲在/data/data/
48、shared_prefs目錄下面用XML的格式來存儲數(shù)據(jù)。相對于其它一些文件XML格式的文件優(yōu)勢在于能夠快速的查找,XML格式的文件是一個只有一個根節(jié)點的樹狀存儲格式文件。在課程表的設(shè)計中用Shared Preferences主要存儲周一到周日一些與課程有關(guān)的信息。這些信息包括每天六節(jié)課的所有信息,每節(jié)課的信息又包括了上課的時間、上課的老師、上課的地點和這節(jié)課的課程名稱。由于課程表中的所有課程的信息比較多,在這里只將課程表中星期一的數(shù)據(jù)用表格顯示(如表4.1):表4.1 課程表在Shared Preferences中數(shù)據(jù)的key-value的值數(shù)據(jù)名Key-value(鍵值對)初值星期一(第一
49、節(jié)課)時間KEY_KE0010課程KEY_KE0020老師KEY_KE0030教室KEY_KE0040(第二節(jié)課)時間KEY_KE0050課程KEY_KE0060老師KEY_KE0070教室KEY_KE0080(第三節(jié)課)時間KEY_KE0090課程KEY_KE0100老師KEY_KE0110教室KEY_KE0120(第四節(jié)課)時間KEY_KE0130課程KEY_KE0140老師KEY_KE0150教室KEY_KE0160(第五節(jié)課)時間KEY_KE0170課程KEY_KE0180老師KEY_KE0190教室KEY_KE0200(第六節(jié)課)時間KEY_KE0210課程KEY_KE0220老師K
50、EY_KE0230教室KEY_KE0240在開學(xué)信息的設(shè)計中用Shared Preferences存儲了兩種數(shù)據(jù),它們分別是星期和周數(shù),這種存儲方法方便了數(shù)據(jù)的讀取和在后臺中進行的計算(如表4.2):表4.2 開學(xué)信息在Shared Preferences中數(shù)據(jù)的key-value的值數(shù)據(jù)值Key-values初值星期KEY10周數(shù)KEY20在鬧鐘信息中設(shè)置中用Shared Preferences存儲鬧鐘設(shè)置的時間、星期和備注的內(nèi)容,這種存儲方式為數(shù)據(jù)在其它的界面中的顯示提供了方便(如表4.3):表4.3 鬧鐘在Shared Preferences中數(shù)據(jù)的key-value的值數(shù)據(jù)值Key-v
51、alues初值第一個鬧鐘的參數(shù)備注KEY10星期KEY20小時KEY50分鐘KEY60第二個鬧鐘的參數(shù)備注KEY30星期KEY40小時KEY70分鐘KEY80在程序設(shè)計中用SQLite創(chuàng)建了兩個數(shù)據(jù)庫分別是database和coll,在數(shù)據(jù)庫database創(chuàng)建表diary來存儲課堂筆記的信息;在數(shù)據(jù)庫coll中創(chuàng)建表CollTb1來存儲老師相關(guān)的信息。為了用戶更加方便了解數(shù)據(jù)庫中的數(shù)據(jù),將數(shù)據(jù)庫database中的數(shù)據(jù)用圖4.15進行說明;將數(shù)據(jù)庫coll中的數(shù)據(jù)用圖4.16進行說明。圖4.14課堂筆記數(shù)據(jù)E-R圖將圖4.15課堂筆記數(shù)據(jù)E-R圖用相應(yīng)的表格來表示,如表4.4中所述: 表4.
52、4 課堂筆記數(shù)據(jù)表屬性數(shù)據(jù)類型說明_idInteger主鍵,它會自動增加titleText課堂筆記的題目bodyText課堂筆記的內(nèi)容createdText添加課堂筆記的時間圖4.15 老師信息數(shù)據(jù)E-R圖將圖4.16課堂筆記數(shù)據(jù)E-R圖用相應(yīng)的表格來表示,如表4.5中所述:表4.5 老師信息數(shù)據(jù)表屬性數(shù)據(jù)類型說明_idInteger主鍵,它會自動添加nameText老師姓名phoneText老師電話daikeText老師教的課程offerText老師的辦公室4.2.3 功能模塊設(shè)計基于Android平臺的多功高能課程表主要有設(shè)置開學(xué)時間從而顯示學(xué)期信息,課程表信息查看,記錄課堂筆記,記錄老師
53、詳細信息和設(shè)置鬧鐘的功能,所以該系統(tǒng)可以分為以下幾個模塊:學(xué)期信息模塊、課程表模塊、課堂筆記模塊、老師信息模塊和鬧鐘模塊(如圖4.16所示):.圖4.16功能模塊設(shè)計圖系統(tǒng)主要功能概述:學(xué)期信息模塊包括設(shè)置開學(xué)時間功能、顯示學(xué)年、學(xué)期、周數(shù)、星期的功能、查看關(guān)于功能和設(shè)置課程提示功能。用戶可以通過設(shè)置開學(xué)時間從而計算學(xué)年、學(xué)期、周數(shù)、星期,并且這些信息顯示出來;也可以通過menu查看有關(guān)該系統(tǒng)的一些基本信息(比如:該系統(tǒng)的開發(fā)者);還可以通過menu設(shè)置課程提示的時間,從而實現(xiàn)在特定的時間顯示課程信息。課程表管理模塊包括了課程表的添加、刪除和修改功能、記錄課堂筆記的功能和查看老師信息的功能。用
54、戶可以直接在對應(yīng)的星期界面通過相應(yīng)的按鈕對課程表進行添加、刪除和修改操作;也可以通過查看老師信息按鈕可以進入查看老師信息的界面;還可以通過menu查看課堂筆記的內(nèi)容。課堂筆記管理模塊包括添加課堂筆記、查看課堂筆記和分享課堂筆記的功能。用戶可以通“課堂筆記”按鈕進入課堂筆記查看界面,點擊menu中選項筆記進行添加筆記、查看筆記和分享筆記等操作;也可以通過選中要進行操作的筆記信息對筆記內(nèi)容進行查看和修操改的操作。老師信息管理模塊包括了添加老師的詳細信息功能、查看和修改老師信息的功能和給老師打電話功能。用戶可以通過點擊“老師信息”按鈕進入老師信息查看界面,通過點擊menu可以進行老師信息添加和打電話
55、的功能;也可以通過選定相關(guān)的老師信息對其進行修改和刪除的操作。鬧鐘模塊包括了添加鬧鐘的功能、修改鬧鐘的功能和鬧鐘延時功能。用戶可以通過點擊“鬧鐘設(shè)置”按鈕進入鬧鐘界面(只可以同時設(shè)置兩個鬧鐘),可以同點擊按鈕進入設(shè)置鬧鐘的界面,在開啟鬧鐘以設(shè)置鬧鐘的提示時間和添加備注內(nèi)容,當鬧鐘設(shè)置的時間到時,鬧鐘會自動彈出備注內(nèi)容提示框的同時通過手機震動對用戶進行提示,在這里可以直接關(guān)閉鬧鐘也可以設(shè)置延時。大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)第5章系統(tǒng)實現(xiàn)5.1 環(huán)境配置當android軟件下載安裝成功以后,先要進行系統(tǒng)環(huán)境的配置,如果在沒有配置環(huán)境的情況下使用JAVA工具,系統(tǒng)將報錯。為了正常使用JAVA工具
56、進行編譯和運行JAVA程序,我們必須對JAVA環(huán)境變量進行配置,其配置工程如下所述:通過鼠標右鍵點擊“我的電腦”,選擇“屬性”再在屬性的選項中單擊“高級系統(tǒng)設(shè)置”,將會出現(xiàn)系統(tǒng)屬性界面;在系統(tǒng)屬性界面中找到“高級”界面,點擊界面中的“環(huán)境變量”按鈕將出現(xiàn)環(huán)境變量界面;在環(huán)境變量中設(shè)計了三個變量參數(shù):1. JAVA_HOME; 2. PATH; 3. CLASSPATH.在這三個變量參數(shù)中PATH是已經(jīng)存在的,JAVA_HOME和CLASSPATH在沒有安裝JDK的情況下是不存在的,這兩個變量參數(shù)需要新建。新建的過程如下:在系統(tǒng)變量中點擊“新建”出現(xiàn)新建系統(tǒng)變量界面,這該界面中變量名文本框中輸入
57、JAVA_HOME,在變量值文本框中輸入安裝JDK的路徑,然后點擊確認;在系統(tǒng)變量中找到變量PATH點擊“編輯”,在編輯系統(tǒng)變量界面中變量值文本框中有許多字符,不要將其刪除或修改,這些字符都是用“;”來進行分割的,將JDK中bin文件的路徑加到文本框的最后面,不要忘記加“;”,然后點擊確定。完成上面三步后,要對JDK進行測試,看其是否配置成功。點擊“開始”打開cmd,在cmd中輸入java-version,出現(xiàn)圖5.1中的內(nèi)容,則表示JDK配置成功。圖5.1 JDK測試完成以上步驟后,啟動Android軟件,點擊window下preferences選項,在Preferences界面中選擇And
58、roid4. 0.3然后點擊“Apply”;接著在window中選擇AVD Manage,選擇“new”創(chuàng)建一個新的模擬器,創(chuàng)建完成以后點擊“start”,這是模擬器創(chuàng)建完成了。這時整個系統(tǒng)環(huán)境就搭配成功了。5.2 功能模塊實現(xiàn)(1)學(xué)期信息模塊實現(xiàn)在系統(tǒng)啟動后,首先進入開學(xué)時間設(shè)置界面,根據(jù)設(shè)定的時間判斷這個學(xué)期是第幾學(xué)期和學(xué)年;也可以根據(jù)設(shè)定的開學(xué)時間和當前的系統(tǒng)時間對比,計算出系統(tǒng)時間所在當天是本學(xué)期的第幾周、星期幾,最后將獲得的數(shù)據(jù)顯示在學(xué)期信息界面上;也可以在該模塊中設(shè)置課程提示,在設(shè)置了課程提示以后,系統(tǒng)將會在設(shè)置的時間與系統(tǒng)時間一樣時將當天的課表和星期在狀態(tài)欄中給出提示,這樣用戶
59、在不用啟動系統(tǒng)的情況下就可以查看當天的課表。該模塊的操作流程如圖5.2:圖5.2 學(xué)期信息模塊流程圖在該模塊中由于一學(xué)期的周數(shù)不能直接得到,要通過計算才能得到,下面是周數(shù)計算的代碼:Calendar m1 = Calendar.getInstance(); year = m1.get(Calendar.YEAR); month = m1.get(Calendar.MONTH)+1; int weeks = m1.get(Calendar.DAY_OF_WEEK); if(2month&month1?hourOfDay+:0+hourOfDay;String tempMinute=(minute
60、+).length()1?minute+:0+minute;Toast.makeText(clocknewActivity.this, 設(shè)置的時間為:+tempHour+:+tempMinute,Toast.LENGTH_SHORT).show();dt1.setText(tempHour+:+tempMinute);SharedPreferences mShared = getSharedPreferences(sSHARED_MAIN1, Context.MODE_PRIVATE); String ke5 = tempHour;String ke6 = tempMinute; Shared
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年萊蕪下載貨運從業(yè)資格證模擬考試系統(tǒng)試題
- 單位空調(diào)安裝合同范本
- 刑法中勞務(wù)合同范本
- 刊物設(shè)計制作合同范本
- 寫好運輸合同范本
- 農(nóng)戶貸款合伙經(jīng)營合同范本
- 企業(yè)重組收購合同范本
- 供熱設(shè)備買賣合同范本
- 代理銀行開戶合同范本
- 代服務(wù)合同范本
- 一至六年級下冊音樂期末試卷及答案
- 黃金太陽漆黑的黎明金手指
- 節(jié)水灌溉理論與技術(shù)
- 多介質(zhì)過濾器計算書
- 鑼鼓曲譜16762
- 三、QHLY系列——露頂式弧形門閘門液壓啟閉機
- 工商企業(yè)管理專業(yè)??飘厴I(yè)論文
- 皮帶機提升機鏈運機功率計算
- 《病毒性肝炎》課件.ppt
- 法恩莎衛(wèi)浴潔具價格表
- 干部職工《出國境管理辦法》政策解讀及工作要求PPT課件
評論
0/150
提交評論