基于Android的實驗室課程管理系統預約管理子系統開發_第1頁
基于Android的實驗室課程管理系統預約管理子系統開發_第2頁
基于Android的實驗室課程管理系統預約管理子系統開發_第3頁
基于Android的實驗室課程管理系統預約管理子系統開發_第4頁
基于Android的實驗室課程管理系統預約管理子系統開發_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 目錄目錄摘摘要要-iiiabstract-iv引言引言-11緒論緒論 -21.1課題研究背景-21.2研究目的及意義-21.3課題內容-22相關技術分析相關技術分析 -42.1了解智能手機-42.1.1智能手機的定義-42.1.2智能手機的特點-42.1.3主流智能手機系統-52.2了解android-62.2.1 android產生的背景-62.2.2android的發展-72.3android的特點 -72.4android 系統工作原理 -72.4.1android 的系統架構-82.4.2android的程序結構-92.4.3工作機制-112.4.4開發環境-132.4.5 andr

2、oid 源代碼結構-132.4.6android 的編譯-133基于基于 android 的實驗室課程管理系統的實驗室課程管理系統-預約子系統的需求分析預約子系統的需求分析-153.1功能需求分析 -153.1.1用戶登錄驗證功能分析-153.1.2實驗室預約信息功能分析-153.1.3實驗室預約功能分析-164基于基于 android 的實驗室課程管理系統的實驗室課程管理系統-預約子系統的設計及測試預約子系統的設計及測試-184.1開發環境的搭建 -184.1.1安裝android sdk和basic4android-184.2核心模塊的實現 -234.2.1登錄模塊-234.2.2預約信息

3、模塊-244.2.3實驗室課程預約模塊-254.3測試應用 -254.3.1用戶登錄界面的實現-254.3.2預約信息模塊界面的實現-264.3.3實驗室課程預約模塊的實現-275總結與展望總結與展望-29致謝致謝 -30參考文獻參考文獻 -31摘要摘要進入 3g 時代以來,無線互聯網通信技術和智能終端的高速發展給人們的生活和工作帶來了很大的便利,使得智能手機等移動設備很快的融入了人們的生活。校園作為教育的前沿陣地,為了適應快節奏生活,讓學生和老師能方便的預約實驗室。那么利用手機這一普遍的移動終端進行實驗室課程預約這一問題的研究就具有深刻的現實意義與廣泛的應用價值。本系統是基于 android

4、 平臺,以 basic4android 為開發平臺,建立一個學生或老師可以通過移動終端進行實驗室課程預約的服務系統。它主要由三個模塊組成:用戶登錄模塊、預約信息模塊、預約實驗室課程模塊。該應用將可以實現學生快速預約實驗室,減少管理員的工作量和出錯率。關鍵字:basic4android;android 平臺;實驗室預約系統;abstractinto the 3g era, wireless internet communications technology and the rapid development of intelligent terminals to peoples life an

5、d 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 teachers can easily bookings laboratory. so take advantage of this unive

6、rsal 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,establish a student or teacher can conduct laboratory courses throug

7、h 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 students, reducing administrator workload and errors appointment.keyw

8、ord:basic4android;android platform; lab reservation syst引言引言隨著 3g 的到來,無線寬帶越來越高,使得更多內容豐富的應用程序裝入手機成為可能,視頻通話,視頻點播等。為了承載這些數據應用即快速部署,手機功能越來越智能,越來越開放。在 google 發起的開放手機聯盟(open handest alliance,oha)的大力推動下,一個時尚、熱門、免費并開源的移動平臺 android正在飛速發展。basic4android 是一個簡單但功能強大的 android 應用開發環境。basic4android 語言跟 visual basic

9、 予以類似,支持更多的對象。basic4android 將代碼編譯成 android 原生應用,無需其他運行環境的支持。該工具完全為了 android 應用開發,不支持其他平臺。本課題是開發基于 android 的實驗室課程管理系統預約子系統,以basic4android 為開發平臺。、1緒論緒論1.1課題研究背景課題研究背景智能手機在各個層次、各種年齡、各種職業的人群中越來越普及,它已經延伸到人們日常生活中的各種方面,如:聊天、購物、信息查詢和娛樂活動。目前,智能終端的種類很多,主要有 3g 智能終端、數字會議桌面智能終端、家居智能終端等。其中,3g 智能終端是一個三網合一的產品,以手機為主

