




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄目錄摘摘要要 IIIIIIABSTRACTABSTRACTIVIV引言引言 1 11 1緒論緒論 2 21.1課題研究背景 21.2研究目的與意義 21.3課題容 22 2相關(guān)技術(shù)分析相關(guān)技術(shù)分析 4 42.1了解智能手機 42.1.1智能手機的定義 42.1.2智能手機的特點 42.1.3主流智能手機系統(tǒng) 52.2了解ANDROID62.2.1 android 產(chǎn)生的背景 62.2.2android 的發(fā)展 72.3ANDROID的特點 72.4ANDROID 系統(tǒng)工作原理 72.4.1Android 的系統(tǒng)架構(gòu) 82.4.2Android 的程序結(jié)構(gòu) 92.4.3工作機制 112.4.
2、4開發(fā)環(huán)境 132.4.5 Android 源代碼結(jié)構(gòu) 132.4.6Android 的編譯 133 3基于基于 ANDROIDANDROID 的實驗室課程管理系統(tǒng)的實驗室課程管理系統(tǒng)- -預(yù)約子系統(tǒng)的需求分析預(yù)約子系統(tǒng)的需求分析 15153.1功能需求分析 153.1.1用戶登錄驗證功能分析 153.1.2實驗室預(yù)約信息功能分析 153.1.3實驗室預(yù)約功能分析 164 4基于基于 ANDROIDANDROID 的實驗室課程管理系統(tǒng)的實驗室課程管理系統(tǒng)- -預(yù)約子系統(tǒng)的設(shè)計與測試預(yù)約子系統(tǒng)的設(shè)計與測試 18184.1開發(fā)環(huán)境的搭建 184.1.1安裝 Android SDK 和 Basic4
3、android184.2核心模塊的實現(xiàn) 234.2.1登錄模塊 234.2.2預(yù)約信息模塊 244.2.3實驗室課程預(yù)約模塊 254.3測試應(yīng)用 25 / 354.3.1用戶登錄界面的實現(xiàn) 254.3.2預(yù)約信息模塊界面的實現(xiàn) 264.3.3實驗室課程預(yù)約模塊的實現(xiàn) 275 5總結(jié)與展望總結(jié)與展望 2929致致 3030參考文獻(xiàn)參考文獻(xiàn) 3131II / 35摘要摘要進(jìn)入 3G 時代以來,無線互聯(lián)網(wǎng)通信技術(shù)和智能終端的高速發(fā)展給人們的生活和工作帶來了很大的便利,使得智能手機等移動設(shè)備很快的融入了人們的生活。校園作為教育的前沿陣地,為了適應(yīng)快節(jié)奏生活,讓學(xué)生和老師能方便的預(yù)約實驗室。那么利用手機
4、這一普遍的移動終端進(jìn)行實驗室課程預(yù)約這一問題的研究就具有深刻的現(xiàn)實意義與廣泛的應(yīng)用價值。本系統(tǒng)是基于 android 平臺,以 Basic4android 為開發(fā)平臺,建立一個學(xué)生或老師可以通過移動終端進(jìn)行實驗室課程預(yù)約的服務(wù)系統(tǒng)。它主要由三個模塊組成:用戶登錄模塊、預(yù)約信息模塊、預(yù)約實驗室課程模塊。該應(yīng)用將可以實現(xiàn)學(xué)生快速預(yù)約實驗室,減少管理員的工作量和出錯率。關(guān)鍵字:Basic4android;Android 平臺;實驗室預(yù)約系統(tǒng);III / 35A ABSTRACTBSTRACTInto the 3G era,Wireless Internet communications techno
5、logy and the rapid development of intelligent terminals to peoples life and work has brought great convenience,Making smart phones and other mobile devices quickly integrated into peoples lives.Forefront of the campus as an educational,In order to adapt to the fast-paced life,So that students and te
6、achers can easily bookings laboratory.So take advantage of this universal mobile phone terminal for laboratory research program reservation on this issue has profound practical significance and wide application value.The system is based on android platform,As a development platform to Basic4android,
7、Establish a student or teacher can conduct laboratory courses through the mobile terminal reservation service systems.It mainly consists of three modules:User login module, booking information module, booking laboratory course modules.The application will be achieved rapid appointment laboratory stu
8、dents,Reducing administrator workload and errors appointment.Keyword:Basic4android;Android platform;Lab Reservation Syst0 / 35引言引言隨著 3G 的到來,無線寬帶越來越高,使得更多容豐富的應(yīng)用程序裝入手機成為可能,視頻通話,視頻點播等。為了承載這些數(shù)據(jù)應(yīng)用即快速部署,手機功能越來越智能,越來越開放。在 Google 發(fā)起的開放手機聯(lián)盟(Open Handest Alliance,OHA)的大力推動下,一個時尚、熱門、免費并開源的移動平臺 Android正在飛速發(fā)展。Ba
9、sic4android 是一個簡單但功能強大的 android 應(yīng)用開發(fā)環(huán)境。Basic4android 語言跟 Visual Basic 予以類似,支持更多的對象。Basic4android 將代碼編譯成 Android 原生應(yīng)用,無需其他運行環(huán)境的支持。該工具完全為了 Android 應(yīng)用開發(fā),不支持其他平臺。本課題是開發(fā)基于 android 的實驗室課程管理系統(tǒng)預(yù)約子系統(tǒng),以Basic4android 為開發(fā)平臺。、1 / 351 1 緒論緒論1.11.1課題研究背景課題研究背景智能手機在各個層次、各種年齡、各種職業(yè)的人群中越來越普與,它已經(jīng)延伸到人們?nèi)粘I钪械母鞣N方面,如:聊天、購物
10、、信息查詢和娛樂活動。目前,智能終端的種類很多,主要有 3G 智能終端、數(shù)字會議桌面智能終端、家居智能終端等。其中,3G 智能終端是一個三網(wǎng)合一的產(chǎn)品,以手機為主流產(chǎn)品,用戶希望能夠通過手機實現(xiàn)互聯(lián)網(wǎng)操作、電信運營商業(yè)務(wù)操作、PC 計算操作;數(shù)字會議桌面智能終端主要是公司用于信息交流,要求移動便攜性較強、智能家居希望能夠通過網(wǎng)絡(luò)實現(xiàn)對日常家電的管理。在智能手機中 android 操作系統(tǒng)占據(jù)著 76%的市場份額,在中國更是達(dá)到 90%。這些應(yīng)用程序為人們?nèi)粘I顜砹撕艽蟮姆奖恪?.21.2研究目的與意義研究目的與意義隨著智能機的發(fā)展,部分高校已經(jīng)開始開發(fā)出了手機應(yīng)用服務(wù)系統(tǒng),如:圖書館信息查
11、詢系統(tǒng),教務(wù)管理系統(tǒng)等。學(xué)生通過手機可以隨時隨地去查詢信息。同樣實驗課作為大學(xué)最重要的課程之一,能夠讓學(xué)生方便、快速的預(yù)約實驗室也是一件需要解決的問題。傳統(tǒng)的實驗室預(yù)約主要方式是:學(xué)生先去實驗室找管理員,管理員要先在實驗室預(yù)約或者電腦上的預(yù)約文檔了查找,看是不是該實驗室在這個時間段已經(jīng)被預(yù)約,然后在作處理,后面繼續(xù)預(yù)約又要重復(fù)之前的程序。這樣人工查詢、記錄,不但浪費時間,而且很容易出錯。這樣既浪費人力有浪費資源,無形中會增加很多成本,更有可能造成教學(xué)事故。和傳統(tǒng)的實驗室預(yù)約方式相比,基于android 的實驗室課程管理系統(tǒng)預(yù)約子系統(tǒng)有很多優(yōu)勢,具體表現(xiàn)在以下幾個方面:(1)節(jié)省了時間:學(xué)生在預(yù)
12、約實驗室時不用再去實驗室找管理員,可由學(xué)生一人完成。(2)提高了工作效率:管理員也不用重復(fù)查詢、記錄的繁瑣程序,學(xué)生預(yù)約系統(tǒng)會自動處理。(3)出錯率降低:傳統(tǒng)的實驗室預(yù)約方法由于是人工處理,而且管理員每天要重復(fù)處理程序,很容易疲倦結(jié)果會出現(xiàn)沒預(yù)約到,或者重復(fù)預(yù)約。以上三點優(yōu)勢充分體現(xiàn)了開發(fā)基于 android 的實驗室課程管理系統(tǒng)預(yù)約子系統(tǒng)的必要性。1.31.3課題容課題容2 / 35本課題從基于 android 的實驗室課程管理系統(tǒng)預(yù)約子系統(tǒng)出發(fā),以調(diào)研Android 應(yīng)用開發(fā)現(xiàn)狀和學(xué)習(xí) Basic4android 應(yīng)用開發(fā)平臺相關(guān)知識為基礎(chǔ),充分分析 Android 應(yīng)用開發(fā)的必要性,確定
13、該預(yù)約系統(tǒng)應(yīng)具備的功能需求。綜合以上容,本課題主要研究的容如下:(1)調(diào)研現(xiàn)有智能手機系統(tǒng),以與現(xiàn)在高校實驗室預(yù)約的弊端,提出研究本課題的意義。(2)確定預(yù)約系統(tǒng)的需求,對數(shù)據(jù)庫的訪問進(jìn)行設(shè)計。(3)完成基于 android 的實驗室課程管理系統(tǒng)預(yù)約子系統(tǒng)客戶端的需求和功能的設(shè)計和實現(xiàn)。2 2相關(guān)技術(shù)分析相關(guān)技術(shù)分析3 / 352.12.1了解智能手機了解智能手機2.1.12.1.1智能手機的定義智能手機的定義智能手機(SmartPhone),是指,像個人電腦一樣,具有獨立的操作系統(tǒng),可以由用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序,通過此類程序來不斷對手機的功能進(jìn)行擴充,并可以通過移動通
14、訊網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入的這樣一類手機的總稱。簡單的說,智能手機就是一部像電腦一樣可以通過下載和安裝軟件來拓展其功能的手機智能手機可以是傳統(tǒng)的手機增加智能功能,例如塞班操作系統(tǒng)的 S60系列,Windows Mobile 操作系統(tǒng)的 Windows Mobile Smartphone 系列;也可以是傳統(tǒng)的 PDA 加上手機通信,例如 Windows Mobile 操作系統(tǒng)的 Windows Mobile Pocket PCPhone 系列,Palm 操作系統(tǒng)的 Treo 系列,也可以是其他獨立的類型,例如Symbian 操作系統(tǒng)的 S80.UIQ,以與一些 Linux 操作系統(tǒng)的智能手機。然而
15、,就近來的發(fā)展來看,這些智能手機的類型有相融合的趨勢。智能手機(SmartPhone) ,這個說法主要是針對,功能手機(FeaturePhone) ,而來的,本來并不意味著這個手機有多智能(Smart) ,從另一個角度來講,所謂的智能手機(SmartPhone) , 就是一臺可以隨意安裝卸載應(yīng)用軟件的手機(就像電腦那樣) 。功能手機(FeaturePhone)是不能隨意安裝和卸載軟件的,Java 的出現(xiàn)使后來的,功能手機(FeaturePhone)具備了安裝 Java 應(yīng)用程序的功能,但 Java 程序的操作友好性運行效率以與對系統(tǒng)資源的操作都比,智能手機(SmartPhone)差很多。2.1
16、.22.1.2智能手機的特點智能手機的特點智能手機的主要特點如下:(1)具有普通手機的全部功能,能夠進(jìn)行正常的通話,短信等的應(yīng)用。(2)具有無線接入互聯(lián)網(wǎng)的能力,即需要支持 GSM 網(wǎng)絡(luò)下的 GPRS 或者 CDMA 網(wǎng)絡(luò)下的 CDMA 1X 或者 3G 網(wǎng)絡(luò)。(3)具有 PDA 的功能,如 PIM(個人信息管理) ,日程記事,任務(wù)安排,多媒體應(yīng)用以與瀏覽網(wǎng)頁等。(4)具有一個具有開放性的操作系統(tǒng),在這個操作系統(tǒng)平臺上,可以安裝更多的應(yīng)用程序從而使智能手機的功能可以得到補充。2.1.32.1.3主流智能手機系統(tǒng)主流智能手機系統(tǒng)4 / 351Symbian:Symbian OS(中文譯音,塞班系
17、統(tǒng))Symbian 是由諾基亞索尼愛立信、摩托羅拉西門子等幾家大型移動通訊設(shè)備商共同出資組建的一個合資公司專門研發(fā)手機操作系統(tǒng)現(xiàn)已被諾基亞全資收購。Symbian 很想 Windows 和 Linux 的結(jié)合體,有著良好的開發(fā)界面,采用核與界面分離技術(shù),對硬件的支持比較低,支持C+,VB 和 J2ME,兼容性較差。目前根據(jù)人機界面的不同 Symbian 體系的用戶界面(User Interface,UI)平臺分為 Series 60、Series 80、Series 90、UIQ 等。Series 60 主要是為數(shù)字鍵盤手機而設(shè)計 Series 80 是為完整鍵盤而設(shè)計 Series 90是為
18、觸控筆而設(shè)計。2Windows PhoneWindows Phone 是微軟發(fā)布的一款手機操作系統(tǒng),它是微軟旗下的 Xbox Live游戲,Zune 音樂與獨特的視頻體驗整合至手機中。2010 年 10 月 11 日晚上 9 點 30分,微軟公司正式發(fā)布了智能手機操作系統(tǒng) Windows Phone。2011 年二月,微軟與諾基亞達(dá)成全球戰(zhàn)略同盟并深度合作共同研發(fā)。2012 年 3 月 21 日,Windows Phone 7.5 登陸中國。6 月 21 日,微軟正式發(fā)布最新手機操作系統(tǒng) Windows Phone 8,Windows Phone 8 將采用和 Windows 8 一樣的核。W
19、indows Phone 具有桌面定制,圖標(biāo)拖拽,滑動控制等一系列前衛(wèi)操作體驗。其主屏幕通過提供類似儀表盤的體驗來顯示電子,短信,來電顯示,日歷約會等,讓人們對重要信息保持時刻更新。它還包括一個增強觸摸屏界面,更方便手指操作;Windows Phone,力圖打破人們與信息和應(yīng)用之間的隔閡,提供人們最優(yōu)秀的端到端的體驗。3LinuxLinux 是源于 PC 的移動操作系統(tǒng),具有上面兩個操作系統(tǒng)無法比擬的優(yōu)勢;其一,Linux 具有開放的源代碼,能夠大大降低開發(fā)成本;其二,Linux 既滿足了手機制造商根基實際情況有針對性的開發(fā)自己的 Linux 手機操作系統(tǒng)的要求,又吸引了眾多軟件開發(fā)商對容應(yīng)用
20、軟件的開發(fā),豐富了第三方應(yīng)用。然而 Linux 操作系統(tǒng)有其先天的不足:入門難度大,熟悉其開發(fā)環(huán)境的工程師少,集成開發(fā)環(huán)境差;由于微軟 PC 操作系統(tǒng)源代碼不公開,基于 Linux 的產(chǎn)品與 PC 的連接性較差;盡管目前從事 Linux 操作系統(tǒng)開發(fā)的公司數(shù)量較多,但真正具有很強的開發(fā)實力的公司卻又很少,盡管這些公司是處于相互獨立的狀態(tài),很難實現(xiàn)很大的技術(shù)突破。最初摩托羅拉非常崇拜 Linux 平臺,然而在和諾基亞的較量中不斷失敗,現(xiàn)在也不那么熱心Linux 了,轉(zhuǎn)而投向基于 Linux 的 Android 平臺,其推出的 Android 手機很受關(guān)注。3BlackBerry5 / 35黑莓(
21、BlackBerry)是加拿大 RIM 公司推出的一種移動電子系統(tǒng)終端,其特點是支持推送是電子、手提、文字短信、互聯(lián)網(wǎng) 、網(wǎng)頁瀏覽以與其他無線資訊服務(wù)。黑莓最強大也是最有優(yōu)勢的方面是收發(fā),然而在中國,用手機收發(fā)還不是很流行,所以黑莓在中國幾乎沒有多大的市場。4IOSIOS 是蘋果公司(Apple.Inc.)公司手機產(chǎn)品 Iphone 專用智能手機系統(tǒng)。Iphone 由蘋果公司首席執(zhí)行官史蒂夫喬布斯在 2007 年 1 月 9 日舉行的 Macworld宣布推出的,2007 年 6 月 29 日在美國上市。Iphone 將創(chuàng)新的移動,可觸摸寬屏ipod 以與具有桌面與電子、網(wǎng)頁瀏覽、搜索和地圖功
22、能的因特網(wǎng)通信設(shè)備這三種產(chǎn)品完美地融為一體。Iphone 還開創(chuàng)了移動設(shè)備軟件的新紀(jì)元,重新定義了移動的功能,有人這樣評價 Iphone,Iphone 是一款革命性的,不可思議的產(chǎn)品,比市場上的其他任何移動設(shè)備領(lǐng)先了 5 年。 ,蘋果公司的首席執(zhí)行官史蒂夫喬布斯說:“手指是我們與生俱來的終級定點設(shè)備,而 Iphone 利用它們創(chuàng)造了子鼠標(biāo)以來最具有意義的用戶界面。 ”5AndroidAndroid 一詞的本意是指“機器人” ,同時也是 Google 公司于 2007 年 11 月 5日宣布的基于 Linux 平臺的開源手機系統(tǒng)名稱,該平臺由操作系統(tǒng)中間用戶界面和應(yīng)用軟件組成,號稱是收購為移動終
23、端打造的真正的開放和完整的移動軟件。目前,Android 已成為市場上占有率最高的智能手機操作系統(tǒng)。2.22.2了解了解 androidandroidAndroid 平臺是采用 Webkit 瀏覽器引擎,具有觸摸屏,高級圖形顯示和上網(wǎng)功能,用戶能夠在手機上查看電子,搜索網(wǎng)址并觀看視頻節(jié)目,同時 Android 還具有比 I phone 等其他手機更強大的搜索功能,還可以說是一種融入全部 Web 應(yīng)用的平臺。2.2.12.2.1 androidandroid 產(chǎn)生的背景產(chǎn)生的背景Android 是 Google 公司開發(fā)的基于 Linux 平臺的開源手機操作系統(tǒng)。Google 與開放手機聯(lián)盟合作
24、開發(fā)了 Android,這個聯(lián)盟包括中國移動、摩托羅拉、高通、宏達(dá)電(HTC)和 T-Mobile 在的 30 多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。Google 通過與運營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方面深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化,開放式的移動軟件平臺,在移動產(chǎn)業(yè)形成一個開放式的生態(tài)系統(tǒng)。6 / 35開放手機聯(lián)盟的成立和 Android 的推出是對現(xiàn)狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的收入。但是,如果全球移動用戶從中能獲得的潛在的利益,是值得付出這些努力的。2.2.22.2.2androidandroid 的發(fā)展的發(fā)展2008 年 9 月 22 號,美國
25、運營商 T-Mobile USA 在紐約正式發(fā)布第一款 Google手機 T-Mobile G1。該款手機為中國宏達(dá)電子工制造,是世界上第一部使用Android 操作系統(tǒng)的手機,支持 WCDMA/HSPA 網(wǎng)絡(luò) ,理論上下載速度 7.2Mbit/s,并支持 Wi-Fi。2.32.3androidandroid 的特點的特點主要特點如下:1.應(yīng)用程序框架,支持組建的重用于替換。2.Dalvik 虛擬機,專門為移動設(shè)備做了優(yōu)化。3.部集成瀏覽器,該瀏覽器基于開源 Webkit 引擎。4.優(yōu)化的圖形庫,包括 2D 和 3D 的圖形庫,3D 圖庫基于 OpenGL ES 1.0(硬件加速可選) 。5.
26、SQLite,用于結(jié)構(gòu)化的數(shù)據(jù)存儲。6.多媒體支持,包括常見的音頻,視頻和靜態(tài)影像文件格式(如 MPEG4、H.264、MP3、AAG、AMR、JPG、PNG、GIF)7.GSM(依賴于硬件) 。8. Bluetooth、GDGE、3G 和 WIFI(依賴于硬件) 。9.照相機、GPS、指南針和加速度計(依賴于硬件) 。10.豐富的開發(fā)環(huán)境,包括設(shè)備模擬器、調(diào)試工具、存以與性能分析圖表,以與Eclipse 集成開發(fā)環(huán)境插件。2.42.4AndroidAndroid 系統(tǒng)工作原理系統(tǒng)工作原理 2.4.12.4.1AndroidAndroid 的系統(tǒng)架構(gòu)的系統(tǒng)架構(gòu)Android 是一個層次結(jié)構(gòu),共
27、分為 4 層架構(gòu),分別是去頂層,JAVA 源碼層、JAVA 虛擬環(huán)境以與應(yīng)用環(huán)境層,如下圖所示,從底層到高層分別是操作系統(tǒng)層(Linux,相關(guān)驅(qū)動) 、庫(Libraries)和運行環(huán)境(Runtime) 、應(yīng)用程序框架7 / 35(Application Framework) 、應(yīng)用程序(Application) 。圖 2-1系統(tǒng)機構(gòu)圖Android 系統(tǒng)的各個層次結(jié)合了多種高級程序設(shè)計語言。第一層由 C 語言實現(xiàn),第二層由 C/C+實現(xiàn),第三層和第四層主要由 JAVA 語言實現(xiàn)。從 Linux 操作系統(tǒng)的角度來看,第一層和第二層之間是核空間與用戶空間的分界線,第一層運行于核空間,第二、三、
28、四層運行于用戶空間。第二層和第三層之間是本地代碼層和 JAVA 代碼層的接口。第三層和第四層之間 Android 的系統(tǒng) API 的接口,在開發(fā) Android 應(yīng)用系統(tǒng)時,只考慮如何調(diào)用系統(tǒng) API,不能看到第三層以下的容。下面分別詳細(xì)介紹各個層次:1.Linux 操作系統(tǒng)和驅(qū)動Android 系統(tǒng)核實際是 Linux 系統(tǒng)核,具有 android 的所有驅(qū)動程序,android 應(yīng)用程序的開發(fā)主要依賴于 JAVA,但是 android 也提供了 NDK 編程,可以用 C+編寫動態(tài)庫提供 JAVA 定義的接口使用。2.Android 運行庫Android 運行庫與 JAVA 運行庫有很大的相
29、似性,所不同的是他把 JAVA 中.jar8 / 35包封裝為.DEX 包,以. DEX 的形式進(jìn)行發(fā)布,但是與 JAVA 不同的是,他們用的虛擬機不同,JAVA 使用 JVM,而 android 使用的是 Dalvik 虛擬機。3.Android 應(yīng)用程序框架Android SDK 的核心代碼與其他編程庫一樣,使用很多 API,這些 API可以使得整個編程框架可重用,并且可以編寫新的組件替換以前的組件,提高程序的可重用性。其中,Android 的源代碼包括很多現(xiàn)成的服務(wù),主要包括以下幾方面:視圖(View):用于構(gòu)建用戶界面,包括按鈕、本文框、圖層等。容提供器(Content Provide
30、r):容器用于訪問其他程序的數(shù)據(jù)。資源管理器(Resource Manager):用于管理物理的資源包括圖片、背景色等。通知管理器(Notification Manager):該部分用于通訊,產(chǎn)生消息在每個activity 之間進(jìn)行消息的傳遞?;顒庸芾砥鳎ˋctivity Manager):在總體布局文件中,注冊 activity 和取消 activity 的注冊,從而管理每個 activity 的生命周期。4.Android 應(yīng)用程序Android 程序使用 JAVA 語言進(jìn)行發(fā)布,這些程序中包括實現(xiàn)包含的應(yīng)用程序,主要包括短消息應(yīng)用程序(SMS) 、聯(lián)系人管理程序、E-mail 客戶端、日
31、歷、地圖、瀏覽器等。2.4.22.4.2AndroidAndroid 的程序結(jié)構(gòu)的程序結(jié)構(gòu)一個 Android 應(yīng)用程序通常有下面 4 個組件組成:活動(Activity)、活動容接收器(IntentReceiver)、服務(wù)(Service)、容提供器(Co,tentProvider),不是每個程序都有這 4 個,可能你的程序只使用了其中一部分,一旦決定程序包含哪些組件時,就需要在 AndroidManifest.Xml 文件中列出它們。1ActivityActivities 是 4 個組件中最常用的,程序中,Activity 通常的表現(xiàn)形式是一個單獨的界面(Screen),每個 Activi
32、ty 都是一個單獨的類,它擴展實現(xiàn)了9 / 35Activity 基礎(chǔ)類,這個類顯示為一個由 views 組成的用戶界面,并響應(yīng)事件,大多數(shù)程序有多個 Activity。例如,一個文本信息程序有這么幾個界面:顯示聯(lián)系人列表界面、寫信息界面、查看信息界面或者設(shè)置界面等,每個界面都是一個Activity,切換到另一個界面就是載入一個新的 Activity,某些情況下,一個Act1vity 可能會給前一個 Activity 返回值一例如,一個讓用戶選擇相片的Activity 會把選擇到的相片返回給其調(diào)用者。2IntentReceiver當(dāng)用戶想執(zhí)行一些與外部事件相關(guān)的代碼時,比如來電響鈴時,數(shù)據(jù)網(wǎng)絡(luò)
33、可用時,或者半夜時做些事情,用戶可能需要使用 IntentReceiver 沒有 UI,盡管它們使用 NotificationManager 來通知用戶一些好玩的事情發(fā)生了,ZntentReceiver 在AndridManifest.xml 文件中聲明,不過開發(fā)者可以使用Context.registerReciever()來聲明,程序沒有必要運行來等待 IntentReceiver 被調(diào)用,當(dāng)一個 IntentReceiver 被觸發(fā)時,如何需要的話,系統(tǒng)自然會啟動你的程序,程序也一可以通 Context#broadcastTntent()來發(fā)送自己的 Intent 廣播給其他程序。3Ser
34、viceService 是一個沒有 UI 且長駐系統(tǒng)的代碼,最佳例子媒體播放器從播放列表中播放歌曲,媒體播放器程序中,可能有一個或多個 Activities 讓用戶選擇歌曲播放,然而,在后臺播放歌曲就無需 Activity 干涉了,因為用戶希望在音樂播放同時能夠切換到其他界面,既然這樣,媒體播放器八 activity 需要通過Context.Startservice()啟動一個 Service,這個 Service 在后臺運行以保持繼續(xù)播放音樂,在媒體播放器被關(guān)閉之前,系統(tǒng)會保持音樂后臺播放 Service 的正常運行,LifeCycleofanAndroidAppliCation 提供更多有
35、關(guān) Service 的信息,請注意,你可以用 conteXt.bindserviceo 方法連接到一個 Service 上如果 Service 未運行的話,連接后,還會啟動它,連接上后,你就可以通過一個 Service 提供的接口與Service 進(jìn)行通話,對音樂 Service 來說,則提供了暫停、重放等功能。4ContentProvider應(yīng)用程序把數(shù)據(jù)存放一個 SQLite 數(shù)據(jù)庫格式文件里,或者存放在其他有效設(shè)備里,如果你想讓其他程序能夠使用你自己程序的數(shù)據(jù),ContentProvider 就很有用了,ContentProvider 是一個實現(xiàn)了一系列標(biāo)準(zhǔn)方法的類,這個類使得其他程序能
36、存儲和讀取某種 ContentProvider 可處理的數(shù)據(jù)。2.4.32.4.3工作機制工作機制10 / 35首先,對 Android 應(yīng)用程序的思想的了解有利于進(jìn)行 Android 相關(guān)應(yīng)用程序開發(fā)。Android 應(yīng)用程序并沒有一個統(tǒng)一的入口,程序中的應(yīng)用與應(yīng)用之間是相互獨立的,應(yīng)用都運行在各自的進(jìn)程當(dāng)中,根據(jù)完成的功能不同,Android 劃分了四類核心的組件類:Activity、Service、Broadcast Receiver 和 Content Provider;一樣組件和不同組件之間的導(dǎo)航通過 Intent 來完成。同時對于可視化界面,例如菜單、對話框、下拉列表等,Andro
37、id 定義了 View 類來進(jìn)行顯示。ActivityAndroid 中,Activity 應(yīng)用組件是應(yīng)用程序的根本,Android 程序的流程全部在 Activity 之中運行,Activity 是 Android 最基本的一個模塊,也是設(shè)計開發(fā)人員遇到的最頻繁模塊。在 Android 應(yīng)用程序中,一般手機屏幕的一般就是 Activity,如果把手機終端比喻成一個瀏覽器,那么 Activity 等同于瀏覽器中一個網(wǎng)頁。在 Activity 當(dāng)中,設(shè)計者可以添加一些控件,例如 Button、Check box 等??梢钥吹?Activity 和網(wǎng)頁的概念相似。一般一個 Android 應(yīng)用是由
38、多個 Activity 組成的,這多個 Activity 之間可以進(jìn)行相互跳轉(zhuǎn)。Activity 是由 Android 系統(tǒng)進(jìn)行維護(hù)的,它也有自己的生命周期,即它的一個產(chǎn)生、運行、銷毀的一個周期,對于 Activity,關(guān)鍵是其生命周期的把握,其次就是狀態(tài)的保存和恢復(fù)以與 Activity 之間的跳轉(zhuǎn)和數(shù)據(jù)傳輸(intent)。Activity 有三種基本狀態(tài):Active 狀態(tài):處于屏幕前景,也就是當(dāng)前 task 的棧頂 Activity 正處于 Active 狀態(tài),同一時刻只能有一個 Activity 處于 Active 狀態(tài);Paused 狀態(tài):處于背景畫面狀態(tài),失去了焦點,但依然是活動
39、狀態(tài);Stopped 狀態(tài):不可見,但依然保持所有的狀態(tài)和存信息。Service Service 作為 Android 系統(tǒng)四大組件之一 ,與 Activity 級別差不多,他可以跟其他的組件進(jìn)行交互,但它只能在后臺運行,不能自己運行。Service 是沒有界面的長生命周期的代碼,也就是說 Service 是這樣一種程序,他可以運行很長時間,但是它卻沒有用戶界面。Service 主要應(yīng)用與多場合應(yīng)用中,例如,檢測 SDCard 文件的變化、后臺中記錄移動終端地理位置的變化,又或者是在播放音樂時,使用到別的 Activity,那音樂播放程序就需要在后臺運行等等。11 / 35Broadcast
40、ReceiverBroadcast Receiver 通常是用于接收和處理廣播通知 (broadcast announcements)。大部分的廣播都是系統(tǒng)自發(fā)發(fā)起的,當(dāng)然程序能播放一個廣播,但如果程序認(rèn)為有多個通知都很重要,都需要獲得響應(yīng)。那么,程序通過啟動數(shù)個 Broadcast Receiver 對 Intent 進(jìn)行監(jiān)聽并隨時查看 Intent 的容,Broadcast Receiver 通知用戶方式有多種,使得用戶收到有通知需要查看的信息。Content ProviderContent Provider 是 Android 提供的第三方應(yīng)用數(shù)據(jù)的訪問方案。在 Android 系統(tǒng)中,
41、各種組件運行在不同的組件上,這意味著數(shù)據(jù)的共享性,Content Provider 作為應(yīng)用程序四大組件之一,它起到在應(yīng)用程序之間共享數(shù)據(jù)的作用,同時,它還是標(biāo)準(zhǔn)的數(shù)據(jù)訪問接口。Content Provider 部通常通過強大數(shù)據(jù)庫支持Sqlite 實現(xiàn)。Content Provider 也可以封裝文件數(shù)據(jù)與其他混合的數(shù)據(jù)。ViewView 主要用于展示可視化界面,它屬于 Android 圖形用戶界面的基類。Android 的圖形界面展示可分為三層:底層是 Activity,Activity 上面Window,Window 上面是 Views。View 又分為 View 和 ViewGroup
42、 ,View 是指基本的控件,例如按鈕、單選框、多選框、菜單等;ViewGroup 是指布局控件,即用來控制界面中的控件如何布局?jǐn)[放的。Android 的 Intent通常,一個 Android 應(yīng)用,主要有四部分組件組成,這四種組件是相互獨立的,而 Intent 協(xié)調(diào)四種不同組件間的相互工作。Intent 通過對四種組件之間導(dǎo)航查找的條件的封裝,為 Android 四種組件之間的通訊起協(xié)助完成的作用,從而使之組成一個完整的、真正意義上的 Android 應(yīng)用。Intent 負(fù)責(zé)進(jìn)行描述,包括了對應(yīng)用中一次操作的動作、動作涉與數(shù)據(jù)、附加數(shù)據(jù)的描述,Android 根據(jù) Intent 的描述,找
43、到程序中對應(yīng)的組件,并給調(diào)用的組件傳遞相關(guān)的 Intent,完成組件的調(diào)用,因此,Intent 主要是作為一個媒體中介,專門為組件互相調(diào)用提供信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。在 Intent 的描述結(jié)構(gòu)中,有兩個最重要的部分:動作和動作對應(yīng)的數(shù)據(jù)。動作部分,典型的包括了 Main(Activity 的入口)、View、Pick、Edit 等,而數(shù)據(jù)部分,通常使用 URI 形式來表示。就如,如果需要查看某人的聯(lián)系方式,首先需要創(chuàng)建 Intent,其動作類型為 View,數(shù)據(jù)則是指向某人的 URI。2.4.42.4.4開發(fā)環(huán)境開發(fā)環(huán)境12 / 35Android 的開發(fā)環(huán)境和調(diào)試工具完全免費
44、,而且功能強大,因此,Android 的開發(fā)成本相對于 Apple 工 0S 的系統(tǒng)開發(fā)成本要簡單和低的多 ,AndroidSDK 主要是以Java 為基礎(chǔ),用戶可以使用 Java 語言來開發(fā) Android 平臺上的軟件應(yīng)用,通過 SDK提供的一些工具將其打包成 Android 平臺使用的 apk 文件,然后用 SDK 中的模擬器(Emulator)來模擬和測試軟件在 Android 平臺上運行情況和效果。Basic4android 是一個簡單然而功能非常強大的 Android 應(yīng)用;Basic4android語言類似于 Visual Basic 語言,支持更多的對象;Basic4andro
45、id 將代碼編譯成Android 原生(native)應(yīng)用,無需其它運行環(huán)境的支持。與其它的集成開發(fā)環(huán)境不同,Basic4android 是完全用于 Android 應(yīng)用開發(fā)的開發(fā)工具,不支持其它平臺。Basic4android 包含一個強大的 GUI 設(shè)計器,建對多屏和坐標(biāo)的支持,不需要開發(fā)者再寫 XML。開發(fā)者可以在 Basic4android 環(huán)境下利用 Android 模擬器或Android 物理設(shè)備(利用 USB 連接或通過本地網(wǎng)絡(luò)連接)進(jìn)行程序開發(fā)和調(diào)試。Basic4android 帶有豐富的庫函數(shù),支持所有的 Android 核心特性,因而使其非常容易進(jìn)行高級應(yīng)用開發(fā)。這些庫函數(shù)
46、包括:SQL 數(shù)據(jù)庫、GPS、串口(藍(lán)牙) 、照相機、XML、JSON、Web 服務(wù)( ) 、后臺服務(wù)、動畫、網(wǎng)絡(luò)(TCP 和 UDP) 、文本閱讀(TTS)和聲音識別、Web 瀏覽、移動廣告、圖表、OpenGL、圖像,等等。Basic4android 支持 Android1.6 與以上版本(包括平板電腦) 。2.4.52.4.5 AndroidAndroid 源代碼結(jié)構(gòu)源代碼結(jié)構(gòu)Android 代碼的工程分為三個部分:a.核心工程:主要包括 android 工具、android 平臺以與 android 核心代碼。b.擴展工程:包括其他的可以擴展編程的工具,用戶連接其他的系統(tǒng)c.包(Pack
47、age):主要包含了 JAVA 的源代碼,用于實現(xiàn)通訊等功能。2.4.62.4.6AndroidAndroid 的編譯的編譯直接執(zhí)行 Android 系統(tǒng)根目錄下的 Makefile 文件,目錄中具有一個編譯文件叫做 android.mk,用于編譯容與具體位置無關(guān)。Android 系統(tǒng)編譯完成的結(jié)果全部在其根目錄的 out 目錄中,在其他目錄中沒有容。編譯的結(jié)果包括主機工具、目標(biāo)機程序、目標(biāo)機映像文件、目標(biāo)機 Linux 核(需要單獨處理) 。13 / 353 3基于基于 AndroidAndroid 的實驗室課程管理系統(tǒng)的實驗室課程管理系統(tǒng)- -預(yù)約子系統(tǒng)的需求分析預(yù)約子系統(tǒng)的需求分析3.1
48、3.1功能需求分析功能需求分析開發(fā) Android 實驗室預(yù)約系統(tǒng)是一項復(fù)雜的系統(tǒng)工程,我們可以通過功能模塊14 / 35化的辦法來將不同的功能分門別類來進(jìn)行分析,這樣既可以將整體結(jié)構(gòu)變得清晰,也可能可以使注意力集中至某一類功能上。通過詳細(xì)的分析實驗室課程預(yù)約系統(tǒng),我們將該系統(tǒng)分為:登錄模塊、預(yù)約信息模塊和實驗室課程預(yù)約模塊三大模塊。3.1.13.1.1用戶登錄驗證功能分析用戶登錄驗證功能分析這個模塊主要是實現(xiàn)學(xué)生或老師登錄與驗證功能。用戶可以通過此模塊進(jìn)行登錄,進(jìn)入實驗室課程預(yù)約系統(tǒng)。具體功能如下: 用戶圖 3-1登陸功能示意圖在登陸界面,學(xué)生或者老師可以用自己的學(xué)號或者工號,密碼默認(rèn)為學(xué)號
49、或者工號后六位。在服務(wù)器上輸入信息后,服務(wù)器會自動將信息和數(shù)據(jù)庫中的數(shù)據(jù)機進(jìn)行比較,來確定該用戶的信息是否存在,然后確定該用戶是否有權(quán)限進(jìn)入該系統(tǒng)。3.1.23.1.2實驗室預(yù)約信息功能分析實驗室預(yù)約信息功能分析在此模塊中,我們希望學(xué)生或者老師能夠看到自己預(yù)約信息以與預(yù)約歷史記錄。從而清晰地反映出他實驗室的預(yù)約情況。該模塊顯示的前提是數(shù)據(jù)庫中有這個用戶的數(shù)據(jù)記錄,具體功能如下: 用戶登錄 登錄 數(shù)據(jù)庫 預(yù)約信息 數(shù)據(jù)庫15 / 35 用戶圖 3-2預(yù)約功能示意圖如圖所示,在此過程中,客戶端先向預(yù)約系統(tǒng)發(fā)送學(xué)生或者老師的 ID 預(yù)約信息請求,系統(tǒng)接到請求后將進(jìn)入數(shù)據(jù)庫進(jìn)行查找,若用戶信息存在,則
50、顯示用戶的先關(guān)預(yù)約信息。如果不存在則不顯示任何信息。3.1.33.1.3實驗室預(yù)約功能分析實驗室預(yù)約功能分析實驗室預(yù)約功能是該應(yīng)用的核心模塊,該模塊主要是處理用戶的預(yù)約要求,并由此生成用戶數(shù)據(jù),該預(yù)約數(shù)據(jù)將會顯示在預(yù)約信息頁面。此模塊主要功能是,用戶輸入預(yù)約實驗室課程的詳細(xì)信息,然后可選擇確認(rèn)或者取消。若是確認(rèn),系統(tǒng)將數(shù)據(jù)送到數(shù)據(jù)庫,然后把當(dāng)前數(shù)據(jù)與數(shù)據(jù)庫中已有的數(shù)據(jù)進(jìn)行比較,若無沖突,則會在預(yù)約信息模塊顯示預(yù)約成功,否則預(yù)約失敗。具體功能如下:已預(yù)約信息實驗室課程預(yù)約 預(yù)約信息16 / 35 用戶圖 3-3預(yù)約功能分析示意圖4 4基于基于 AndroidAndroid 的實驗室課程管理系統(tǒng)的
51、實驗室課程管理系統(tǒng)- -預(yù)約子系統(tǒng)的設(shè)計與測試預(yù)約子系統(tǒng)的設(shè)計與測試4.14.1開發(fā)環(huán)境的搭建開發(fā)環(huán)境的搭建4.1.14.1.1安裝安裝 AndroidAndroid SDKSDK 和和 Basic4androidBasic4android1.安裝 Basic4android 之前,需要先安裝以下兩個組件:數(shù)據(jù)庫17 / 35 Java JDK Android SDK 安裝方法:第一步,安裝 Java JDK。在 Java JDK 下載頁面下載 Windows x86 版本的 JDK(Java SE 即可) ,然后安裝到你喜歡的目錄下,例如,一般安裝到 D:Java 目錄下。第二步,安裝 An
52、droid SDK 與相應(yīng)的工具。在這一步中應(yīng)安裝 Android 平臺工具與至少一個版本的 Android??梢允褂?API 8 與以上版本,推薦使用 API 8。如果需要用 USB 直接連接到物理設(shè)備上,也可以安裝 Google USB 設(shè)備驅(qū)動程序。圖 4-1程序安裝示意圖點擊,Install Selected,按鈕將安裝所選擇的組件。1.安裝和配置 Basic4android打開 Basic4android,執(zhí)行,Tools,菜單下的,Configure Paths,命令,彈出路徑配置對話框18 / 35圖 4-2程序安裝示意圖在此對話框中配置 javac.exe 和 android.
53、jar 的安裝路徑,以與附加的Basic4android 庫。2.安裝 Android 模擬器運行 Basic4android,執(zhí)行,Tools,菜單下的,Run AVD Manager,命令,稍等片刻,將出現(xiàn) SDK 管理器窗口,如圖圖 4-3程序安裝示意圖執(zhí)行上面窗口中,Tools,菜單下的,Manage AVDs,命令,將出現(xiàn)AVD(Android virtual device)管理器窗口,如下圖所示。19 / 35圖 4-4新建 AVD 點擊,New,按鈕,出現(xiàn)創(chuàng)建新的 AVD 對話框。在該對話框中填寫相應(yīng)容,如圖所示20 / 35圖 4-5AVD 參數(shù)設(shè)置點擊,OK,按鈕,將會創(chuàng)建一個新的 AVD,如圖21 / 35圖 4-6程序安裝示意圖點擊圖上中的,Start,按鈕,經(jīng)過幾個窗口閃爍之后,將出現(xiàn)模擬器啟動窗口圖 4-7模擬器啟動示意圖等待幾分鐘,以便模擬器準(zhǔn)備就緒。完全啟動后的模擬器22 / 35圖 4-8鎖屏情況下的模擬器4.24.2核心模塊的實現(xiàn)核心模塊的實現(xiàn)4.2.14.2.1登錄模塊登錄模塊具體調(diào)用流程如下: 驗證 驗證
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沈陽八上數(shù)學(xué)期中試卷及答案
- 商都二中考試卷及答案
- 肇慶市實驗中學(xué)高中歷史二:第四單元中國社會主義發(fā)展道路的探索測驗評講教案
- 2025挖掘機設(shè)備租賃合同樣本
- 電動機制造中的綠色制造與環(huán)保標(biāo)準(zhǔn)考核試卷
- 箱包品牌社區(qū)運營策略考核試卷
- 硫化鋅納米復(fù)合材料制造技術(shù)考核試卷
- 2025金融科技合作合同范本
- sop考試試題及答案
- 糕點店產(chǎn)品質(zhì)量監(jiān)控與改進(jìn)考核試卷
- JJG 2054-2015振動計量器具
- GB/T 8303-2013茶磨碎試樣的制備及其干物質(zhì)含量測定
- GB/T 12939-2015工業(yè)車輛輪輞規(guī)格系列
- 博物館藏品庫房管理課件
- 2022年2月興業(yè)銀行審計部招聘人員模擬試題3套(含答案解析)
- 工貿(mào)行業(yè)重點可燃性粉塵目錄(2015版)
- 焊接質(zhì)量檢查表
- 形式發(fā)票模板
- 高一語文《赤壁賦》 完整版課件PPT
- DB32∕T 2880-2016 光纖傳感式橋隧結(jié)構(gòu)健康監(jiān)測系統(tǒng)設(shè)計、施工及維護(hù)規(guī)范
- 北師大版小學(xué)數(shù)學(xué)二年級下冊第三單元《練習(xí)二》教學(xué)設(shè)計建議及課本習(xí)題解析
評論
0/150
提交評論