版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于Android圖書管理系統(tǒng)開發(fā)【實用文檔】doc文檔可直接使用可編輯,歡迎下載
基于Android圖書管理系統(tǒng)開發(fā)【實用文檔】doc文檔可直接使用可編輯,歡迎下載摘要在科技日益發(fā)達的今天,社會競爭越來越強烈,這要求人們不斷的獲取信息來充實自己。這就要求人們能隨時隨地的了解并獲取所需的信息。于此同時,手機的功能越來越強大,將脫離傳統(tǒng)的打電話、發(fā)短信等基本的功能,在此情況下,圖書管理系統(tǒng)也將進入手機,通過手機可對圖書管理系統(tǒng)進行操作。本系統(tǒng)是在Android平臺下設(shè)計的,在GoogleAndroid平臺的SDK2。3環(huán)境下,運用Eclipse進行開發(fā)。論文概括的介紹了Android開發(fā)的流程,并重點介紹了基于Android平臺的圖書管理系統(tǒng)的開發(fā)過程。論文首先介紹了課題的研究背景、研究現(xiàn)狀和主要研究內(nèi)容;然后對系統(tǒng)中用到的理論知識和相關(guān)技術(shù)進行了詳細的闡述,同時包括對Android平臺的相關(guān)理論知識以及系統(tǒng)的詳細實現(xiàn)過程。關(guān)鍵詞Android,圖書管理,智能手機平臺AbstractNowadays,withscienceandtechnologydevelopingincreasingly,thesocialcompetitionhasbecomemoreandmoreintense。Itrequirespeopletolearnandobtainmoreandmoreinformationtheyneedtoenrichthemselveswheneverandwhereveritispossible.Atthesametime,mobilephoneisbecomingmoreandmorepowerfulthanthosetraditionalphoneswhichcanonlyprovidebasicfunctionssuchasSMS.Underthesecircumstances,BooksManagementSystemwillalsoutilizemobilephonesasatool,throughwhichBooksManagementSystemcanberandomlyoperated.ThissystemisdesignedundertheAndroidplatform,runundertheenvironmentofGoogleAndroidplat(yī)formSDK2。2,anddevelopedbyuseofEclipse.ThearticroducesandgenerallysummarizesthedevelopmentprocessofAndroid,andfocusesontheintroductiontothedevelopmentprocessofBooksManagementSystembasedontheplatformofAndroid.Thethesisfirstintroducesthebackground,thecurrentstatusandmaincontentsoftheresearch;andthenillustratestheoreticalknowledgeandtechniquesusedinthesystemindetailaswellastherelevanttheoreticalknowledgeanddetailedrealizationprocessoftheAndroidplatform.KeyWordsAndroid,LibraryManagement,Intelligentmobilephoneplatform目錄TOC\o"1-3”\h\z\u摘要PAGEREF_Toc357607780\hIAbstractPAGEREF_Toc357607781\hIIHYPERLINK\l"_Toc357607783”第1章緒論PAGEREF_Toc357607783\h1HYPERLINK\l”_Toc357607784"1.1智能手機平臺簡介PAGEREF_Toc357607784\h1HYPERLINK\l"_Toc357607785”1.2Android簡介PAGEREF_Toc357607785\h21。3圖書管理系統(tǒng)簡介PAGEREF_Toc357607786\h3第2章Android的架構(gòu)分析PAGEREF_Toc357607787\h4HYPERLINK\l"_Toc357607788”2。1Android架構(gòu)分析PAGEREF_Toc357607788\h4HYPERLINK\l"_Toc357607789"2.1。1應(yīng)用程序框架PAGEREF_Toc357607789\h4HYPERLINK\l"_Toc357607790"2.1.2類庫PAGEREF_Toc357607790\h42.1.3Android運行時組件PAGEREF_Toc357607791\h52.2Android應(yīng)用的構(gòu)成和工作機制PAGEREF_Toc357607792\h5第3章Android應(yīng)用程序結(jié)構(gòu)剖析PAGEREF_Toc357607793\h6HYPERLINK\l”_Toc357607794"3.1Android的APIPAGEREF_Toc357607794\h63。2Android應(yīng)用程序結(jié)構(gòu)解析PAGEREF_Toc357607795\h6HYPERLINK\l”_Toc357607796"3。2.1活動PAGEREF_Toc357607796\h73。2。2意圖接收器PAGEREF_Toc357607797\h73.2.3服務(wù)PAGEREF_Toc357607798\h8HYPERLINK\l”_Toc357607799"3。2.4內(nèi)容提供者PAGEREF_Toc357607799\h8HYPERLINK\l"_Toc357607800"3.3Android活動的生命周期PAGEREF_Toc357607800\h83。3.1活動的生命狀態(tài)PAGEREF_Toc357607801\h93.3。2活動的運作流程PAGEREF_Toc357607802\h10第4章系統(tǒng)分析設(shè)計PAGEREF_Toc357607803\h12HYPERLINK\l"_Toc357607804”4.1系統(tǒng)分析PAGEREF_Toc357607804\h12HYPERLINK\l”_Toc357607805”4。2系統(tǒng)具體功能:PAGEREF_Toc357607805\h12HYPERLINK\l”_Toc357607806”4。2。1圖書管理端具體功能:PAGEREF_Toc357607806\h124.2.2學(xué)生客戶端PAGEREF_Toc357607807\h13HYPERLINK\l"_Toc357607808"4。3系統(tǒng)模塊設(shè)計PAGEREF_Toc357607808\h13HYPERLINK\l"_Toc357607809"第5章數(shù)據(jù)庫分析與設(shè)計PAGEREF_Toc357607809\h14HYPERLINK\l"_Toc357607810"5。1數(shù)據(jù)庫需求分析PAGEREF_Toc357607810\h14HYPERLINK\l”_Toc357607811"5。2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計PAGEREF_Toc357607811\h14HYPERLINK\l”_Toc357607812”5。3數(shù)據(jù)庫表的設(shè)計PAGEREF_Toc357607812\h17HYPERLINK\l”_Toc357607813"第6章搭建開發(fā)環(huán)境PAGEREF_Toc357607813\h20HYPERLINK\l"_Toc357607814"6.1AndroidSDK的安裝及環(huán)境變量的配置PAGEREF_Toc357607814\h20HYPERLINK\l”_Toc357607815"6.2Eclipse集成開發(fā)環(huán)境的搭建PAGEREF_Toc357607815\h21HYPERLINK\l"_Toc357607816"6.3模擬器的創(chuàng)建和運行PAGEREF_Toc357607816\h22HYPERLINK\l"_Toc357607817"第7章系統(tǒng)詳細設(shè)計與實現(xiàn)PAGEREF_Toc357607817\h23HYPERLINK\l"_Toc357607818"7。1歡迎界面的設(shè)置7818\h23HYPERLINK\l”_Toc357607819"7。2學(xué)生端登錄模塊PAGEREF_Toc357607819\h25HYPERLINK\l”_Toc357607820”7.2.1登錄界面的開發(fā)PAGEREF_Toc357607820\h26HYPERLINK\l"_Toc357607821"7.2.2登錄界面功能是實現(xiàn)PAGEREF_Toc357607821\h27HYPERLINK\l"_Toc357607822”7。2。3數(shù)據(jù)庫操縱方法的實現(xiàn)PAGEREF_Toc357607822\h277.3。1學(xué)生端主界面的開發(fā)PAGEREF_Toc357607824\h29HYPERLINK\l”_Toc357607825”7。3.2界面跳轉(zhuǎn)控制功能PAGEREF_Toc357607825\h30HYPERLINK\l”_Toc357607826"7。4學(xué)生端查詢模塊PAGEREF_Toc357607826\h31HYPERLINK\l"_Toc357607827”7。4。1查詢主界面及其功能開發(fā)PAGEREF_Toc357607827\h327.4。2個人已借圖書查詢界面及功能607828\h33HYPERLINK\l”_Toc357607829"7.4。3管內(nèi)圖書查詢界面及其功能開發(fā)PAGEREF_Toc357607829\h347。4.4數(shù)據(jù)庫操作方法的實現(xiàn)PAGEREF_Toc357607830\h35HYPERLINK\l"_Toc357607831"7.5學(xué)生端圖書掛失功能PAGEREF_Toc357607831\h36HYPERLINK\l"_Toc357607832”7.5.1掛失界面及其功能的開發(fā)PAGEREF_Toc357607832\h37HYPERLINK\l"_Toc357607833"7.5.2數(shù)據(jù)庫操作方法的實現(xiàn)PAGEREF_Toc357607833\h387。6學(xué)生端圖書預(yù)約功能模塊PAGEREF_Toc357607834\h397.6.1圖書預(yù)約界面及其功能的開發(fā)PAGEREF_Toc357607835\h397。6。2數(shù)據(jù)庫操作方法的實現(xiàn)PAGEREF_Toc357607836\h41HYPERLINK\l"_Toc357607837"7.7管理端開發(fā)PAGEREF_Toc357607837\h42HYPERLINK\l"_Toc357607838"7。7。1管理員登陸界面的開發(fā)PAGEREF_Toc357607838\h427.7.2管理員登陸驗證模塊PAGEREF_Toc357607839\h427。8管理端主界面的開發(fā)PAGEREF_Toc357607840\h43HYPERLINK\l"_Toc357607841”7.9圖書管理模塊PAGEREF_Toc357607841\h43HYPERLINK\l”_Toc357607842"7。9。1圖書管理界面的開發(fā)PAGEREF_Toc357607842\h44HYPERLINK\l”_Toc357607843"7.9.2其他圖書管理界面的開發(fā)PAGEREF_Toc357607843\h44HYPERLINK\l"_Toc357607844"7.9。3圖書管理界面的監(jiān)聽方法PAGEREF_Toc357607844\h457。9。4圖書入庫和圖書刪除方法的實現(xiàn)PAGEREF_Toc357607845\h467.9。5圖書查詢和修改圖書信息方法的實現(xiàn)PAGEREF_Toc357607846\h50HYPERLINK\l"_Toc357607847"7.10學(xué)生管理模塊PAGEREF_Toc357607847\h517。10.1學(xué)生管理界面的簡介607848\h517。10.2學(xué)生管理界面的發(fā)開PAGEREF_Toc357607849\h527。10.3數(shù)據(jù)庫操作方法的實現(xiàn)PAGEREF_Toc357607850\h54HYPERLINK\l"_Toc357607851"7.11管理員管理模塊PAGEREF_Toc357607851\h557.11.1管理員管理界面開發(fā)PAGEREF_Toc357607852\h567。11。2管理員管理界面監(jiān)聽方法PAGEREF_Toc357607853\h577.11。3數(shù)據(jù)庫操作方法的實現(xiàn)PAGEREF_Toc357607854\h57HYPERLINK\l”_Toc357607855"7.12管理員圖書查詢模塊PAGEREF_Toc357607855\h597.13管理端圖書掛失模塊PAGEREF_Toc357607856\h59HYPERLINK\l"_Toc357607857”7.14管理端圖書借閱預(yù)約模塊PAGEREF_Toc357607857\h60HYPERLINK\l"_Toc357607858”7.14.1圖書借閱功能按鈕監(jiān)聽PAGEREF_Toc357607858\h617。14.2數(shù)據(jù)庫操作方法的實現(xiàn)PAGEREF_Toc357607859\h62HYPERLINK\l"_Toc357607860”7.15欠款繳納模塊PAGEREF_Toc357607860\h62HYPERLINK\l”_Toc357607861”7.15.1欠款繳納界面的開發(fā)PAGEREF_Toc357607861\h637.15.2數(shù)據(jù)操作方法的實現(xiàn)PAGEREF_Toc357607862\h63結(jié)論PAGEREF_Toc357607863\h64致謝PAGEREF_Toc357607864\h65參考文獻PAGEREF_Toc357607865\h66第1章緒論1.1智能手機平臺簡介智能手機(Smartphone),是指“像個人電腦一樣,具有獨立的操作系統(tǒng),可以由用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序,并可以通過移動通訊網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入的這樣一類手機的總稱”。在所有智能手機操作系統(tǒng)中,他們之間的應(yīng)用軟件互不兼容。因為可以安裝第三方軟件,所以智能手機有豐富的功能。智能手機的誕生,是掌上電腦(PocketPC)演變而來的。最早的掌上電腦是不具備手機的通話功能,但是隨著用戶對于掌上電腦的個人信息處理方面功能的依賴的提升,又不習(xí)慣于隨時都攜帶手機和PPC兩個設(shè)備,所以廠商將掌上電腦的系統(tǒng)移植到了手機中,于是才出現(xiàn)了智能手機這個概念。智能手機比傳統(tǒng)的手機具有更多的綜合性處理功能,比如Symbian操作系統(tǒng)的S60系列,以及一些MeeGo操作系統(tǒng)的智能手機。然而,就新近的發(fā)展來看,這些智能手機的類型有相融合的趨勢.智能手機同傳統(tǒng)手機外觀和操作方式類似,不僅包含觸摸屏也包含非觸摸屏的數(shù)字鍵盤手機和全尺寸鍵盤操作的手機.但是傳統(tǒng)手機都使用的是生產(chǎn)廠商自行開發(fā)的封閉式操作系統(tǒng),所能實現(xiàn)的功能非常有限,不具備智能手機的擴展性.“智能手機(SmartPhone)"這個說法主要是針對“功能手機(Featurephone)”而定義的,本身并不意味著這個手機有多“智能(Smart)”;從另一個角度來講,所謂的“智能手機(SmartPhone)”就是一臺可以隨意安裝和卸載應(yīng)用軟件的手機(就像電腦那樣)?!肮δ苁謾C(Featurephone)”是不能隨意安裝卸載軟件的,JAVA的出現(xiàn)使后來的“功能手機(Featurephone)”具備了安裝JAVA應(yīng)用程序的功能,但是JAVA程序的操作友好性,運行效率及對系統(tǒng)資源的操作都比“智能手機(SmartPhone)”差很多。智能手機具有五大特點:(1)具備無線接入互聯(lián)網(wǎng)的能力,即需要支持GSM網(wǎng)絡(luò)下的GPRS或者CDMA網(wǎng)絡(luò)的CDMA1X或3G(WCDMA、CDMA-2000、TD-CDMA)網(wǎng)絡(luò),甚至4G(HSPA+、FDD-LTE、TDD-LTE).(2)具有PDA的功能,包括PIM(個人信息管理)、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁。(3)具有開放性的操作系統(tǒng),擁有獨立的核心處理器(CPU)和內(nèi)存,可以安裝更多的應(yīng)用程序,使智能手機的功能可以得到無限擴展。(4)人性化,可以根據(jù)個人需要擴展機器功能。根據(jù)個人需要,實時擴展機器內(nèi)置功能,以及軟件升級,智能識別軟件兼容性,實現(xiàn)了軟件市場同步的人性化功能。(5)功能強大,擴展性能強,第三方軟件支持多。1.2Android簡介Android一詞的本意是指“機器人",同時也是Google于2007年11月5日宣布的,基于Linux平臺開源手機操作系統(tǒng)的名稱,該平臺有操作系統(tǒng),中間件,用戶界面和用用軟件組成,號稱是首個為移動終端打造的真正開放和完整的解決方案。從此,人們不在受PC束縛,無論走到哪里只要有一部Android手機,并且有移動信號,就可以隨時隨地的進行辦公、瀏覽資訊、網(wǎng)上沖浪、極大地方便了人們的生活。正因如此,Android僅僅用了3年左右的時間,就迅速的成長為全球第一大的移動終端平臺,不僅廣泛應(yīng)用到了智能手機領(lǐng)域,在平板電腦、智能導(dǎo)航儀、智能MP4領(lǐng)域也有很大的影響,深受移動終端生產(chǎn)廠商和廣大用戶的青睞.Android基于Linux技術(shù)開發(fā),有操作系統(tǒng)、用戶界面、應(yīng)用程序組成,允許開發(fā)人員自由獲取,修改源代碼,也就是說這是一套具有開源性質(zhì)的移動終端解決方案。具有以下特點:(1)開放性(2)所有的應(yīng)用程序都是平等的;(3)應(yīng)用程序間無界限;(4)快速方便的應(yīng)用程序開發(fā)。Android平臺采用的是一種被稱為軟件疊層(SoftwareStack)的方式進行構(gòu)造.這種軟件底層結(jié)構(gòu)使得層與層之間相互分離,明確各層分工。這種分工保證了層與層之間的低耦合,當下層的層內(nèi)或者層下發(fā)生改變時,上層應(yīng)用程序無序任何改變Android是由5大部分組成,如圖2.1所示:圖2。1Android架構(gòu)的五個部分(1)應(yīng)用程序?qū)?這層中包含了核心的應(yīng)用程序這些程序都是用Java編寫的。(2)應(yīng)用程序框架:應(yīng)用程序框架除了可以作為應(yīng)用程序開發(fā)的基礎(chǔ)之外,也是軟件復(fù)用的重要手段,任何一個應(yīng)用程序都可以發(fā)布它的功能模塊,只要發(fā)布時遵守了框架的預(yù)訂,那么其他應(yīng)用也可以使用這個功能模塊。(3)函數(shù)庫:包含了一套被不同組件所使用的C/C++庫集,Android應(yīng)用開發(fā)者不能直接的調(diào)用這套庫集,但是可以通過它上層的應(yīng)用程序框架來調(diào)用這些庫。(4)Android運行時:是由Android核心庫集和Dalvik虛擬機組成的。(5)Linux內(nèi)核:它提供了安全性、內(nèi)存管理、進行管理、網(wǎng)路協(xié)議、和驅(qū)動模塊等核心系統(tǒng)服務(wù),除此之外它還是系統(tǒng)硬件和軟件疊層之間的抽象層.1.3圖書管理系統(tǒng)簡介隨著各圖書館的圖書的數(shù)量不斷增多和圖書館規(guī)模的不斷擴大,管理這些龐大的體系是非常困難的,因為圖書的情況是隨時改變的,因此必須對圖書進行動態(tài)的管理,而這對于一個管理人員來說是一件比較復(fù)雜的事情,存儲、查詢、借閱是必不可少的業(yè)務(wù)?;贏ndroid移動設(shè)備漸漸的普遍起來,人們逐漸渴望移動辦公的實現(xiàn),即僅僅通過一部智能手機就可以完成大部分的工作量。為了能讓管理員從繁重的工作中解脫出來,讓管理員在使用這個軟件以后能極其容易且方便的對所有圖書進行管理,并且準確無誤,輕松自如,因此開發(fā)一個圖書管理系統(tǒng)軟件是當務(wù)之急,也是本畢業(yè)設(shè)計選題的重要意義和研究宗旨。本軟件為圖書管理員與學(xué)生通過移動平臺來查詢圖書的借閱、預(yù)約等情況,方便用戶隨時查看圖書使用情況。第2章Android的架構(gòu)分析Android是一個包含操作系統(tǒng)、中間架構(gòu)層及應(yīng)用程序所產(chǎn)生出來的軟件堆棧架構(gòu).由下而上,其核心為嵌入式Linux2。6作業(yè)系統(tǒng),向上搭配Google為Android開發(fā)的類庫及Android運行時,再配合應(yīng)用程序架構(gòu),來開發(fā)各種不同的應(yīng)用程序。2。1Android架構(gòu)分析2。1.1應(yīng)用程序框架在AndroidSDK中,定義了可以讓開發(fā)者使用的與核心程序相同的API,程序框架是為了要簡化組件,重新利用而設(shè)計的新的框架,應(yīng)用程序可以發(fā)布功能,為其它的程序所使用。但是,這要受限于程序架構(gòu)的安全機制。使用者以同樣的機制來進行新增,置換組件。目前所有的程序是由服務(wù)以及系統(tǒng)來組成。包括:(l)一套擴展的視圖系統(tǒng):用來創(chuàng)建一個應(yīng)用程序的基本組件,包括在開發(fā)系統(tǒng)界面的時候,常常使用的列表、網(wǎng)格、文本框、按鈕等控制項,甚至是內(nèi)嵌的Web瀏覽器。(2)內(nèi)容提供者:可以使應(yīng)用程序訪問到另外一個應(yīng)用程序中的數(shù)據(jù),或者共享自己的數(shù)據(jù)。(3)資源管理器:提供非程序代碼資源,讓應(yīng)用程序去使用。如:本字符串、圖形文件或者排版相關(guān)布局文件.(4)通知管理器:提供程序在狀態(tài)欄上顯示應(yīng)用程序自定義提示信息。(5)活動管理器:管理所有應(yīng)用程序的生命周期以及提供的常用的導(dǎo)航回退功能。如:啟動應(yīng)用程序就要使用資源準備以及關(guān)閉應(yīng)用程序的時候釋放掉的內(nèi)存以及相關(guān)資源等工作。(6)視窗管理器:用來管理所有啟動的應(yīng)用程序的視窗。(7)位置管理器:用來管理與地圖相關(guān)的服務(wù)和功能。(8)電話管理器:用來管理用戶撥打或者接聽電話的功能.(9)包管理器:管理所有安裝在Android系統(tǒng)內(nèi)的安裝包.2。1。2類庫Android包含了一組被Android系統(tǒng)各種組件使用的C/C++類庫。這些類庫通過Android應(yīng)用框架暴露給開發(fā)者。下面列出一些核心類庫:(1)系統(tǒng)C庫:派生與BSD的標準C庫(libc)的實現(xiàn),并且基于嵌入式的Linux設(shè)備進行了調(diào)整;(2)多媒體庫:基于PacketVideo公司OpenCORE的多媒體類庫,這個類庫支持許多流行的音/視格式的回放和錄音,以及靜態(tài)的圖片文件,如:PPEG4、H。264、MP3、AAC、JPG、PNG。(3)界面管理器:管理對顯示子系統(tǒng)的訪問,并且把應(yīng)用程序與2D和3D圖形層無縫的融合到一起。(4)LibWebCore:一個現(xiàn)代的Web瀏覽器引擎,Android瀏覽器和可嵌入的WebView組件都基于這個引擎。(5)SGL:底層的2D圖形引擎;(6)3D類庫:基于OpenGLES1.0API的實現(xiàn),這個類庫既可以是硬件3D加速(如果硬件加速有效),也可以包含高度優(yōu)化的3D軟件光柵處理器(7)FreeType:位圖和矢量字體渲染;(8)SQLite:一個強大的輕量級關(guān)系數(shù)據(jù)庫引擎,對所有的應(yīng)用程序有效。2。1.3Android運行時組件雖然Android是用Java語言來開發(fā)、撰寫應(yīng)用程序,但卻不使用Java運行時組件來執(zhí)行Java程序,而是使用了由Google自行研發(fā)的Android運行時組件來執(zhí)行程序。Android運行時組件包含有兩個重要的部分,核心類庫和Dalvik虛擬機。2.2Android應(yīng)用的構(gòu)成和工作機制對于一個Android應(yīng)用程序來說,是由Activity、IntentReceiver、Service、ContentProvider四部分組成,但并不是每一個Android應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時,需要在配置文件AndroidManifest.xml中進行配置。這個配置文件是每個Android應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。Android應(yīng)用的構(gòu)成和工作流程如圖2.2所示:圖2。2Android的構(gòu)成和工作流程第3章Android應(yīng)用程序結(jié)構(gòu)剖析3。1Android的APIAndroidAPI主要包含以下幾個部分:(1)AndroidManifest.xml(清單文件)AndroidManifest.xml(清單文件)是系統(tǒng)的控制文件,它將要告訴系統(tǒng)將要如何的處理所創(chuàng)建的所有的應(yīng)用組件(尤其是Activity,Service,IntentReceiver)和內(nèi)容提供者(ContentProvider))。舉例來說:清單文件就是把活動和要接收的意圖(Intent)連在一起的“膠水”。(2)活動活動就是一個具有生命周期的對象。一個活動就是要完成某些功能的代碼塊,這部分工作還可以包括對用戶UI界面顯示.不過這不是必須有的,有些活動從不顯示UI布局.(3)視圖視圖可以將其自身繪制到顯示屏上.Android的用戶界面是由一系列的視圖組成的。接口都是由一組視圖組成的。開發(fā)者可以通過使用新創(chuàng)新的視圖,來使用自定義的圖形界面的處理技術(shù)。(4)意圖意圖是簡單的消息對象,它表示的是程序想做某件事的意圖.比如程序想要顯示一個網(wǎng)頁界面,那么,它可以通過創(chuàng)建一個意圖實例,將值傳遞給系統(tǒng)來進行表示意圖,瀏覽這個URI.系統(tǒng)將定位到能夠處理這意圖的代碼,并運行.意圖也用于廣播系的有效事件的傳遞.(5)服務(wù)服務(wù)就是運行在后臺的一段代碼。它可以運行在它自己的進程中,也可以運行在其他程序的進程中,這取決于自身需要。其它組件可以綁定一個服務(wù)中取,通過遠程AIDL調(diào)用這個方法。比如:媒體播放器服務(wù),當用戶退出媒體界面時,仍然希望音樂可以繼續(xù)播放,這個時候就可以使用服務(wù)來確保當用戶關(guān)閉界面的時候音樂還能繼續(xù)播的播放.(6)通知通知將以小圖標形式展現(xiàn)在狀態(tài)欄中,用戶通過與圖標交互,來接收信息。最常見的通知包括:短信息,通話記錄,語音郵件等,但是程序也可以創(chuàng)建自己的通知事件。(7)內(nèi)容提供者內(nèi)容提供者是用來提供設(shè)備上數(shù)據(jù)訪問的.典型例子:使用內(nèi)容提供者訪問聯(lián)系人。程序也可以用其它程序的內(nèi)容提供者提供的數(shù)據(jù),同時也可以自定義自己的內(nèi)容提供者來向別的程序提供數(shù)據(jù).3.2Android應(yīng)用程序結(jié)構(gòu)解析通常由四大組件構(gòu)建一個完整的Android應(yīng)用程序。(1)活動(2)意圖接收器(3)服務(wù)(4)內(nèi)容提供者然而,并不是所有的Android程序都必須具備上面的四大組件,可以由上面的一個或幾個來進行組建.當決定使用哪些組件來構(gòu)建Android程序的時候,需要將它們注冊在AndroidManifest.xml(清單文件)中,這是一個XML文件,在文件中可以聲明程序組件和它們的要求。這個配置文件是每個Android程序所必需具備的。3。2.1活動活動是以上四大組件中最常用的一個組件.每個活動都是繼承于Activity的子類,并實現(xiàn)了一些各自的功能,如管理UI的顯示和UI的事件。一個活動就相當于程序給用戶的一個顯示界面,由事件、響應(yīng)視圖等組成.大多數(shù)的程序通常要包括多個界面。如:聊天應(yīng)用程序,應(yīng)該包含一個聯(lián)系人的界面、一個聊天的界面、一個設(shè)置的界面、一個聊天記錄查詢的界面等等.每個界面都可看作是一個活動。顯示一個新的界面就相當于生成了一個對應(yīng)的活動。在一些特殊的情況下,一個活動能夠給它上級界面一個返回值,如:提供給用戶選擇照片的活動,可以返回給調(diào)用它的用戶照片文件。當新的Activity(活動)出現(xiàn)時,前一個Activity(活動)被中斷,并被放入到一個歷史堆棧中。用戶可以使用返回鍵調(diào)用前一個Activity(活動).當Activity(活動)不再需要的時候,可以將它們從歷史的堆棧中移除。默認的情況下,Activity(活動)應(yīng)用程序會把每個Activity(活動)到歷史的堆棧中去。Android應(yīng)用程序通過Intent(意圖)類,來實現(xiàn)界面與界面之間的跳轉(zhuǎn).一個Intent(意圖)描述了一個程序想要做的事情.在Intent(意圖)的描述結(jié)構(gòu)中,含有兩個重要數(shù)據(jù):動作與動作對應(yīng)的數(shù)據(jù)。典型的動作類型有MAIN、VIEW等,而Activity(動作)對應(yīng)的數(shù)據(jù)則要用URI的形式展現(xiàn)出來。除此之外,還有一個被稱作意圖過濾器的相關(guān)類。當發(fā)生一個有效目的請求的時候,意圖過濾器就要用來描述這個能夠處理什么樣的意圖。通常意圖過濾器要被注冊在AndroidManifest。xml(清單文件)中。從一個界面轉(zhuǎn)到另外的一個界面是由各種意圖來實現(xiàn)的.隨后,這個活動接收到的意圖(Intent)的通知并開始進行運行.當startActivity的方法被調(diào)用了,解析這個意圖處理過的程也隨之發(fā)生。3.2.2意圖接收器開發(fā)者可以使用IntentReceiver讓自己的應(yīng)用對一個外部事件做出響應(yīng),比如當電話呼入時,或者當數(shù)據(jù)網(wǎng)絡(luò)可用時,或者時間到晚上了。IntentReceiver不能顯示用戶界面,它只能通過Notificat(yī)ionManager通知用戶這些有趣的事情發(fā)生了。IntentReceiver既可以在AndroidManifest.xml中注冊,也可以在代碼中使用Context.registerReceiver()進行注冊.但是當這些有趣的事情發(fā)生時,應(yīng)用不必對請求調(diào)用IntentReceiver,系統(tǒng)會在需要的時候啟動應(yīng)用,并在必要的情況下觸發(fā)IntentReceiver。各種應(yīng)用還可以通過使用Context。broadcastIntent()將它們自己的Intent廣播給其他應(yīng)用程序。3.2。3服務(wù)服務(wù)(Service)也是Android的四大組件之一,它和Activity最為相似,他們都代表可執(zhí)行的程序,Service與Activity的區(qū)別在于:Service一直在后臺進行運行,它沒有用戶的界面,所以絕不會到前臺來,它和Activity一樣具有自己的生命周期。內(nèi)容提供者在Android中,每個應(yīng)用程序都有它們自己的ID并且可以在自己的進程中進行執(zhí)行.這樣做的好處是:(1)可以保護系統(tǒng)和應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響。(2)可以把每個進程想像成是一個黑盒子,進程之間不會互相影響,連內(nèi)存的資料都無法進行共享。如果應(yīng)用程序之間要共享數(shù)據(jù),就需要用到內(nèi)容提供者。內(nèi)容提供者就是一個類,它實現(xiàn)了一個方法集合,其他的應(yīng)用程序可以去使用這些方法來保存和檢索這個內(nèi)容提供者處理過的數(shù)據(jù).3。3Android活動的生命周期Android平臺是個手機操作系統(tǒng).先把其他功能撇掉不談,根據(jù)手機的特性,就應(yīng)該能夠隨時隨地的在未完成目前動作時候,暫停正在使用功能,切換到接聽電話、接收短信的模式,而且在接聽完電話回到應(yīng)用程序的時候,還希望能看到之前操作一樣的內(nèi)容.現(xiàn)在用戶使用的智能手機大多已經(jīng)習(xí)慣使用能夠后臺處理的作業(yè)系統(tǒng)(比如WindowsMobile),可以在使用手機聽音樂的同時,執(zhí)行其他多個應(yīng)用程序。同時執(zhí)行多個應(yīng)用程序有它明顯的好處,但也有它的缺點。每多開啟一個應(yīng)用程序,就會多耗費一些系統(tǒng)的內(nèi)存,而手機里的內(nèi)存是有限的。當同時開啟的應(yīng)用程序過多的時候,或者是關(guān)閉的程序沒有釋放掉內(nèi)存,系統(tǒng)會越來越慢,甚至不穩(wěn)定,最后到死機。為解決這個問題,Android引入了一個新的機制:“生命周期”。Android應(yīng)用程序的生命周期是交給Android的框架進行管理的,而不是由應(yīng)用程序直接進行控制的。通常,每個應(yīng)用程序,都會占用一個進程。當系統(tǒng)內(nèi)存不足的時候,會依照優(yōu)先級來自動進行進程的自動回收.不管是使用者還是開發(fā)者,都無法確定應(yīng)用程序什么時候會被回收。一個活動類,除了OnCreate(創(chuàng)建)方法之外,還定義了onPause(暫停)、OnResume(繼續(xù))等等的基本方法,當一個活動切換到另外一個活動的時候,原來的活動將會經(jīng)過一連串的狀態(tài)的改變。開發(fā)者可以在程序中添加一些狀態(tài)相對應(yīng)的流程,每次活動狀態(tài)改變的時候,就會執(zhí)行相對應(yīng)的流程的操作。要讓用戶有更好的使用體驗,活動需要在各個周期內(nèi)負責(zé)保管狀態(tài),恢復(fù)狀態(tài),傳送資料的工作。3。3。1活動的生命狀態(tài)Android的虛擬機是使用堆棧來進行管理的。其主要有四種狀態(tài):(l)活動狀態(tài):活動狀態(tài)是指用戶啟動了應(yīng)用程序或活動結(jié)束后,活動運行時的狀態(tài).在Android平臺上,同一個的時刻只能有一個活動處于活動或者運行的狀態(tài)。其他的活動都會處于未啟動,停止或是暫停狀態(tài).(2)暫停狀態(tài):暫停狀態(tài)是指當活動暫時停止下來的時候,退到背景畫面狀態(tài)。當警告對話框或者電話到來的時候,都會讓原來運行活動退到背景畫面中。新出現(xiàn)的警告對話的框等界面元件蓋住掉了原來的活動的畫面.活動處在暫時停止的狀態(tài),用戶無法與原來的活動互動.(3)停止狀態(tài):停止狀態(tài)是指有了其他活動正在執(zhí)行中,而這個活動己離開了屏幕,不再執(zhí)行動作的狀態(tài)。通過按返回鍵就可以查看所有處于停止狀態(tài)應(yīng)用程序的列表.處于停止狀態(tài)的活動還可以通過通知來進行喚醒。(4)已回收或未啟動狀態(tài)已回收的或未啟動的狀態(tài)是指活動未被啟動或者已經(jīng)被手動終止的狀態(tài)。要手動終止活動,可以在系統(tǒng)中進行調(diào)用finish(結(jié)束)的方法。如果是被系統(tǒng)回收的,可能是因為內(nèi)存不足,所以系統(tǒng)會根據(jù)內(nèi)存不足的回收規(guī)則,將停止狀態(tài)的活動其占用的內(nèi)存進行回收。圖3.1Android活動生命周期圖3.1所示的七個狀態(tài)又可以歸納為三組:(l)資源分配完整的活動的生命周期是由創(chuàng)建狀態(tài)開始由銷毀狀態(tài)而結(jié)束.創(chuàng)建的時候分配資源,銷毀的時候釋放資源.(2)可見與不可見當活動運行到啟動的狀態(tài)的時候,就可以在顯示屏上看到這個活動。相反當活動運行到停止的狀態(tài)的時候,這個活動就會從顯示屏上消失.當用戶按下返回鍵,回到上一個活動界面的時候,會先到重新啟動的狀態(tài),再到一般啟動的狀態(tài)。(3)用戶取得屏幕的控制權(quán)當有個警告對話框,短信,電話等信息到來的時候,原來活動會進入暫停的狀態(tài),暫時放棄對顯示屏的控制權(quán),被中斷到了背景中去,將前景交給了優(yōu)先級較高的事件。當這些優(yōu)先級較高的事件處理完畢后,活動就會進入繼續(xù)的狀態(tài),此時又獲取到了顯示屏的控制權(quán)。3.3.2活動的運作流程根據(jù)實際的運行來觀察,我們可以總結(jié)出所有Android程序都遵循的運作的流程:(l)一般啟動啟動一個活動的基本流程為:onCreate到onStart到onResume.該流程是首先將分配的資源給這個活動,然后將活動內(nèi)容顯示到顯示屏上,在一切準備就緒后,取得顯示屏的控制權(quán),用戶就可以開始使用這個應(yīng)用程序。(2)調(diào)用另一個活動調(diào)用另一個活動的基本流程為:onPause到onCreat(yī)e到onStart到0nResume到onStop。該流程將首先凍結(jié)原來活動,再交出顯示屏上的控制權(quán),直到活動完成之后,活動才會被停止。(3)回到原來活動回到原來活動的基本流程為:onPause(2)到onRestart(1)到onStart(l)到onResume(1)到onStop(2)到onDestroy(2)。另外按返回鍵也是可以回到原來活動的。(4)退出結(jié)束退出結(jié)束的基本流程為:onPause到onStop到onDestroy.如果應(yīng)用程序中有直接進行調(diào)用finish方法來結(jié)束活動的,系統(tǒng)就會跳過原先凍結(jié)的階段,直接進行暫停,停止,最后進行銷毀。(5)回收后再啟動回收后再啟動的基本流程為:onCreate到onStart到onResume.如果被系統(tǒng)回收機制回收掉的活動一旦又要重新被調(diào)用的時候,就會像一般的啟動那樣再次被調(diào)用到活動的onCreat(yī)e方法中去.當在模擬器上已經(jīng)執(zhí)行了過多個的應(yīng)用程序的時候,只要按下返回鍵按鈕,就會開啟最近一次開啟的活動。這時要是按下多次的返回鍵,理論上遲早會返回到某個已經(jīng)銷毀的活動中去.如果應(yīng)該開啟的活動己經(jīng)被系統(tǒng)的回收機制進行回收了,那么這個活動會就會被再次的創(chuàng)建.再次被創(chuàng)建的活動,跟之前開啟過的活動是不相同的。所以如果要讓新被創(chuàng)建的活動跟原來開啟過的活動是一樣的,那么在活動之間切換的時候就要保存其資料:在每次活動運行到暫?;蛘咄V範顟B(tài)的時候先保存資料最后在創(chuàng)建的時候把資料讀取出來。第4章系統(tǒng)分析設(shè)計4.1系統(tǒng)分析圖書管理系統(tǒng)總的來說分為兩個用戶端。一端為管理員客戶端,一端為學(xué)生客戶端,兩端共訪問一個數(shù)據(jù)庫。管理員客戶端為管理員使用的客戶端,主要是進行圖書與學(xué)生的管理,通過圖書管理端查詢?nèi)粘=钑畔ⅰW(xué)生客戶端為學(xué)生使用的客戶端,主要是對圖書的查看、掛失、預(yù)約的操作。具體結(jié)構(gòu)如圖4.1所示:圖4。1系統(tǒng)結(jié)構(gòu)圖4.2系統(tǒng)具體功能:4.2。1圖書管理端具體功能:(1)圖書管理:圖書查詢,通過圖書編號查看圖書信息;圖書入庫,添加圖書信息,在數(shù)據(jù)庫中添加一本新的圖書,添加的數(shù)據(jù)有圖書編號(ISBN)、購買日期、書名、作者、出版社、是否借閱、是否預(yù)約、簡介(2)學(xué)生管理:學(xué)生查詢,通過學(xué)號查看學(xué)生信息;添加學(xué)生,在數(shù)據(jù)庫中新添加一條學(xué)生信息,添加的數(shù)據(jù)有學(xué)號、姓名、性別、借書時間、年齡、電話、班級、院系、密碼(3)管理員管理:添加管理員,新添加以為管理員,數(shù)據(jù)有管理員用戶名、密碼、權(quán)限;刪除管理員,如果當前管理員的權(quán)限為“高級”則此管理員具有新增管理員和刪除管理員的功能;通過用戶名查看管理員;修改密碼(4)查詢:查詢書籍,可以通過書名、出版商、作者查詢圖書信息(5)掛失:圖書丟失,管理員可查詢出誰丟失了圖書(6)預(yù)約:管理員可查詢出哪位學(xué)生預(yù)約借書(7)繳納欠費:功能暫無4。2.2學(xué)生客戶端查詢:學(xué)生用戶可以對管內(nèi)的圖書資料進行簡單和高級的查詢掛失:圖書不慎丟失,可以在學(xué)生端中實現(xiàn)掛失。預(yù)約:當查詢是發(fā)現(xiàn)要借閱的圖書已經(jīng)被借閱,可以提前預(yù)約。4.3系統(tǒng)模塊設(shè)計圖4。2系統(tǒng)模塊示例圖第5章數(shù)據(jù)庫分析與設(shè)計5。1數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入.收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為以后的具體設(shè)計打下基礎(chǔ)。 針對一般圖書管理信息系統(tǒng)的需求,通過對圖書管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):(1)學(xué)生表基本信息表(Student),包括的數(shù)據(jù)項有:學(xué)生編號、學(xué)生姓名、學(xué)生年齡、學(xué)生性別、班級、院系、聯(lián)系方式、借閱許可、密碼(2)管理員基本信息表(manager),包括的數(shù)據(jù)項有:管理員賬戶、管理員權(quán)限、管理員密碼(3)圖書基本表1(book),包括的數(shù)據(jù)項有:國際標準書號、圖書名稱、作者、出版社、購買時間(4)圖書基本信息表2(bdetailedinfomation),包括的數(shù)據(jù)項有:圖書館的書號、國際標準書號、是否借閱、是否預(yù)約、圖書的簡介(5)借書信息表(record),包括的數(shù)據(jù)項:圖書編號、學(xué)生編號、借書時間、還書時間、是否借書、是否預(yù)訂(6)超期圖書信息表表(overtime),包括的數(shù)據(jù)項:學(xué)生編號、圖書編號、圖書名稱、超期天數(shù)。(7)預(yù)約圖書信息表(orderbook),包括的數(shù)據(jù)項:書號、學(xué)生姓名、班級、書名、學(xué)生學(xué)號、作者(8)掛失書籍表(losebook),包括的數(shù)據(jù)項:掛失編號、圖書編號、圖書名稱、學(xué)生編號.有了上面的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項,就可以進行下面的數(shù)據(jù)庫設(shè)計了。5.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)局出能夠滿足用戶需求的各種實體,以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。本實例根據(jù)上面的設(shè)計規(guī)劃出的實體有:圖書實體類、學(xué)生信息實體類、管理員信息實體類、預(yù)約圖書實體類、超期圖書實體類、掛失圖書實體類、圖書借閱實體類、圖書信息實體2類.各個實體具體的描述如圖5.1—5.8所示。圖5.1圖書信息實體1E-R圖圖5.2學(xué)生信息實體E-R圖圖5.3管理員信息實體E—R圖圖5.4預(yù)約書籍實體E—R圖圖5.5超期圖書實體E-R圖圖5.6掛失書籍實體E-R圖圖5。7借書信息實體E-R圖圖5.8圖書信息實體2E-R圖5.3數(shù)據(jù)庫表的設(shè)計(1)學(xué)生用戶基本信息表Student:用于記錄學(xué)生的基本信息表5.1學(xué)生基本信息表(Student表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明S_NumVarchar20是否學(xué)號S_NameVarchar50否是姓名S_AgeVarchar10否是年齡S_SexVarchar50否是性別S_ClassVarchar50否是班級S_DepartmentVarchar50否是院系S_PhoneVarchar11否是電話S_PermittedVarchar50否是借閱許可S_PwdVarchar20否是密碼(2)管理員信息表manager:用于記錄管理員基本信息和管理員的權(quán)限表5.2管理員信息表(manager表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明M_NumVarchar20是否管理員IDM_PermittedVarchar50否是圖書管理權(quán)限M_PwdVarchar50否是管理員密碼(3)圖書信息表1book:用于記錄一類(相同的ISBN)圖書的基本信息表5.3圖書信息表1book(1book表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明ISBNVarchar20是否一類圖書標記B_NameVarchar50否是書名B_AuthorVarchar50否是作者B_publishmentVarchar80否是出版社BuyTimeVarchar50否是購入時間(4)圖示信息表2bdetailedinfomat(yī)ion:用戶記錄圖書管內(nèi)不同書號的基本信息表5。4圖書信息表(bdetailedinformation表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明B_NumVarchar20是否圖書館書號ISBNVarchar20否是一類書標記BorrowedVarchar50否是是否借閱OrderedVarchar50否是是否預(yù)約IntroductionVarchar1000否是圖書的簡介(5)圖書借閱信息表record:用于記錄已經(jīng)借閱的圖書的基本信息表5.5圖書借閱信息表record表(record表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明B_NumVarchar20是否書號S_NumVarchar20否是學(xué)號BorrowTimeVarchar50否是借閱時間ReturnTimeVarchar50否是歸還時間BorrowedVarchar50否是是否借閱OrderedVarchar50否是是否預(yù)約(6)超期圖書信息表exceedTime:用于記錄超期圖書的基本信息表5.6超期圖書信息表OverTime(OverTime表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明S_NumVarchar20是否學(xué)號B_NumVarchar20是否書號B_NameVarchar50否是書名OverTimeint20否是超期天數(shù)(7)預(yù)約圖書信息表orderbook:用于記錄預(yù)約圖書的基本信息表5.7預(yù)約圖書信息表Orderbook(Orderbook表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明B_NumVarchar20是否書號S_NameVarchar50否是學(xué)生姓名S_ClassVarchar50否是班級B_NameVarchar50否是書名S_NumVarchar20否是學(xué)生學(xué)號B_AtuthorVarchar50否是作者(8)掛失圖書信息表losebook:用于記錄掛失圖書的基本信息表5.8掛失圖書信息表losebook(losebook表)字段名數(shù)據(jù)類型字段大小是否主鍵是否為空說明GSBNInternetN/A是否掛失書號B_NumVarchar20否是書號B_NameVarchar50否是書名S_NumVarchar20否是學(xué)生學(xué)號第6章搭建開發(fā)環(huán)境6.1AndroidSDK的安裝及環(huán)境變量的配置Android使用的編程語言是時下最流行Java高級語言,Java的跨平臺性和開放性,極大的促進了Android的平臺的發(fā)展.首先要安裝Java的JDK,并且正確的配置系統(tǒng)的環(huán)境變量(基于Windows操作系統(tǒng)),具體步驟如下:(1)下載并安裝最新的JDK安裝程序,登陸Oracle官方網(wǎng)站,免費下載,下載完成后將其安裝到默認的目錄下即可,(2)配置環(huán)境變量.右鍵點擊“我的電腦”圖標,依次選擇屬性—>高級-〉環(huán)境變量命令,添加path變量,值設(shè)置為jdk的安裝目錄下的bin目錄,在系統(tǒng)變量中添加JAVA_HOME變量,值設(shè)為C:\ProgramFiles\Java\jdk1.6.JDK安裝完畢后,接下來需要查看對應(yīng)的版本安裝AndroidSDK。具體步驟如下:(1)登陸Android官方網(wǎng)站下載對用版本的SKD安裝包。網(wǎng)址是http://developer.androi當下最流行的是4。1.2但是最穩(wěn)定的版本還是2.3.3(2)將下載好的SDK解壓縮到硬盤目錄下,并在環(huán)境便令中配置參數(shù),配置的系統(tǒng)便令path值是c:\ProdgramFiles\android-sdk-windows\tools到此,所有的環(huán)境變量設(shè)置完成??梢栽赼ndroid安裝目錄下tools目錄中運行androidlisttargets,如過能夠看見是如下畫面就是安裝成功:圖6.1安裝成功6.2Eclipse集成開發(fā)環(huán)境的搭建完成SDK以及系統(tǒng)環(huán)境變量的配置后,接下來安裝和配置Eclipse集成開發(fā)環(huán)境,具體步驟如下:(1)登陸Eclipse官方網(wǎng)站下載適用版本的Eclipse(2)將下載完的Eclipse安裝包解壓到硬盤中合適位置,雙擊eclipse.exe文件打開Eclipse(3)Eclipse打開后,在Help菜單匯總選擇InstallNewSoftware進入Install界面。可以選擇在線安裝和安裝已經(jīng)下載好的離線安裝包進行安裝。圖6。2安裝ADT界面(4)在Install界面選中DeveloperTools然后點擊Next按鈕進行安裝,耐心等待完安裝后,在彈出的界面中直接單擊Finish按鈕重啟Eclipse按成ADT的安裝圖6.3安裝示意圖(5)打開Eclipse后在windows菜單匯總選擇Preferences。(6)打開Preferences界面選擇Android—>Browse,添加到SDK目錄單擊Ok。圖6。4安裝示意圖6.3模擬器的創(chuàng)建和運行Eclipse集成開發(fā)環(huán)境搭建完成后,接下來就需要創(chuàng)建和運行Android的模擬器了,有Android模擬器才能運行應(yīng)用程序.打開Eclipse后在工具欄中單擊OpenstheAndroidSDKandAVDManager按鈕,如圖所示:圖6.5啟動按鈕打開AndroidSDKandAVDManager打開AndroidSDKandAVDManager窗口后單擊New按鈕,彈出CreatenewAndroidVirtualDevice對話框來進行模擬器的一些設(shè)置,如圖所示:圖6.6創(chuàng)建模擬器第7章系統(tǒng)詳細設(shè)計與實現(xiàn)7。1歡迎界面的設(shè)置本軟件開始執(zhí)行后,在軟件執(zhí)行后就進入了系統(tǒng)的歡迎界面,這個歡迎界面起到的功能是聯(lián)網(wǎng)檢查軟件是否有更新,如果有更新就提示用戶是否進行更新的操作,如果用戶選擇了更新,就進行下載并安裝,如圖7。1所示。圖7。1程序啟動界面主界面的總體實現(xiàn)過程如下:(1)首先創(chuàng)建布局.打開Layout里的main。xml,在這個布局里需要添加2個TextView和1個ImageView的布局。整體布局采用的相對布局的方式。(2)在程序一開始時,框架就反向調(diào)用oncreate方法,然后執(zhí)行setContentView()。執(zhí)行setContentView方法的時候后,就去讀?。韆in。xml的內(nèi)容,依據(jù)它來進行屏幕畫面的布局,并顯示出來。并可以在main。xml中設(shè)置背景圖片。圖7。2歡迎界面布局(3)鏈接網(wǎng)絡(luò)進行版本的檢查:圖7。3聯(lián)網(wǎng)進行軟件版本檢測示例代碼(4)提示用戶有新的版本是否進行下載:圖7.4提示用戶進行下載示例代碼在下載完成后,用戶點擊安裝軟件的方法:調(diào)用的系統(tǒng)的安裝意圖,進行apk的一個安裝圖7.5安裝新版本示例代碼7.2學(xué)生端登錄模塊通過歡迎界面之后,就到了登陸的界面,用戶登陸界面主要包含用戶名的輸入文本框和密碼輸入框,以及登陸按鈕和重置按鈕以及頁面下方的圖書介紹插件。7.2.1登錄界面的開發(fā)圖7。6學(xué)生端登陸界面主界面的總體實現(xiàn)過程如下:首先是圖片的加入,線程的調(diào)用改變當前的索引值.(2)得到圖片資源的具體的實現(xiàn)方法,然后獲取View的大小,設(shè)置起始的坐標,設(shè)置背景的顏色最終實現(xiàn)貼圖圖7.7繪制出背景圖片7.2。2登錄界面功能是實現(xiàn)登陸功能實現(xiàn)過程如下:設(shè)置當前布局為手機的當前顯示界面,并獲取界面中的給個控件的ID,然后設(shè)置登陸按鈕的監(jiān)聽事件,輸入用戶名和密碼,通過數(shù)據(jù)庫查詢是否有這個用戶,以及該用戶輸入的密碼和輸入的密碼是否相符,相符就進入主界面中,如果不相同,就顯示登陸失敗。重置按鈕的監(jiān)聽設(shè)置,單擊之后用戶名輸入文本框和密碼輸入文本框全部置為空。圖7.8登陸按鈕監(jiān)聽事件代碼7.2。3數(shù)據(jù)庫操縱方法的實現(xiàn)在登陸的時候需要進行數(shù)據(jù)庫的查詢,是通過用戶的輸入的用戶名調(diào)用此方法查看數(shù)據(jù)庫中是否有該用戶或者用戶名所對應(yīng)的密碼是否和輸入的密碼相同,如果相同就驗證成功否則提示失敗。圖7.9調(diào)用數(shù)據(jù)庫示例代碼7。3學(xué)生端主頁模塊用戶驗證成功后便進入了學(xué)生端圖書管理系統(tǒng)的主界面,如圖7.10所示圖7.10學(xué)生端主界面7.3。1學(xué)生端主界面的開發(fā)首先是進行一些變量的聲明和初始化,然后為本類進行構(gòu)造,包括畫筆的準備工作和initBitmap方法的調(diào)用,在initBitmap方法實現(xiàn)每個圖標的圖片工廠加載操作,然后重寫OnTouchEvent方法實現(xiàn)觸摸圖標按鈕的事件方法最后重繪圖片。在系統(tǒng)主頁中一共有查詢,關(guān)于,幫助,預(yù)約,掛失,退出,注銷7個按鈕圖標,以及一個背景圖片是通過initBitmap的方法加載進來的。圖7.11學(xué)生端主界面圖片繪制在initBitmap方法實現(xiàn)了圖片的加載,使程序獲得圖片的資源,在獲取圖片的資源后使用OnDraw方法在x-y坐標上來實現(xiàn)貼圖的。圖7.12學(xué)生端主界面圖片繪制其原理是提前在坐標系中畫出圖標的合理布局,計算每個圖標距離手機左,上的距離,然后根據(jù)此進行貼圖的,畫出各個按鈕的圖標。在實現(xiàn)了圖標的定位貼圖后,單擊它并沒有什么變化,這樣就要設(shè)置圖標的點擊事件了,在這里是通過重寫OnTouchEvent的方法實現(xiàn)圖標的監(jiān)聽事件的。圖7.13主界面按鈕的監(jiān)聽事件在手機上如果用戶觸摸到了主頁上的這些圖標按鈕的時候,系統(tǒng)會根據(jù)坐標判斷用戶也到底觸摸到的是哪個圖標,人然后根據(jù)不同的按鈕的監(jiān)聽方法設(shè)置跳轉(zhuǎn)到不同功能界面.7。3.2界面跳轉(zhuǎn)控制功能通過觸摸不同圖標就會發(fā)送不同的消息,系統(tǒng)通過接受這些消息判斷要跳轉(zhuǎn)到那和界面中去,實現(xiàn)了界面的跳轉(zhuǎn)。在主界面中不同的按鈕,對應(yīng)發(fā)送的消息是不同的,定義一個方法實現(xiàn)接受到不同的消息,在接受到消息之后,最終實現(xiàn)界面的跳轉(zhuǎn)。圖7.14在Handler中進行主線程的更新示例代碼7.4學(xué)生端查詢模塊在主界面中點擊查詢的圖標就進入了學(xué)生端的查詢界面,作為圖書館的學(xué)生端的圖書查詢,應(yīng)該具有對管內(nèi)圖書查詢的內(nèi)力以及對個人已借圖書的查詢能力。圖7。15查詢頁面7.4。1查詢主界面及其功能開發(fā)查詢功能分為管內(nèi)圖書的查詢和個人已借閱圖書的查詢,在頁面中,有兩個按鈕,分別是圖書信息查詢和個人已借圖書查詢,單擊不同的按鈕跳轉(zhuǎn)到不同的界面中。圖7。16圖書信息查詢和已借閱圖書按鈕監(jiān)聽示例代碼在查詢的主界面中有兩個查詢功能的按鈕,管內(nèi)所有圖書的查詢和個人借閱圖書的查詢(self和self1)單擊self通過訪問數(shù)據(jù)庫,得到登陸的用戶的結(jié)束信息,并以滾動列表的形式顯示,單擊self1進入館內(nèi)圖書的查詢界面,里面分別為簡單查詢和高級查詢。單擊個人圖書信息查詢時進入個人結(jié)束信息界面,用到了數(shù)據(jù)庫查詢的方法getSomeInfo(),通過這個方法得到了登陸用戶的借書信息,該方法的代碼如下:圖7。17根據(jù)用戶的信息查詢數(shù)據(jù)庫中的數(shù)據(jù)通過這個方法對數(shù)據(jù)庫進行查詢,得到了登陸的用戶的借書信息,包括該用戶的學(xué)號、借書的借閱時間、歸還時間、圖書ISBN號、圖書名稱和圖書出版社等借書的信息,并將查詢到的結(jié)果值傳到下面?zhèn)€人借書相信信息中。7.4.2個人已借圖書查詢界面及功能通過單擊查詢個人已經(jīng)借閱圖書的按鈕,在經(jīng)過執(zhí)行數(shù)據(jù)庫查詢語句,并經(jīng)查詢到的結(jié)果以滾動的形式呈現(xiàn)在個人借閱圖書的界面上。圖7。18個人已借閱圖書界面這個模塊中數(shù)據(jù)是以鍵值對的形式,將數(shù)據(jù)庫中查詢到的數(shù)值,如書號、ISBN作者、出版社、書名等內(nèi)容全部添加到列表List里面然后把這些值填充到GirdView中去,這樣就可以以滾動條的方式給用戶顯示出來。圖7.19個人已借閱圖書示例代碼GirdView能實現(xiàn)界面信息的滾動瀏覽,元素本身可以包含多動布局的方法,通過SelfgenerateDataList函數(shù)給數(shù)據(jù)添加了對用的鍵值對,把這寫信息全部的存儲到了list中,最后通過放過BaseAdapterselfgridView實現(xiàn)了數(shù)據(jù)鍵值和元素控件ID的一一對應(yīng),最終添加到適配器,讓list里面獨享的數(shù)據(jù)顯示在GirdView元素里面。圖7.20個人已借閱圖書示例代碼7。4.3管內(nèi)圖書查詢界面及其功能開發(fā)單擊管內(nèi)圖書的查詢按鈕進入管內(nèi)圖書的查詢模塊,圖書的查詢包含了簡單的查詢和高級的查詢,查詢的條件為書名、作者、出版社的查詢,輸入完成后,通過查詢進入圖書查詢結(jié)果的界面中.圖7.21管內(nèi)圖書查詢界面這個模塊的實現(xiàn)方式和個人借閱圖書查詢模塊的實現(xiàn)的方式是一樣的.在這個模塊中有一個空間是Spinner這個空間和Swing下拉列表類似,首先是要聲明一個類,主要實現(xiàn)的是Spinner里面內(nèi)容的鍵值對化,然后分別創(chuàng)建有參數(shù)的構(gòu)造方法,初始化鍵值對。圖7.22管內(nèi)圖書查詢示例代碼開發(fā)該類的原因是因為以為Spinner中會有很多的選擇項,但是Spinner中的任意元素是得到它對應(yīng)選項的內(nèi)容,這時候必須要開發(fā)這個了去實現(xiàn)鍵值對的模式,通過鍵值對的形式加入Spinner元素,點擊到的時候就可以通過鍵值輕松的得到它的值。圖7。23管內(nèi)圖書查詢示例代碼通過這段代碼實現(xiàn)了Spinner中元素的添加,當選擇某個元素時,可以以鍵值對的形式,得到她對應(yīng)的內(nèi)容,如鍵1對應(yīng)的值就是“作者”.7.4。4數(shù)據(jù)庫操作方法的實現(xiàn)圖7。24管內(nèi)圖書查詢示例代碼以上的方法是通過圖書的書名查詢到圖書的基本信息比如ISBN號,書名作者以及出版社等信息,簡單查詢中還包含了圖書的作者已經(jīng)出版社,查詢圖書的基本信息,方法一致,不同的只是方法中SQL語句。7。5學(xué)生端圖書掛失功能圖書掛失本身就是一件麻煩的事情,借閱者不但需要上網(wǎng)及時掛失,還要配合管理員借閱圖書遺失的事宜,期間不能從事圖書館的其他一切事宜,因此掛失的這項功能不能夠隨便的進行使用,隨隨便便的使用掛失只能該來不必要的麻煩,因此本軟件的掛失界面還有密碼用戶名的再次確認功能。圖7.25掛失界面7。5.1掛失界面及其功能的開發(fā)圖7。26進入掛失界面按鈕監(jiān)聽圖7.27進入掛失界面按鈕監(jiān)聽掛失界面中有兩個按鈕LoseButtonOk和LoseButtonRe分別是重置和提交按鈕,點擊重置用戶名和密碼全部的清空,點擊提交按鈕,先檢查用戶輸入的用戶名和密碼和數(shù)據(jù)庫中具有相同用戶名的密碼是否相同,如果密碼一致,通過數(shù)據(jù)庫查詢語句DBUtil.getSomeInfo(SnameID)得到輸入的用戶借閱的圖書信息,并跳轉(zhuǎn)到用戶的結(jié)束界面,否者提示用戶名密碼錯誤。在點擊掛失按鈕后,進入到掛失的界面,這個界面為GirdView滾動的界面,里面記錄這用戶的所有借閱信息,單擊GirdView中任何一個條目就會根據(jù)其中的書號通過數(shù)據(jù)庫的查詢,通過DBUtil。getBNSomeInfo(booknum)得到借閱者的借閱信息,同時跳轉(zhuǎn)進入最后的掛失確認界面中,單擊確認掛失,修改數(shù)據(jù)庫中的記錄,掛失成功.7.5.2數(shù)據(jù)庫操作方法的實現(xiàn)圖7.28查詢數(shù)據(jù)庫中數(shù)據(jù)示例代碼因為是在進行身份的確認,所以這里用到了根據(jù)用戶名進行查詢密碼的方法.圖7。29根據(jù)身份查詢SQL語句手機通過書號得到圖書借閱基本信息的SQL查詢語句。圖7.30查詢借閱基本信息SQL語句是通過圖書號得到圖書的基本信息的SQL語句.7。6學(xué)生端圖書預(yù)約功能模塊借閱圖書的時候可能遇到這樣的情況,就是自己要借閱的圖書被其他的人借走了,希望在歸還的時候自己能夠第一時間借閱到這本書,這就是預(yù)約圖書的功能了。圖7.31預(yù)約圖書界面7.6.1圖書預(yù)約界面及其功能的開發(fā)在主頁中點擊預(yù)約圖書的按鈕,進入到圖書預(yù)約的主界面中,預(yù)約分為兩個方面,預(yù)約圖書和個人已經(jīng)預(yù)約管理,預(yù)約圖書時查詢圖書沒有被借閱,界面會提示圖書沒有被借閱,提示讀者進行借閱,相反圖書已經(jīng)被借閱了界面會提示圖書已經(jīng)被借閱了,讀者可以進行預(yù)約,點擊預(yù)約按鈕,預(yù)約完成,個人預(yù)約圖書查詢管理功能,在這里面可以查詢已經(jīng)預(yù)約到的圖書的基本信息。圖7。32進入預(yù)約界面按鈕監(jiān)聽這部分是初始化界面中的控件,并且重寫后退按鈕的監(jiān)聽事件。圖7。33預(yù)約界面按鈕監(jiān)聽圖7。34管理預(yù)約按鈕監(jiān)聽事件這部分是點擊圖書的按鈕出發(fā)的事件,首先檢測是否有書號的輸入,并且提示用戶相對用的信息,其次是判斷該書籍是否存在,并且也存在提示信息,判斷該書號是否被預(yù)約,如果被預(yù)約則提示用戶不能在進行預(yù)約了,反之可以。但是已經(jīng)預(yù)約圖書管理按鈕出發(fā)的事件,首先判斷該登陸的用戶是否有預(yù)約圖書,并以提示信息的形式進行提示,如果存在預(yù)約的圖書則跳轉(zhuǎn)到已經(jīng)預(yù)約的圖書界面。數(shù)據(jù)庫操作方法的實現(xiàn)在這個模塊中大量的使用了查詢語句,語句如下:圖7.35查詢數(shù)據(jù)庫SQL語句通過書名表查詢圖書的基本信息.圖7。36查詢數(shù)據(jù)庫SQL語句通過多表的查詢得到圖書的基本信息已經(jīng)學(xué)生的基本信息。圖7.37查詢數(shù)據(jù)庫SQL語句通過書號得到該書的歸還的日期。7。7管理端開發(fā)7。7.1管理員登陸界面的開發(fā)管理端的登陸界面和學(xué)生端的登陸界面是一致的,但是到登陸驗證方法卻是不相同的,學(xué)生端是檢查學(xué)生的用戶名和密碼,管理端是檢查管理員的用戶名和密碼以及用戶的權(quán)限,但是大體是實現(xiàn)方式是一樣的。圖7.38管理端主界面7.7.2管理員登陸驗證模塊管理員在登陸的時候需要驗證,這一點是與學(xué)生端的不同,它查詢的是管理員表中的數(shù)據(jù),代碼如下:圖7。39點擊登錄查詢數(shù)據(jù)庫后進行驗證是通過用戶manager表中查詢的密碼。這里有一點是在數(shù)據(jù)庫資源用完的時候,要把資源關(guān)掉,以免浪費資源。7.8管理端主界面的開發(fā)管理端主界面和學(xué)生端主界面實現(xiàn)方法是一樣的,其實就是學(xué)生端主頁功能的一個擴展,管理端主界面如下圖:圖7。40管理端主界面7.9圖書管理模塊在圖書管理軟件中對于圖書的管理尤為重要的,圖書管理模塊中包括圖書的入庫,圖書信息的查詢,修改圖書信息,刪除圖書信息等功能圖7。41管理端圖書管理界面7。9.1圖書管理界面的開發(fā)圖書管理界面主要包括管理主界面,圖書查詢界面,圖書修改界面,圖書入庫界面,和確認入庫界面.7。9。2其他圖書管理界面的開發(fā)圖書管理主界面的開發(fā)。圖書管理功能有很多的界面,其基本的開發(fā)的思路和圖書管理主界面大體相同,圖書查詢功能界面:圖書查詢功能的不同之處在于界面中用到了GirdView控件,這個控件的特點就是把列表中的信息顯示出啦,并且可以滾動的顯示。首先要建立一個list以便存放從數(shù)據(jù)庫中查到的圖書信息.圖7。42顯示界面控件示例代碼首先是建立了一個ArrayList對象,把從數(shù)據(jù)庫中得到的數(shù)據(jù)內(nèi)容添加到ArrayList中,然后使用hashmap存放鍵值對,其中的值都是利用查詢圖書的方法從數(shù)據(jù)庫中獲取。建立list之后就可以進行下一步工作了,因為在girdView中顯示信息的格式需要一個單獨的布局文件,所以還需要建立一個新的布局文件,這個布局文件具體開發(fā)方式和普通界面的開發(fā)方式相同。完成上述的工作后,還需要為girdView編寫一個適配器,目的是把數(shù)據(jù)list和布局文件鏈接起來。代碼如下:圖7.43顯示界面控件示例代碼首先是把前面編寫的list添加到適配器中,然后把gridView所需的布局文件添加適配器中。需要把列名和list中列名相互的對應(yīng),最后把顯示目標的testview的id添加進來。7。9。3圖書管理界面的監(jiān)聽方法圖7。44按鈕監(jiān)聽事件示例代碼首先是對界面中所有用到的控件進行初始化,并設(shè)置后退按鈕的監(jiān)聽事件。圖7.45按鈕監(jiān)聽事件示例代碼圖7。46按鈕顯示示例代碼這段代碼是判斷輸入的ISBN號碼是否為空,如果為空就彈出提示,否則進行ISBN號的格式進行簡單的判斷,如果不符合要求就彈出提示,提示用戶。7.9.4圖書入庫和圖書刪除方法的實現(xiàn)管理員可以通過單擊查詢圖書入庫按鈕,進入圖書入庫界面,在填寫了圖書的有關(guān)數(shù)據(jù)后,單擊確定按鈕就可以把圖書信息增加到數(shù)據(jù)庫中。具體方法如下:圖7.47向數(shù)據(jù)庫插入圖書入庫信息示例代碼首先是圖書入庫所需要的參數(shù),分別是ISBN號,書號、書名、作者、出版社、購買時間、借閱情況、預(yù)約情況和詳細信息.因為鏈接數(shù)據(jù)庫會產(chǎn)生異常,所以要用try進行捕獲,在圖書入庫是需要用時更改圖書信息和圖像詳細信息這兩個數(shù)據(jù)庫圖書的書號是自動獲得的,每添加一本圖書,書號就自動加1。獲得書號的方法如下:圖7.48獲取ISBN號示例代碼在數(shù)據(jù)庫中書號的存放方式是varchar型的,但是計算書號需要使用int類型的,所以在獲得當前記錄條數(shù)的時候加上數(shù)據(jù)轉(zhuǎn)換在圖書入庫界面中單擊購買日期的時候就會彈出對話框,在對話框中可以通過上下按鍵選擇時間,說先是建立一個MyDialog類繼承系統(tǒng)的Dialog類,然后進行實現(xiàn)。之后可以在RootActivity中實現(xiàn)建立、準備、銷毀等方法來實現(xiàn)對話框。(1)首先是建立的方法,代碼如下:圖7.49彈出對話框示例代碼這個方法主要是為了創(chuàng)建一個日期輸入對話框,主要是對對話框的id、對話框的返回值等信息。因為這里指用到事件日期的對話框,所以在Switch中支隊這一種id進行判斷。(2)重寫對話框的方法代碼如下:圖7.50重寫對話框示例代碼這段代碼是對對話框中各部件的初始化,其中按鈕1和按鈕2是年份,按鈕3和按鈕4是月份,按鈕5和按鈕6是日,每個圖片按鈕都需要設(shè)置增加時間或減少時間。圖7.51各個控件初始化示例代碼這段代碼是單擊確定按鈕后根據(jù)不同的情況進行判斷時間是否符合格式.圖7.52點擊按鈕后判斷時間格式是否符合最后是取消按鈕的監(jiān)聽方法,和上下按鈕的監(jiān)聽方法。(3)完成對話框還應(yīng)該編寫一個銷毀對話框的方法,以備在關(guān)閉對話框的時候進行調(diào)用該方法,具體實現(xiàn)方法如下:圖7。53對話框示例代碼(4)完成上述的對話框的所有準備工作,接下來將實現(xiàn)具體的獲取時間的方法,代碼如下:圖7.55獲取時間的示例代碼這個方法主要是把系統(tǒng)的時間組裝成字符創(chuàng)建并返回結(jié)果。圖7.54獲取正確時間的示例代碼這個方法的主要目的就是從系統(tǒng)中獲取當前的時間,并且對這個時間進行判斷,如果不符合規(guī)則,則在Activity中提示錯誤,如果符合就返回時間。接下來是刪除圖書功能模塊,代碼如下:圖7.56從數(shù)據(jù)庫中刪除圖書的示例代碼首先是把書號作為入口參數(shù),然后刪除圖書信息,同時要刪除2張表中的圖書信息.7。9.5圖書查詢和修改圖書信息方法的實現(xiàn)管理員不僅可以添加和刪除圖書信息,還可以根據(jù)已知的圖書ISBN號查詢到圖書,
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江西撫州金控基金管理有限公司職業(yè)經(jīng)理人招聘2人(公共基礎(chǔ)知識)綜合能力測試題附答案
- 2025年樺甸市總工會公開招聘工會社會工作者(6人)備考題庫附答案
- 2025廣東東莞理工學(xué)院第二批招聘聘用人員19人考試模擬卷附答案
- 2025年哈爾濱道里區(qū)安靜社區(qū)衛(wèi)生服務(wù)中心招聘1人(公共基礎(chǔ)知識)測試題附答案
- 2026新疆生產(chǎn)建設(shè)兵團第十師一八八團連隊(社區(qū))跟班“兩委”后備力量招聘6人筆試備考試題及答案解析
- 2026山東重工集團有限公司社會招聘筆試備考題庫及答案解析
- 職場簡約商務(wù)風(fēng)年終述職報告【演示文檔課件】
- 2026德欽縣公開(特招)治安聯(lián)防人員(7人)筆試備考題庫及答案解析
- 2026內(nèi)蒙古鄂爾多斯職業(yè)學(xué)院汽車工程系招聘筆試模擬試題及答案解析
- 上海煙草集團有限責(zé)任公司2026年應(yīng)屆生招聘筆試模擬試題及答案解析
- 沈陽市行道樹栽植現(xiàn)狀分析與發(fā)展對策
- 2026年中國馬術(shù)行業(yè)發(fā)展現(xiàn)狀調(diào)查、競爭格局分析及未來前景預(yù)測報告
- 電力市場基礎(chǔ)知識面試題及高頻考點
- 健康體檢重要異常結(jié)果管理專家共識2025
- 2026屆四川省成都市樹德實驗中學(xué)物理九上期末調(diào)研試題含解析
- TCNAS50-2025成人吞咽障礙患者口服給藥護理學(xué)習(xí)解讀課件
- 工程概算編制方案
- 2026年全球美容與個人護理趨勢預(yù)測報告-英敏特-202510
- 2025至2030全球及中國供應(yīng)鏈的區(qū)塊鏈行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025內(nèi)蒙古通遼市扎魯特旗巨日合鎮(zhèn)人民政府招聘護林員9人考試參考試題及答案解析
- 議論文寫作入門指導(dǎo)課件統(tǒng)編版高一語文必修上冊
評論
0/150
提交評論