10、流產品,用戶希望能夠通過手機實現互聯網操作、電信運營商業務操作、pc 計算操作;數字會議桌面智能終端主要是公司用于信息交流,要求移動便攜性較強、智能家居希望能夠通過網絡實現對日常家電的管理。在智能手機中 android 操作系統占據著 76%的市場份額,在中國更是達到90%。這些應用程序為人們日常生活帶來了很大的方便。1.2研究目的及意義研究目的及意義隨著智能機的發展,部分高校已經開始開發出了手機應用服務系統,如:圖書館信息查詢系統,教務管理系統等。學生通過手機可以隨時隨地去查詢信息。同樣實驗課作為大學最重要的課程之一,能夠讓學生方便、快速的預約實驗室也是一件需要解決的問題。傳統的實驗室預約主

11、要方式是:學生先去實驗室找管理員,管理員要先在實驗室預約或者電腦上的預約文檔了查找,看是不是該實驗室在這個時間段已經被預約,然后在作處理,后面繼續預約又要重復之前的程序。這樣人工查詢、記錄,不但浪費時間,而且很容易出錯。這樣既浪費人力有浪費資源,無形中會增加很多成本,更有可能造成教學事故。和傳統的實驗室預約方式相比,基于 android的實驗室課程管理系統預約子系統有很多優勢,具體表現在以下幾個方面:(1)節省了時間:學生在預約實驗室時不用再去實驗室找管理員,可由學生一人完成。(2)提高了工作效率:管理員也不用重復查詢、記錄的繁瑣程序,學生預約系統會自動處理。(3)出錯率降低:傳統的實驗室預約

12、方法由于是人工處理,而且管理員每天要重復處理程序,很容易疲倦結果會出現沒預約到,或者重復預約。以上三點優勢充分體現了開發基于 android 的實驗室課程管理系統預約子系統的必要性。1.3課題內容課題內容本課題從基于 android 的實驗室課程管理系統預約子系統出發,以調研android 應用開發現狀和學習 basic4android 應用開發平臺相關知識為基礎,充分分析 android 應用開發的必要性,確定該預約系統應具備的功能需求。綜合以上內容,本課題主要研究的內容如下:(1)調研現有智能手機系統,以及現在高校實驗室預約的弊端,提出研究本課題的意義。(2)確定預約系統的需求,對數據庫的

13、訪問進行設計。(3)完成基于 android 的實驗室課程管理系統預約子系統客戶端的需求和功能的設計和實現。2相關技術分析相關技術分析2.1了解智能手機了解智能手機2.1.1智能手機的定義智能手機的定義智能手機(smart phone),是指,像個人電腦一樣,具有獨立的操作系統,可以由用戶自行安裝軟件、游戲等第三方服務商提供的程序,通過此類程序來不斷對手機的功能進行擴充,并可以通過移動通訊網絡來實現無線網絡接入的這樣一類手機的總稱。簡單的說,智能手機就是一部像電腦一樣可以通過下載和安裝軟件來拓展其功能的手機智能手機可以是傳統的手機增加智能功能,例如塞班操作系統的 s60系列,windows m

14、obile 操作系統的 windows mobile smartphone 系列;也可以是傳統的 pda 加上手機通信,例如 windows mobile 操作系統的 windows mobile pocket pc phone 系列,palm 操作系統的 treo 系列,也可以是其他獨立的類型,例如symbian 操作系統的 s80.uiq,以及一些 linux 操作系統的智能手機。然而,就近來的發展來看,這些智能手機的類型有相融合的趨勢。智能手機(smart phone) ,這個說法主要是針對,功能手機(feature phone) ,而來的,本來并不意味著這個手機有多智能(smart)

15、,從另一個角度來講,所謂的智能手機(smart phone) , 就是一臺可以隨意安裝卸載應用軟件的手機(就像電腦那樣) 。功能手機(feature phone)是不能隨意安裝和卸載軟件的,java 的出現使后來的,功能手機(feature phone)具備了安裝 java 應用程序的功能,但 java 程序的操作友好性運行效率以及對系統資源的操作都比,智能手機(smart phone)差很多。 2.1.2智能手機的特點智能手機的特點智能手機的主要特點如下:(1)具有普通手機的全部功能,能夠進行正常的通話,短信等的應用。(2)具有無線接入互聯網的能力,即需要支持 gsm 網絡下的 gprs 或

16、者 cdma網絡下的 cdma 1x 或者 3g 網絡。(3)具有 pda 的功能,如 pim(個人信息管理) ,日程記事,任務安排,多媒體應用以及瀏覽網頁等。(4)具有一個具有開放性的操作系統,在這個操作系統平臺上,可以安裝更多的應用程序從而使智能手機的功能可以得到補充。2.1.3主流智能手機系統主流智能手機系統1symbian:symbian os(中文譯音,塞班系統)symbian 是由諾基亞索尼愛立信、摩托羅拉西門子等幾家大型移動通訊設備商共同出資組建的一個合資公司專門研發手機操作系統現已被諾基亞全資收購。symbian 很想 windows 和 linux 的結合體,有著良好的開發界

17、面,采用內核與界面分離技術,對硬件的支持比較低,支持 c+,vb 和 j2me,兼容性較差。目前根據人機界面的不同 symbian 體系的用戶界面(user interface,ui)平臺分為 series 60、series 80、series 90、uiq 等。series 60 主要是為數字鍵盤手機而設計 series 80 是為完整鍵盤而設計 series 90 是為觸控筆而設計。2windows phonewindows phone 是微軟發布的一款手機操作系統,它是微軟旗下的 xbox live游戲,zune 音樂與獨特的視頻體驗整合至手機中。2010 年 10 月 11 日晚上

18、9 點 30分,微軟公司正式發布了智能手機操作系統 windows phone。2011 年二月,微軟與諾基亞達成全球戰略同盟并深度合作共同研發。2012 年 3 月 21 日,windows phone 7.5 登陸中國。6 月 21 日,微軟正式發布最新手機操作系統 windows phone 8,windows phone 8 將采用和 windows 8 相同的內核。windows phone 具有桌面定制,圖標拖拽,滑動控制等一系列前衛操作體驗。其主屏幕通過提供類似儀表盤的體驗來顯示電子郵件,短信,來電顯示,日歷約會等,讓人們對重要信息保持時刻更新。它還包括一個增強觸摸屏界面,更方便

19、手指操作;windows phone,力圖打破人們與信息和應用之間的隔閡,提供人們最優秀的端到端的體驗。3linuxlinux 是源于 pc 的移動操作系統,具有上面兩個操作系統無法比擬的優勢;其一,linux 具有開放的源代碼,能夠大大降低開發成本;其二,linux 既滿足了手機制造商根基實際情況有針對性的開發自己的 linux 手機操作系統的要求,又吸引了眾多軟件開發商對內容應用軟件的開發,豐富了第三方應用。然而 linux 操作系統有其先天的不足:入門難度大,熟悉其開發環境的工程師少,集成開發環境差;由于微軟 pc 操作系統源代碼不公開,基于 linux 的產品與 pc 的連接性較差;盡

20、管目前從事 linux 操作系統開發的公司數量較多,但真正具有很強的開發實力的公司卻又很少,盡管這些公司是處于相互獨立的狀態,很難實現很大的技術突破。最初摩托羅拉非常崇拜 linux 平臺,然而在和諾基亞的較量中不斷失敗,現在也不那么熱心 linux 了,轉而投向基于 linux 的 android 平臺,其推出的 android 手機很受關注。3blackberry黑莓(blackberry)是加拿大 rim 公司推出的一種移動電子郵件系統終端,其特點是支持推送是電子郵件、手提電話、文字短信、互聯網傳真、網頁瀏覽以及其他無線資訊服務。黑莓最強大也是最有優勢的方面是收發郵件,然而在中國,用手機

21、收發郵件還不是很流行,所以黑莓在中國幾乎沒有多大的市場。4iosios 是蘋果公司(apple. inc.)公司手機產品 i phone 專用智能手機系統。i phone 由蘋果公司首席執行官史蒂夫喬布斯在 2007 年 1 月 9 日舉行的 macworld宣布推出的,2007 年 6 月 29 日在美國上市。i phone 將創新的移動電話,可觸摸寬屏 ipod 以及具有桌面及電子郵件、網頁瀏覽、搜索和地圖功能的因特網通信設備這三種產品完美地融為一體。i phone 還開創了移動設備軟件的新紀元,重新定義了移動電話的功能,有人這樣評價 i phone,i phone 是一款革命性的,不可思

22、議的產品,比市場上的其他任何移動設備領先了 5 年。 ,蘋果公司的首席執行官史蒂夫喬布斯說:“手指是我們與生俱來的終級定點設備,而 i phone 利用它們創造了子鼠標以來最具有意義的用戶界面。 ”5androidandroid 一詞的本意是指“機器人” ,同時也是 google 公司于 2007 年 11 月 5 日宣布的基于 linux 平臺的開源手機系統名稱,該平臺由操作系統中間用戶界面和應用軟件組成,號稱是收購為移動終端打造的真正的開放和完整的移動軟件。目前,android 已成為市場上占有率最高的智能手機操作系統。2.2了解了解 androidandroid 平臺是采用 web ki

23、t 瀏覽器引擎,具有觸摸屏,高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件,搜索網址并觀看視頻節目,同時 android 還具有比 i phone 等其他手機更強大的搜索功能,還可以說是一種融入全部 web 應用的平臺。2.2.1 android 產生的背景產生的背景android 是 google 公司開發的基于 linux 平臺的開源手機操作系統。google 與開放手機聯盟合作開發了 android,這個聯盟包括中國移動、摩托羅拉、高通、宏達電(htc)和 t-mobile 在內的 30 多家技術和無線應用的領軍企業組成。google 通過與運營商、設備制造商、開發商和其他有關各方

24、面深層次的合作伙伴關系,希望借助建立標準化,開放式的移動電話軟件平臺,在移動產業內形成一個開放式的生態系統。開放手機聯盟的成立和 android 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的收入。但是,如果全球移動用戶從中能獲得的潛在的利益,是值得付出這些努力的。2.2.2android 的發展的發展2008 年 9 月 22 號,美國運營商 t-mobile usa 在紐約正式發布第一款 google手機 t-mobile g1。該款手機為中國臺灣宏達電子工制造,是世界上第一部使用android 操作系統的手機,支持 wcdma/hspa 網絡 ,理論上下載速度7.

25、2mbit/s,并支持 wi-fi。2.3android 的特點的特點主要特點如下:1.應用程序框架,支持組建的重用于替換。2.dalvik 虛擬機,專門為移動設備做了優化。3.內部集成瀏覽器,該瀏覽器基于開源 web kit 引擎。4.優化的圖形庫,包括 2d 和 3d 的圖形庫,3d 圖庫基于 opengl es 1.0(硬件加速可選) 。5.sqlite,用于結構化的數據存儲。6.多媒體支持,包括常見的音頻,視頻和靜態影像文件格式(如 mpeg4、h.264、mp3、aag、amr、jpg、png、gif)7.gsm 電話(依賴于硬件) 。8. bluetooth、gdge、3g 和 w

26、ifi(依賴于硬件) 。9.照相機、gps、指南針和加速度計(依賴于硬件) 。10.豐富的開發環境,包括設備模擬器、調試工具、內存以及性能分析圖表,以及 eclipse 集成開發環境插件。2.4android 系統工作原理系統工作原理 2.4.1android 的系統架構的系統架構android 是一個層次結構,共分為 4 層架構,分別是去頂層,java 源碼層、java 虛擬環境以及應用環境層,如下圖所示,從底層到高層分別是操作系統層(linux,相關驅動) 、庫(libraries)和運行環境(runtime) 、應用程序框架(application framework) 、應用程序(ap

27、plication) 。 圖 2-1系統機構圖android 系統的各個層次結合了多種高級程序設計語言。第一層由 c 語言實現,第二層由 c/c+實現,第三層和第四層主要由 java 語言實現。從 linux 操作系統的角度來看,第一層和第二層之間是內核空間與用戶空間的分界線,第一層運行于內核空間,第二、三、四層運行于用戶空間。第二層和第三層之間是本地代碼層和 java 代碼層的接口。第三層和第四層之間 android 的系統 api 的接口,在開發 android 應用系統時,只考慮如何調用系統 api,不能看到第三層以下的內容。下面分別詳細介紹各個層次:1.linux 操作系統和驅動and

28、roid 系統內核實際是 linux 系統內核,具有 android 的所有驅動程序,android 應用程序的開發主要依賴于 java,但是 android 也提供了 ndk 編程,可以用 c+編寫動態鏈接庫提供 java 定義的接口使用。2.android 運行庫android 運行庫與 java 運行庫有很大的相似性,所不同的是他把 java 中.jar包封裝為.dex 包,以. dex 的形式進行發布,但是與 java 不同的是,他們用的虛擬機不同,java 使用 jvm,而 android 使用的是 dalvik 虛擬機。3.android 應用程序框架android sdk 的核心

29、代碼與其他編程庫相同,使用很多 api,這些 api可以使得整個編程框架可重用,并且可以編寫新的組件替換以前的組件,提高程序的可重用性。其中,android 的源代碼包括很多現成的服務,主要包括以下幾方面:視圖(view):用于構建用戶界面,包括按鈕、本文框、圖層等。內容提供器(content provider):容器用于訪問其他程序的數據。資源管理器(resource manager):用于管理物理的資源包括圖片、背景色等。通知管理器(notification manager):該部分用于通訊,產生消息在每個activity 之間進行消息的傳遞。活動管理器(activity manager)

30、:在總體布局文件中,注冊 activity 和取消 activity 的注冊,從而管理每個 activity 的生命周期。4.android 應用程序android 程序使用 java 語言進行發布,這些程序中包括實現包含的應用程序,主要包括短消息應用程序(sms) 、聯系人管理程序、e-mail 客戶端、日歷、地圖、瀏覽器等。2.4.2android 的程序結構的程序結構一個 android 應用程序通常有下面 4 個組件組成:活動(activity)、活動內容接收器(intent receiver)、服務(service)、內容提供器(co,tent provider),不是每個程序都有這

31、 4 個,可能你的程序只使用了其中一部分,一旦決定程序包含哪些組件時,就需要在 android manifest .xml 文件中列出它們。1activityactivities 是 4 個組件中最常用的,程序中,activity 通常的表現形式是一個單獨的界面(screen),每個 activity 都是一個單獨的類,它擴展實現了activity 基礎類,這個類顯示為一個由 views 組成的用戶界面,并響應事件,大多數程序有多個 activity。例如,一個文本信息程序有這么幾個界面:顯示聯系人列表界面、寫信息界面、查看信息界面或者設置界面等,每個界面都是一個activity,切換到另一個

32、界面就是載入一個新的 activity,某些情況下,一個 act1vity可能會給前一個 activity 返回值一例如,一個讓用戶選擇相片的 activity 會把選擇到的相片返回給其調用者。2intent receiver當用戶想執行一些與外部事件相關的代碼時,比如來電響鈴時,數據網絡可用時,或者半夜時做些事情,用戶可能需要使用 intent receiver 沒有 ui,盡管它們使用 notification manager 來通知用戶一些好玩的事情發生了,zntent receiver 在andridmanifest.xml 文件中聲明,不過開發者可以使用 context.regist

33、erreciever()來聲明,程序沒有必要運行來等待 intent receiver 被調用,當一個 intent receiver 被觸發時,如何需要的話,系統自然會啟動你的程序,程序也一可以通context#broadcasttntent()來發送自己的 intent 廣播給其他程序。3serviceservice 是一個沒有 ui 且長駐系統的代碼,最佳例子媒體播放器從播放列表中播放歌曲,媒體播放器程序中,可能有一個或多個 activities 讓用戶選擇歌曲播放,然而,在后臺播放歌曲就無需 activity 干涉了,因為用戶希望在音樂播放同時能夠切換到其他界面,既然這樣,媒體播放器八

34、 activity 需要通過 context.startservice()啟動一個 service,這個 service 在后臺運行以保持繼續播放音樂,在媒體播放器被關閉之前,系統會保持音樂后臺播放 service 的正常運行,lifecycleofanandroidapplication 提供更多有關 service 的信息,請注意,你可以用context.bindserviceo 方法連接到一個 service 上如果 service 未運行的話,連接后,還會啟動它,連接上后,你就可以通過一個 service 提供的接口與 service 進行通話,對音樂 service 來說,則提供了暫

35、停、重放等功能。4content provider應用程序把數據存放一個 sqlite 數據庫格式文件里,或者存放在其他有效設備里,如果你想讓其他程序能夠使用你自己程序的數據,content provider 就很有用了,content provider 是一個實現了一系列標準方法的類,這個類使得其他程序能存儲和讀取某種 content provider 可處理的數據。2.4.3工作機制工作機制首先,對 android 應用程序的思想的了解有利于進行 android 相關應用程序開發。android 應用程序并沒有一個統一的入口,程序中的應用與應用之間是相互獨立的,應用都運行在各自的進程當中,

36、根據完成的功能不同,android 劃分了四類核心的組件類:activity、service、broadcast receiver 和 content provider;相同組件和不同組件之間的導航通過 intent 來完成。同時對于可視化界面,例如菜單、對話框、下拉列表等,android 定義了 view 類來進行顯示。activityandroid 中,activity 應用組件是應用程序的根本,android 程序的流程全部在 activity 之中運行,activity 是 android 最基本的一個模塊,也是設計開發人員遇到的最頻繁模塊。在 android 應用程序中,一般手機屏幕

37、的一般就是 activity,如果把手機終端比喻成一個瀏覽器,那么 activity 等同于瀏覽器中一個網頁。在 activity 當中,設計者可以添加一些控件,例如 button、check box 等。可以看到activity 和網頁的概念相似。一般一個 android 應用是由多個 activity 組成的,這多個 activity 之間可以進行相互跳轉。activity 是由 android 系統進行維護的,它也有自己的生命周期,即它的一個產生、運行、銷毀的一個周期,對于 activity,關鍵是其生命周期的把握,其次就是狀態的保存和恢復以及 activity 之間的跳轉和數據傳輸(i

38、ntent)。activity 有三種基本狀態:active 狀態:處于屏幕前景,也就是當前 task 的棧頂 activity 正處于 active 狀態,同一時刻只能有一個 activity 處于 active 狀態;paused 狀態:處于背景畫面狀態,失去了焦點,但依然是活動狀態;stopped 狀態:不可見,但依然保持所有的狀態和內存信息。service service 作為 android 系統四大組件之一 ,與 activity 級別差不多,他可以跟其他的組件進行交互,但它只能在后臺運行,不能自己運行。service 是沒有界面的長生命周期的代碼,也就是說 service 是這樣

39、一種程序,他可以運行很長時間,但是它卻沒有用戶界面。service 主要應用與多場合應用中,例如,檢測 sd card 文件的變化、后臺中記錄移動終端地理位置的變化,又或者是在播放音樂時,使用到別的 activity,那音樂播放程序就需要在后臺運行等等。broadcast receiverbroadcast receiver 通常是用于接收和處理廣播通知 (broadcast announcements)。大部分的廣播都是系統自發發起的,當然程序能播放一個廣播,但如果程序認為有多個通知都很重要,都需要獲得響應。那么,程序通過啟動數個 broadcast receiver 對 intent 進行

40、監聽并隨時查看 intent 的內容,broadcast receiver 通知用戶方式有多種,使得用戶收到有通知需要查看的信息。content providercontent provider 是 android 提供的第三方應用數據的訪問方案。在 android 系統中,各種組件運行在不同的組件上,這意味著數據的共享性,content provider 作為應用程序四大組件之一,它起到在應用程序之間共享數據的作用,同時,它還是標準的數據訪問接口。content provider 內部通常通過強大數據庫支持 sqlite 實現。content provider 也可以封裝文件數據及其他混合的

41、數據。viewview 主要用于展示可視化界面,它屬于 android 圖形用戶界面的基類。android 的圖形界面展示可分為三層:底層是 activity,activity 上面window,window 上面是 views。view 又分為 view 和 view group ,view 是指基本的控件,例如按鈕、單選框、多選框、菜單等;view group 是指布局控件,即用來控制界面中的控件如何布局擺放的。android 的 intent通常,一個 android 應用,主要有四部分組件組成,這四種組件是相互獨立的,而 intent 協調四種不同組件間的相互工作。intent 通過對

42、四種組件之間導航查找的條件的封裝,為 android 四種組件之間的通訊起協助完成的作用,從而使之組成一個完整的、真正意義上的 android 應用。intent 負責進行描述,包括了對應用中一次操作的動作、動作涉及數據、附加數據的描述,android 根據 intent 的描述,找到程序中對應的組件,并給調用的組件傳遞相關的 intent,完成組件的調用,因此,intent 主要是作為一個媒體中介,專門為組件互相調用提供信息,實現調用者與被調用者之間的解耦。在 intent 的描述結構中,有兩個最重要的部分:動作和動作對應的數據。動作部分,典型的包括了 main(activity 的入口)、

43、view、pick、edit 等,而數據部分,通常使用 uri 形式來表示。就如,如果需要查看某人的聯系方式,首先需要創建 intent,其動作類型為 view,數據則是指向某人的 uri。2.4.4開發環境開發環境android 的開發環境和調試工具完全免費,而且功能強大,因此,android 的開發成本相對于 apple 工 0s 的系統開發成本要簡單和低的多 ,android sdk 主要是以 java 為基礎,用戶可以使用 java 語言來開發 android 平臺上的軟件應用,通過sdk 提供的一些工具將其打包成 android 平臺使用的 apk 文件,然后用 sdk 中的模擬器(

44、emulator)來模擬和測試軟件在 android 平臺上運行情況和效果。basic4android 是一個簡單然而功能非常強大的 android 應用;basic4android 語言類似于 visual basic 語言,支持更多的對象;basic4android 將代碼編譯成 android 原生(native)應用,無需其它運行環境的支持。與其它的集成開發環境不同,basic4android 是完全用于 android 應用開發的開發工具,不支持其它平臺。basic4android 包含一個強大的 gui 設計器,內建對多屏和坐標的支持,不需要開發者再寫 xml。開發者可以在 bas

45、ic4android 環境下利用 android 模擬器或android 物理設備(利用 usb 連接或通過本地網絡連接)進行程序開發和調試。basic4android 帶有豐富的庫函數,支持所有的 android 核心特性,因而使其非常容易進行高級應用開發。這些庫函數包括:sql 數據庫、gps、串口(藍牙) 、照相機、xml、json、web 服務(http) 、后臺服務、動畫、網絡(tcp 和 udp) 、文本閱讀(tts)和聲音識別、web 瀏覽、移動電話廣告、圖表、opengl、圖像,等等。basic4android 支持 android1.6 及以上版本(包括平板電腦) 。2.4.

46、5 android 源代碼結構源代碼結構android 代碼的工程分為三個部分:a.核心工程:主要包括 android 工具、android 平臺以及 android 核心代碼。b.擴展工程:包括其他的可以擴展編程的工具,用戶連接其他的系統c.包(package):主要包含了 java 的源代碼,用于實現通訊等功能。2.4.6android 的編譯的編譯直接執行 android 系統根目錄下的 make file 文件,目錄中具有一個編譯文件叫做 android.mk,用于編譯內容與具體位置無關。android 系統編譯完成的結果全部在其根目錄的 out 目錄中,在其他目錄中沒有內容。編譯的結

47、果包括主機工具、目標機程序、目標機映像文件、目標機 linux 內核(需要單獨處理) 。3基于基于 android 的實驗室課程管理系統的實驗室課程管理系統-預約子系統的需求分析預約子系統的需求分析3.1功能需求分析功能需求分析開發 android 實驗室預約系統是一項復雜的系統工程,我們可以通過功能模塊化的辦法來將不同的功能分門別類來進行分析,這樣既可以將整體結構變得清晰,也可能可以使注意力集中至某一類功能上。通過詳細的分析實驗室課程預約系統,我們將該系統分為:登錄模塊、預約信息模塊和實驗室課程預約模塊三大模塊。3.1.1用戶登錄驗證功能分析用戶登錄驗證功能分析這個模塊主要是實現學生或老師登

48、錄及驗證功能。用戶可以通過此模塊進行登錄,進入實驗室課程預約系統。具體功能如下: 用戶登錄 用戶圖 3-1登陸功能示意圖在登陸界面,學生或者老師可以用自己的學號或者工號,密碼默認為學號或者工號后六位。在服務器上輸入信息后,服務器會自動將信息和數據庫中的數據機進行比較,來確定該用戶的信息是否存在,然后確定該用戶是否有權限進入該系統。3.1.2實驗室預約信息功能分析實驗室預約信息功能分析在此模塊中,我們希望學生或者老師能夠看到自己預約信息以及預約歷史記錄。從而清晰地反映出他實驗室的預約情況。該模塊顯示的前提是數據庫中有這個用戶的數據記錄,具體功能如下: 用戶圖 3-2預約功能示意圖如圖所示,在此過

49、程中,客戶端先向預約系統發送學生或者老師的 id 預約信息 登錄 數據庫 預約信息已預約信息 數據庫請求,系統接到請求后將進入數據庫進行查找,若用戶信息存在,則顯示用戶的先關預約信息。如果不存在則不顯示任何信息。3.1.3實驗室預約功能分析實驗室預約功能分析實驗室預約功能是該應用的核心模塊,該模塊主要是處理用戶的預約要求,并由此生成用戶數據,該預約數據將會顯示在預約信息頁面。此模塊主要功能是,用戶輸入預約實驗室課程的詳細信息,然后可選擇確認或者取消。若是確認,系統將數據送到數據庫,然后把當前數據與數據庫中已有的數據進行比較,若無沖突,則會在預約信息模塊顯示預約成功,否則預約失敗。具體功能如下:

50、 用戶實驗室課程預約 預約信息數據庫圖 3-3預約功能分析示意圖4基于基于 android 的實驗室課程管理系統的實驗室課程管理系統-預約子系統的設計及測試預約子系統的設計及測試4.1開發環境的搭建開發環境的搭建4.1.1安裝安裝 android sdk 和和 basic4android1.安裝 basic4android 之前,需要先安裝以下兩個組件: java jdk android sdk 安裝方法:第一步,安裝 java jdk。在 java jdk 下載頁面下載 windows x86 版本的 jdk(java se 即可) ,然后安裝到你喜歡的目錄下,例如,一般安裝到 d:java

51、 目錄下。第二步,安裝 android sdk 及相應的工具。在這一步中應安裝 android 平臺工具及至少一個版本的 android。可以使用 api 8 及以上版本,推薦使用 api 8。如果需要用 usb 直接連接到物理設備上,也可以安裝 google usb 設備驅動程序。圖 4-1程序安裝示意圖點擊,install selected,按鈕將安裝所選擇的組件。1.安裝和配置 basic4android打開 basic4android,執行,tools,菜單下的,configure paths,命令,彈出路徑配置對話框圖 4-2程序安裝示意圖在此對話框中配置 javac.exe 和 a

52、ndroid.jar 的安裝路徑,以及附加的basic4android 庫。2.安裝 android 模擬器運行 basic4android,執行,tools,菜單下的,run avd manager,命令,稍等片刻,將出現 sdk 管理器窗口,如圖圖 4-3程序安裝示意圖執行上面窗口中,tools,菜單下的,manage avds,命令,將出現avd(android virtual device)管理器窗口,如下圖所示。圖 4-4新建 avd 點擊,new,按鈕,出現創建新的 avd 對話框。在該對話框中填寫相應內容,如圖所示圖 4-5avd 參數設置點擊,ok,按鈕,將會創建一個新的 avd,如圖圖 4-6程序安裝示意圖點擊圖上中的,start,按鈕,經過幾個窗口閃爍之后,將出現模擬器啟動窗口圖 4-7模擬器啟動示意圖等待幾分鐘,以便模擬器準備就緒。完全啟動后的模擬器圖 4-8鎖屏情況下的模擬器4.2

溫馨提示

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

評論

0/150

提交評論