歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

基于android studio的圖書(shū)管理系統(tǒng)的APP開(kāi)發(fā)

  • 資源ID:53920367       資源大?。?span id="r0hogli" class="font-tahoma">1.10MB        全文頁(yè)數(shù):42頁(yè)
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

基于android studio的圖書(shū)管理系統(tǒng)的APP開(kāi)發(fā)

目錄摘要IABSTRACTII1 緒論11.1 課題研究的目的及意義11.2 國(guó)內(nèi)課題研究現(xiàn)狀21.3 課題綜述22 系統(tǒng)分析與設(shè)計(jì)32.1 需求分析32.1.1 功能需求32.1.2 性能需求32.2 可行性分析42.2.1 經(jīng)濟(jì)可行性42.2.2 技術(shù)可行性42.3 開(kāi)發(fā)工具介紹和關(guān)鍵技術(shù)42.3.1 eclipse介紹42.3.2 SQL Server 2008介紹72.3.3 Tomcat介紹82.3.4 關(guān)鍵技術(shù)介紹93 系統(tǒng)總體設(shè)計(jì)103.1 設(shè)計(jì)原則103.2 系統(tǒng)結(jié)構(gòu)113.3 設(shè)計(jì)思想113.4 用戶(hù)使用模塊113.4.1 用戶(hù)注冊(cè)123.4.2 用戶(hù)登錄123.4.3 書(shū)籍查詢(xún)133.4.4 用戶(hù)管理133.4.5 圖書(shū)管理133.5 管理員管理模塊133.5.1 注冊(cè)管理143.5.2 登錄管理143.5.3 書(shū)籍查詢(xún)管理143.5.4 用戶(hù)管理143.5.5 圖書(shū)管理143.6 系統(tǒng)數(shù)據(jù)分析和設(shè)計(jì)153.6.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)153.6.2 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)164 詳細(xì)設(shè)計(jì)184.1 客戶(hù)端的設(shè)計(jì)Android的界面設(shè)計(jì)184.2 服務(wù)端的設(shè)計(jì)搭建web服務(wù)器194.3 具體功能界面224.3.1 注冊(cè)界面224.3.2 登陸界面234.3.3 圖書(shū)查詢(xún)預(yù)約界面264.3.4 添加圖書(shū)界面294.3.5 管理學(xué)生用戶(hù)界面315 系統(tǒng)測(cè)試與性能測(cè)試325.1 軟件測(cè)試325.2 本系統(tǒng)測(cè)試325.2.1用戶(hù)普通功能模塊測(cè)試335.2.2 用戶(hù)管理模塊測(cè)試335.3 本章小結(jié)33結(jié)束語(yǔ)34致謝35參考文獻(xiàn)36基于A(yíng)ndroid的圖書(shū)管理系統(tǒng)客戶(hù)端設(shè)計(jì)與實(shí)現(xiàn)摘要傳統(tǒng)的WEB應(yīng)用只能在電腦上使用,不方便用戶(hù)隨時(shí)隨地的使用。為了解決這樣的不足,基于A(yíng)ndroid 平臺(tái)的各種應(yīng)用客戶(hù)端就應(yīng)運(yùn)而生。為了能夠讓人們?cè)诨?Android 平臺(tái)的移動(dòng)設(shè)備上享用圖書(shū)管理系統(tǒng)的功能,本設(shè)計(jì)闡述了在 Android 平臺(tái)下圖書(shū)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程,該系統(tǒng)采用C/S結(jié)構(gòu),使用Android 布局技術(shù)完成界面設(shè)計(jì),使用java語(yǔ)言開(kāi)發(fā)完成。系統(tǒng)實(shí)現(xiàn)了用戶(hù)注冊(cè)、登陸、查詢(xún)圖書(shū),以及學(xué)生用戶(hù)管理和圖書(shū)管理等功能,并在不同型號(hào)的設(shè)備模擬器上測(cè)試通過(guò)。關(guān)鍵詞:圖書(shū)管理系統(tǒng),Android,客戶(hù)端,數(shù)據(jù)庫(kù)設(shè)計(jì),服務(wù)端。DESIGN AND IMPLEMENTATION OF LIBRARY MANAGEMENT SYSTEM CLIENT BASED ON ANDROID ABSTRACTTraditional WEB application only on computer use, convenient to use anytime, anywhere. To address this deficiency, the client-based applications on the Android platform came into being. In order to allow people to enjoy the function library management systems on mobile devices based on the Android platform, the design describes the design and implementation process of library management system in the Android platform, the system uses C / S structure, layout techniques to complete the Android interface design, use java language development is completed. System user registration, login, check books, and student user management and library management functions, and tested on different types of equipment simulator through. KEY WORDS Library Management System, Android, Client, Database Design, Server.371 緒論1.1 課題研究的目的及意義隨著計(jì)算機(jī)和通信技術(shù)的發(fā)展,人類(lèi)已經(jīng)逐漸的進(jìn)入信息化社會(huì)。信息和材料能源一樣成為一種社會(huì)的基本生產(chǎn)材料,在人類(lèi)社會(huì)生產(chǎn)活動(dòng)中發(fā)揮著重要的作用,大幅度地提高了社會(huì)生產(chǎn)力。同時(shí)人們對(duì)信息和數(shù)據(jù)的利用與處理也已進(jìn)入自動(dòng)化、網(wǎng)絡(luò)化和社會(huì)化的階段。因此,開(kāi)發(fā)相關(guān)的管理信息系統(tǒng)已經(jīng)成為各行各業(yè)D的必須1。管理信息系統(tǒng)作為一門(mén)邊緣科學(xué),集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、現(xiàn)代通信技術(shù)和電子計(jì)算機(jī)技術(shù)與一體,可以解決企業(yè)或組織所面臨的問(wèn)題。對(duì)內(nèi)來(lái)看,可以提高工作效率;對(duì)外來(lái)看,可以獲得競(jìng)爭(zhēng)優(yōu)勢(shì)2。圖書(shū)作為一種信息資源,用戶(hù)閱讀的資料繁多,包含很多的信息數(shù)據(jù)的管理。以前,有很多的圖書(shū)管理都是手工的,尚未使用計(jì)算機(jī)進(jìn)行管理。根據(jù)調(diào)查得知,人們對(duì)圖書(shū)管理的方式主要是計(jì)算機(jī)管理,及少量的基于文本、表格等紙質(zhì)媒介的手工處理。手工處理對(duì)于大量的圖書(shū)信息管理很不方便,耗時(shí)耗力,而且容易出錯(cuò)。對(duì)于大中型的圖書(shū)館來(lái)說(shuō),計(jì)算機(jī)管理已經(jīng)成為家常便飯,好的計(jì)算機(jī)圖書(shū)管理系統(tǒng)可以相當(dāng)容易的實(shí)現(xiàn)對(duì)圖書(shū)、用戶(hù)的管理,安全性和穩(wěn)定性較高,已經(jīng)成為這些圖書(shū)管理主流管理方式3。但是,這只是對(duì)于圖書(shū)管理人員來(lái)說(shuō)的。對(duì)那些我那個(gè)圖書(shū)館來(lái)回跑的用戶(hù)來(lái)說(shuō),這樣的情況還是很不方便的。在移動(dòng)互聯(lián)發(fā)展極速的今天,作為主流管理的計(jì)算機(jī)已經(jīng)不能滿(mǎn)足一些人們的要求,所以,作為移動(dòng)互聯(lián)時(shí)代標(biāo)志性的客戶(hù)端工具智能手機(jī)的出現(xiàn)就顯得有些理所當(dāng)然了4。而基于android 平臺(tái)的智能手機(jī)就是其中的代表。智能手機(jī)就像一臺(tái)微型電腦,具有強(qiáng)大的計(jì)算和存儲(chǔ)能力,可以通過(guò)通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)的介入,可以隨時(shí)隨地的使用。這樣的功能彌補(bǔ)了計(jì)算機(jī)攜帶不方便的不足。所以,基于android 平臺(tái)的圖書(shū)管理系統(tǒng)客戶(hù)端,也就滿(mǎn)足了用戶(hù)與圖書(shū)館交互的不足5。通過(guò)android 平臺(tái)的圖書(shū)管理系統(tǒng)客戶(hù)端,用戶(hù)可以很好地為用戶(hù)提供方便,隨時(shí)隨地了解圖書(shū)信息及圖書(shū)借閱。而智能手機(jī)的普及可以使得這個(gè)圖書(shū)管理系統(tǒng)得到廣泛的使用6。1.2 國(guó)內(nèi)課題研究現(xiàn)狀計(jì)算機(jī)技術(shù)的快速發(fā)展及計(jì)算機(jī)網(wǎng)絡(luò)的普及,英特網(wǎng)成為人們查找信息的重要途徑。本世紀(jì)是信息的時(shí)代,所以信息的交換流通就顯得特別的重要10。因此,快速的實(shí)現(xiàn)信息交互就顯得非常很有必要。目前,國(guó)內(nèi)基于A(yíng)ndroid 平臺(tái)的圖書(shū)管理系統(tǒng)還不太成熟,大多數(shù)的圖書(shū)館都采用計(jì)算機(jī)管理的方式,基于A(yíng)ndroid 平臺(tái)的圖書(shū)管理系統(tǒng)就顯得不太成熟,暫時(shí),還沒(méi)有太大的市場(chǎng)。但是,在計(jì)算機(jī)管理漸顯弊端的今天,Android技術(shù)逐漸走進(jìn)了人們的視線(xiàn)。隨著智能手機(jī)的市場(chǎng)占有率的不斷提高,基于A(yíng)ndroid技術(shù)的應(yīng)用將會(huì)越來(lái)越多,圖書(shū)管理系統(tǒng)作為傳統(tǒng)的計(jì)算機(jī)應(yīng)用,也必將在手機(jī)客戶(hù)端得到廣泛的應(yīng)用7。1.3 課題綜述 智能手機(jī)的普及,使得Android技術(shù)的到廣泛的推廣,基于A(yíng)ndroid的圖書(shū)管理系統(tǒng)作為出現(xiàn)在手機(jī)上,已經(jīng)是必不可擋的趨勢(shì)。該系統(tǒng)是一套簡(jiǎn)單,實(shí)用性強(qiáng)的系統(tǒng),可以簡(jiǎn)化戶(hù)對(duì)圖書(shū)的操作,方便用戶(hù)的使用7。技術(shù)方面,Java語(yǔ)言是Internet 開(kāi)發(fā)的一個(gè)強(qiáng)大工具,運(yùn)用Java來(lái)開(kāi)發(fā)這樣一個(gè)管理系統(tǒng)軟件,不僅功能強(qiáng)大,可復(fù)用性強(qiáng),更能為使用者到來(lái)方便。對(duì)于該系統(tǒng)的設(shè)計(jì),一般采用java服務(wù)器端、客戶(hù)端的開(kāi)發(fā),采用Microsoft SQL Server 2008 作為后臺(tái)數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,以Jdk 作為JavaBean、Servlet開(kāi)發(fā)工具,在Windows 系統(tǒng)中用jdbc連接技術(shù)進(jìn)行服務(wù)器連接8。本系統(tǒng)增加了管理員功能,管理員可以通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)用戶(hù)信息和圖書(shū)信息的簡(jiǎn)單操作。而用戶(hù)可以通過(guò)該系統(tǒng)的搜索功能來(lái)實(shí)現(xiàn)圖書(shū)的查找以及對(duì)圖書(shū)借閱信息的掌握。本系統(tǒng)以PC機(jī)模擬圖書(shū)館服務(wù)器,在同一局域網(wǎng)wifi下就可連接手機(jī)客戶(hù)端。2 系統(tǒng)分析與設(shè)計(jì)2.1 需求分析需求分析就是把軟件計(jì)劃期間建立的軟件可行性分析求精和細(xì)化,分析各種可能的解法,并且分配給各個(gè)軟件元素。簡(jiǎn)單點(diǎn)說(shuō)需求分析就是告訴系統(tǒng)必須完成哪些工作。它主要包括以下兩方面。2.1.1 功能需求本系統(tǒng)會(huì)涉及到圖書(shū)信息、圖書(shū)借閱信息、讀者信息以及管理員的多種數(shù)據(jù)管理。從管理的角度出發(fā)可以將圖書(shū)管理分為圖書(shū)管理和用戶(hù)管理。圖書(shū)管理包括添加圖書(shū),刪除圖書(shū),查詢(xún)圖書(shū)等。用戶(hù)管理包括讀者的個(gè)人信息管理,借閱管理等??蛻?hù)端上的圖書(shū)管理主要有以下幾個(gè)部分組成:(1)添加圖書(shū):把新進(jìn)的圖書(shū)添加進(jìn)入數(shù)據(jù)庫(kù)。(2)圖書(shū)信息管理:把圖書(shū)的詳細(xì)信息(如:作者,價(jià)格等)寫(xiě)入數(shù)據(jù)庫(kù)。(3)圖書(shū)查詢(xún)管理:用戶(hù)可以根據(jù)圖書(shū)名稱(chēng)等對(duì)圖書(shū)進(jìn)行查詢(xún)。(4) 圖書(shū)預(yù)約管理:用戶(hù)可以根據(jù)查詢(xún)反饋信息來(lái)預(yù)約圖書(shū)。用戶(hù)管理主要功能有以下組成:(1)用戶(hù)信息管理:可以對(duì)用戶(hù)信息進(jìn)行操作。(2)用戶(hù)借書(shū)管理:用戶(hù)可以預(yù)約圖書(shū)。2.1.2 性能需求系統(tǒng)的運(yùn)行對(duì)運(yùn)行環(huán)境的一些要求:(1)硬件環(huán)境:處理器:現(xiàn)有Inter Pentium系列或更高內(nèi)存:不小于1G硬盤(pán)空間:100G顯卡:AMD/Intel現(xiàn)有系列(2)軟件環(huán)境:開(kāi)發(fā)環(huán)境:Win7/Windows XP開(kāi)發(fā)工具:Eclipse數(shù)據(jù)庫(kù)管理系統(tǒng):SQL Server2008運(yùn)行環(huán)境:Win7、WindowsXP2.2 可行性分析2.2.1 經(jīng)濟(jì)可行性本設(shè)計(jì)是基于A(yíng)ndroid的 圖書(shū)管理系統(tǒng),在使用方面向用戶(hù)體驗(yàn)靠攏,所以本系統(tǒng)設(shè)計(jì)目的就是簡(jiǎn)單,使用,經(jīng)濟(jì)。開(kāi)發(fā)成本:本系統(tǒng)開(kāi)發(fā)只需要一臺(tái)個(gè)人電腦,另可選擇免費(fèi)的Eclipse,Android SDK,SQL Server 2008等開(kāi)發(fā)工具。使用成本:Android 2.0以上手機(jī)一部。2.2.2 技術(shù)可行性基于A(yíng)ndroid 的圖書(shū)管理系統(tǒng)客戶(hù)端是可行的,因?yàn)樵谝苿?dòng)互聯(lián)技術(shù)快速發(fā)展的今天,智能手機(jī)已經(jīng)普及大眾了,而且Android技術(shù)以相當(dāng)?shù)某墒?。我們可以使用Android開(kāi)發(fā)出適用于手機(jī)客戶(hù)端的各種應(yīng)用。本系統(tǒng)在開(kāi)發(fā)工具方面采用了Java EE 版本的Eclipse,并且配置好Android環(huán)境,開(kāi)發(fā)簡(jiǎn)單,方便。數(shù)據(jù)庫(kù)方面則使用了SQL Server 2008,這是一個(gè)功能強(qiáng)大,最重要的是可跨平臺(tái)的數(shù)據(jù)庫(kù),適用于各種Web 和 Android開(kāi)發(fā)。2.3 開(kāi)發(fā)工具介紹和關(guān)鍵技術(shù)2.3.1 Eclipse介紹Eclipse 是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件澤建構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。Eclipse是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái)Java語(yǔ)言開(kāi)發(fā),通過(guò)安裝不通過(guò)的插件Eclipse可以支持不同的計(jì)算機(jī)語(yǔ)言,比如C+和Python等開(kāi)發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開(kāi)發(fā)商以Eclipse為框架開(kāi)發(fā)自己的IDE。Eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專(zhuān)注于高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成Eclipse Platform、JDT、CDT和PDE。 Eclipse發(fā)展史如表2-1所示。表2-1 Eclipse版本號(hào)版本代號(hào)版本平臺(tái)主要版本發(fā)布日期SR1發(fā)行日期SR2發(fā)行日期Callisto3.22006.6.26N/AN/AEuropa3.32007.6.272007.9.282008.2.29Ganymede3.42008.6.252009.9.242009.2.25Galileo3.52009.6.242009.9.252010.2.26Helios3.62010.6.232010.9.242011.2.25Indigo3.72011.6.222011.9.232012.2.24Juno3.8及4.22012.6.272012.9.282013.3.1Kepler4.32013.6.262013.9.272014.2.28Luna4.42014.6.25N/AN/AAndroid工程是在Eclipse工具上編寫(xiě)的12,進(jìn)行android工程的編寫(xiě),首先需要在Eclipse上安裝ADT插件,然后指定SDK所在的路徑,便可以創(chuàng)建android虛擬機(jī)了。在Eclipse下創(chuàng)建虛擬機(jī)的步驟如下:(1)安裝ADT插件在Eclipse單擊菜單欄的Help,在Help里面選中Install NewSoftware選項(xiàng),之后便可以出現(xiàn)界面如圖2-2所示。圖2-2 ADT安裝步驟界面指定好你的ADT路徑后,便可以安裝好ADT插件。(2)導(dǎo)入AndroidSDK安裝好ADT插件后,單擊Eclipse菜單欄Windows下找到preperence,點(diǎn)擊進(jìn)入,得到如圖2-3所示。圖2-3 AndroidSDK安裝界面在左邊選項(xiàng)選中Android,在SDK Location下導(dǎo)入AndroidSDK路徑,點(diǎn)擊Apply應(yīng)用,便會(huì)導(dǎo)入Android的各個(gè)版本。(3)創(chuàng)建虛擬機(jī)安裝好ADT和導(dǎo)入AndroidSDK成功后,便可以在菜單欄Windows下找到AVD manage選項(xiàng),單擊進(jìn)入后便有新建android虛擬機(jī)界面,在創(chuàng)建界面設(shè)置好虛擬機(jī)參數(shù)點(diǎn)擊確定后,就創(chuàng)建好了一個(gè)android虛擬機(jī)。創(chuàng)建好虛擬機(jī)后,點(diǎn)擊開(kāi)始便可以運(yùn)行一個(gè)android虛擬機(jī),虛擬機(jī)運(yùn)行成功界面如圖2-4所示。圖2-4 android虛擬機(jī)視圖虛擬機(jī)模擬的是android智能手機(jī)的界面,通過(guò)操作虛擬機(jī)可以體驗(yàn)到android智能手機(jī)的部分應(yīng)用。同時(shí)虛擬機(jī)是作為開(kāi)發(fā)的android應(yīng)用運(yùn)行的場(chǎng)所,他提供基本的人機(jī)交互功能。2.3.2 SQL Server 2008介紹SQL Server 2008實(shí)在Microsoftd的數(shù)據(jù)平臺(tái)上發(fā)布,可以組織管理任何數(shù)據(jù)。可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化額文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中。可以對(duì)數(shù)據(jù)驚醒查詢(xún)、搜索、同步、報(bào)告和分析之類(lèi)的操作。數(shù)據(jù)可以存儲(chǔ)在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面設(shè)計(jì)和移動(dòng)設(shè)備,它都可以控制數(shù)據(jù)為不用管數(shù)據(jù)存儲(chǔ)在哪里13。SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺(tái)遠(yuǎn)景上是因?yàn)樗沟霉究梢赃\(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時(shí)降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀(guān)察信息給所有用戶(hù)的成本。這個(gè)平臺(tái)有以下特點(diǎn):(1)可信任的使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。(2)高效的使得公司可以降低開(kāi)發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本。(3)智能的提供了一個(gè)全面的平臺(tái),可以在你的用戶(hù)需要的時(shí)候給他們發(fā)送觀(guān)察和信息。SQL(Structured Query Language,結(jié)構(gòu)查詢(xún)語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))聲稱(chēng),SQL是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句通常用于完成一些數(shù)據(jù)庫(kù)的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。標(biāo)準(zhǔn)的SQL命令,比如“Select”、 “Insert”、 “Update”、 “Delete”、 “Create”和 “Drop”常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù)的操作。SQL功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語(yǔ)言,不僅用于數(shù)據(jù)庫(kù)查詢(xún),而且用于數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改和更新,概括起來(lái),它可以分成以下幾組:(1)DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言):用于檢索或者修改數(shù)據(jù)。 (2)DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象。(3)DCL(Data Control Language,數(shù)據(jù)控制語(yǔ)言):用于定義數(shù)據(jù)庫(kù)用戶(hù)的權(quán)限。其中DML組可以細(xì)分為以下的幾個(gè)語(yǔ)句:SELECT:用于檢索數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫(kù);UPDATE:用于從數(shù)據(jù)庫(kù)中修改現(xiàn)存的數(shù)據(jù);DELETE:用于從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)。2.3.3 Tomcat介紹Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型新系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不是很多的場(chǎng)合被普遍使用,是開(kāi)發(fā)和調(diào)試jsp程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用。)頁(yè)面的請(qǐng)求。史記山Tomcat部分是Apache服務(wù)器的擴(kuò)展,但他是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。訣竅是,的那個(gè)配置正確時(shí),Apache為HTML頁(yè)面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁(yè)面和Servlet。另外,Tomcat和IIS等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。Tomcat很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源少,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷地改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。2.3.4 關(guān)鍵技術(shù)介紹本系統(tǒng)開(kāi)發(fā)采用的語(yǔ)言是java,使用的關(guān)鍵技術(shù)是布局和數(shù)據(jù)存儲(chǔ)。布局是用來(lái)設(shè)計(jì)用戶(hù)交互界面,用運(yùn)好頁(yè)面布局技術(shù)可以是該系統(tǒng)有個(gè)良好美觀(guān)的界面以及很好地用戶(hù)體驗(yàn),因此運(yùn)用好布局技術(shù)直接和用戶(hù)使用是相關(guān)的。而操作者所有的操作數(shù)據(jù)和用戶(hù)需要提取的數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫(kù)中,它使用了數(shù)據(jù)庫(kù)存儲(chǔ)技術(shù)。Android中,軟件界面設(shè)計(jì)常用布局有五種:AbsoluteLayout、LinearLayout、RelativeLayout、FrameLayout、TableLayout,由于布局的使用,并且布局之間可以相互嵌套,使得android軟甲的界面設(shè)計(jì)變得相當(dāng)?shù)撵`活,只要運(yùn)用的合理,即使一些復(fù)雜的頁(yè)面也可以變得簡(jiǎn)單。Android中數(shù)據(jù)存儲(chǔ)技術(shù)有文件存儲(chǔ)、preference、sqlite、ContentProvider和網(wǎng)絡(luò)存儲(chǔ),文件存儲(chǔ)是以流的形式讀寫(xiě)文件,可以以文件的格式,也可以以二進(jìn)制的形式,在java語(yǔ)言中要使用硫,則寫(xiě)入文件的對(duì)象必須進(jìn)行序列化,sqlite是嵌入式移動(dòng)設(shè)備中常用的輕量級(jí)數(shù)據(jù)庫(kù),可以看做是計(jì)算機(jī)上的sql server、oracle等數(shù)據(jù)庫(kù)。本系統(tǒng)中采用的sql server。3 系統(tǒng)總體設(shè)計(jì) 3.1 設(shè)計(jì)原則軟件開(kāi)發(fā)需要遵循一定的原則,其原則有以下幾個(gè)方面(1)軟件可靠性原則:可靠性直接關(guān)系到涉及自身的聲譽(yù)和生存發(fā)展競(jìng)爭(zhēng)能力,意味著該軟件在測(cè)試運(yùn)行過(guò)程中避免可能發(fā)生故障的能力,且一旦發(fā)生故障后,具有解脫和排除故障的能力。(2)實(shí)用性原則:要力求最大限度得滿(mǎn)足實(shí)際工作的需要,考慮各業(yè)務(wù)層次、各管理環(huán)節(jié)數(shù)據(jù)處理的實(shí)用性,把滿(mǎn)足用戶(hù)生產(chǎn)的和管理業(yè)務(wù)作為第一要素進(jìn)行考慮。用戶(hù)接口和操作界面設(shè)計(jì)盡可能做到界面美觀(guān)大方、操作簡(jiǎn)便實(shí)用。(3)可擴(kuò)展性原則:為適應(yīng)將來(lái)的發(fā)展,系統(tǒng)應(yīng)具有良好的可擴(kuò)展性和可維護(hù)性。軟件設(shè)計(jì)應(yīng)盡可能模塊化、組織化,使應(yīng)用系統(tǒng)可靈活配置,適應(yīng)不同的情況。數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)盡可能考慮到未來(lái)的需要。(4)安全性原則:應(yīng)用軟件與數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)要做到安全可靠,防止非法用戶(hù)的入侵。數(shù)據(jù)庫(kù)的備份策略恰當(dāng),以防災(zāi)難性事故的發(fā)生。(5)用戶(hù)界面設(shè)計(jì)原則:用戶(hù)界面的設(shè)計(jì)應(yīng)符合Windows規(guī)范的圖形用戶(hù)界面(GUI),做到美觀(guān)大方。用戶(hù)界面應(yīng)當(dāng)直觀(guān)、明了、條理清晰。實(shí)現(xiàn)“傻瓜型”管理-易學(xué)、易用、易管理。(6)數(shù)據(jù)庫(kù)設(shè)計(jì)原則:一致性原則:對(duì)信息進(jìn)行統(tǒng)一的分析與設(shè)計(jì),協(xié)調(diào)好各數(shù)據(jù)源,保證系統(tǒng)數(shù)據(jù)的一致性和有效性;完整性原則:數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性,要防止合法用戶(hù)使用數(shù)據(jù)庫(kù)時(shí)向數(shù)據(jù)庫(kù)加入不規(guī)范的數(shù)據(jù),對(duì)輸入到數(shù)據(jù)庫(kù)中的數(shù)據(jù)要審核和約束機(jī)制;安全性原則:數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù),防止非法用戶(hù)使用數(shù)據(jù)庫(kù)或合法用戶(hù)非法使用數(shù)據(jù)庫(kù)造成數(shù)據(jù)泄漏、更改或破壞,數(shù)據(jù)庫(kù)要有人證和授權(quán)機(jī)制;可伸縮性原則:數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)充分考慮發(fā)展的需要、移植的需要,應(yīng)具有良好的擴(kuò)展性,伸縮性和適度冗余;規(guī)范化數(shù)據(jù)庫(kù)的設(shè)計(jì):應(yīng)遵循規(guī)范化理論。規(guī)范化程度過(guò)低的數(shù)據(jù)庫(kù),可能會(huì)存在插入/刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等問(wèn)題,解決的方法就是對(duì)關(guān)系模式進(jìn)行分解或合并,轉(zhuǎn)換成高級(jí)范式。3.2 系統(tǒng)結(jié)構(gòu)基于A(yíng)ndroid 圖書(shū)管理系統(tǒng)手機(jī)客戶(hù)端從設(shè)計(jì)者角度劃分,可以分為用戶(hù)(學(xué)生)和管理員。學(xué)生用戶(hù)具有的權(quán)限包括行實(shí)名注冊(cè)、用戶(hù)登錄、查找圖書(shū)、圖書(shū)借閱、定制借閱時(shí)間;管理員權(quán)限則是通過(guò)該系統(tǒng)進(jìn)行圖書(shū)更新、書(shū)籍查詢(xún)、以及用戶(hù)管理等15。從使用者角度可以分為前臺(tái)和后臺(tái)兩大部分。后臺(tái)是本系統(tǒng)的最重要部分,該部分是本系統(tǒng)的信息維護(hù)和管理平臺(tái)。根據(jù)顯示要求,本系統(tǒng)后臺(tái)有兩類(lèi)用戶(hù):用戶(hù)和管理員。用戶(hù)和管理員都可以通過(guò)該系統(tǒng)進(jìn)行操作,只不過(guò)權(quán)限會(huì)有所不同。本系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)為C/S結(jié)構(gòu),結(jié)構(gòu)如圖3-1所示。圖3-1 C/S結(jié)構(gòu)圖3.3 設(shè)計(jì)思想基于A(yíng)ndroid的圖書(shū)管理系統(tǒng)客戶(hù)端共分為兩大模塊:圖書(shū)管理和用戶(hù)管理。圖書(shū)管理模塊主要是對(duì)新書(shū)的錄入,破損下架圖書(shū)的刪除以及對(duì)圖書(shū)的查詢(xún)。用戶(hù)管理模塊主要是對(duì)用戶(hù)的管理,查找,刪除等。結(jié)構(gòu)上看,Android圖書(shū)管理系統(tǒng)客戶(hù)端是C/S結(jié)構(gòu),該設(shè)計(jì)包括了服務(wù)器端和客戶(hù)端的設(shè)計(jì)。3.4 用戶(hù)使用模塊普通用戶(hù)功能流程圖如圖3-2所示。圖3-2 用戶(hù)使用流程圖3.4.1 用戶(hù)注冊(cè)用戶(hù)可以通過(guò)手機(jī)客戶(hù)端上的注冊(cè)按鈕來(lái)打開(kāi)注冊(cè)界面,然后根據(jù)注冊(cè)界面提示信息填入對(duì)應(yīng)數(shù)據(jù)來(lái)完成用戶(hù)注冊(cè),注冊(cè)信息會(huì)添加到數(shù)據(jù)庫(kù),滿(mǎn)足注冊(cè)條件后會(huì)返回注冊(cè)成功。注冊(cè)完成后即可登錄,執(zhí)行用戶(hù)相關(guān)操作。3.4.2 用戶(hù)登錄登錄用戶(hù)按照功能角色分為兩類(lèi):學(xué)生和管理員。用戶(hù)可點(diǎn)擊登陸界面角色按鈕選定角色后進(jìn)行登錄,點(diǎn)擊登錄后,數(shù)據(jù)庫(kù)會(huì)匹配用戶(hù)信息,用戶(hù)信息正確后,即可完成登錄。3.4.3 書(shū)籍查詢(xún)?cè)诓樵?xún)界面輸入書(shū)名,通過(guò)服務(wù)器連接數(shù)據(jù)庫(kù)來(lái)返回查詢(xún)信息,查詢(xún)信息包括:書(shū)名,作者,圖書(shū)價(jià)格,是否被訂閱等信息。3.4.4 用戶(hù)管理用戶(hù)管理模塊式管理員對(duì)學(xué)生用戶(hù)賬號(hào)的管理,對(duì)于不使用的賬號(hào),管理員可以對(duì)它進(jìn)行刪除,同時(shí)管理員還有權(quán)限對(duì)用戶(hù)信息進(jìn)行查詢(xún)。3.4.5 圖書(shū)管理圖書(shū)管理模塊可以讓管理員通過(guò)此功能,對(duì)圖書(shū)進(jìn)行添加和刪除等功能。通過(guò)這個(gè)模塊,管理員可以對(duì)最近購(gòu)買(mǎi)的圖書(shū)進(jìn)行添加處理,而且管理員還可以對(duì)一些下架或者破損嚴(yán)重的書(shū)籍進(jìn)行刪除,以免誤導(dǎo)學(xué)生,造成不必要的麻煩。3.5 管理員管理模塊后臺(tái)管理的功能是可以把用戶(hù)請(qǐng)求,通過(guò)不同功能模塊,去檢索數(shù)據(jù)庫(kù),然后把結(jié)果返回個(gè)客戶(hù)端的用戶(hù),如圖3-3所示。圖3-3 管理流程圖3.5.1 注冊(cè)管理用戶(hù)提交注冊(cè)信息:用戶(hù)填寫(xiě)完注冊(cè)信息后,點(diǎn)擊注冊(cè)按鈕,向服務(wù)器發(fā)送注冊(cè)信息,服務(wù)器保留其信息,并且更新數(shù)據(jù)庫(kù)。注冊(cè)管理在后臺(tái)功能里面是很重要的,注冊(cè)不僅可以實(shí)現(xiàn)學(xué)生的注冊(cè),而且還可以實(shí)現(xiàn)管理員的注冊(cè)。管理員注冊(cè)會(huì)增加一個(gè)管理員注冊(cè)激活碼,以免被人胡亂注冊(cè),保證圖書(shū)管理系統(tǒng)的安全性。3.5.2 登錄管理登錄管理:登陸管理可以把登錄用戶(hù)名和密碼發(fā)送到數(shù)據(jù)庫(kù),和數(shù)據(jù)庫(kù)中用戶(hù)信息進(jìn)行對(duì)比,對(duì)比正確則可以登錄成功,反之失??!用戶(hù)進(jìn)入登陸界面,會(huì)有用戶(hù)名、密碼以及角色選擇輸入框,角色包括學(xué)生和管理員。用戶(hù)選定角色并且輸入正確的用戶(hù)名和密碼之后則可完成登錄。登錄過(guò)程包括填寫(xiě)信息和數(shù)據(jù)庫(kù)請(qǐng)求和響應(yīng)。3.5.3 書(shū)籍查詢(xún)管理用戶(hù)通過(guò)圖書(shū)查詢(xún)輸入框來(lái)對(duì)圖書(shū)進(jìn)行查詢(xún),如輸入圖書(shū)名稱(chēng),之后把信息發(fā)送給服務(wù)器端的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)會(huì)對(duì)書(shū)籍進(jìn)行查找,查找完成之后把查找信息發(fā)送給用戶(hù),該信息會(huì)包括圖書(shū)名稱(chēng),作者,是否被借閱等。3.5.4 用戶(hù)管理管理員具有刪除和查詢(xún)用戶(hù)信息的權(quán)限,對(duì)于一些有特殊情況,比如學(xué)生畢業(yè),退學(xué)等學(xué)生進(jìn)行刪除,實(shí)時(shí)保持?jǐn)?shù)據(jù)庫(kù)的最新?tīng)顟B(tài)。3.5.5 圖書(shū)管理管理員具有該功能的權(quán)限。最為管理員,需要經(jīng)常對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新。新購(gòu)進(jìn)的圖書(shū),管理員需要把它添加進(jìn)數(shù)據(jù)庫(kù);破損圖書(shū),下架圖書(shū),管理員會(huì)將之從數(shù)據(jù)庫(kù)刪除;同時(shí)管理員還可以查詢(xún)圖書(shū)的借閱信息。3.6 系統(tǒng)數(shù)據(jù)分析和設(shè)計(jì)3.6.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)設(shè)計(jì)階段完成數(shù)據(jù)分析,并且根據(jù)數(shù)據(jù)信息建立相應(yīng)的關(guān)系,目的是把該階段的數(shù)據(jù)結(jié)果轉(zhuǎn)化為數(shù)據(jù)庫(kù)。管理員和學(xué)生用戶(hù)有以下屬性:id、username、password、college_name、sex、type幾個(gè)屬性。數(shù)據(jù)庫(kù)通過(guò)用戶(hù)的name、password這兩個(gè)屬性來(lái)確定用戶(hù)身份是否合法。E-R圖如圖3-4所示。圖 3-4 用戶(hù)E-R圖圖書(shū)信息表:專(zhuān)門(mén)用來(lái)存儲(chǔ)書(shū)籍的信息。E-R圖如圖3-5所示。圖3-5 圖書(shū)E-R圖對(duì)于各個(gè)實(shí)體之間的關(guān)系E-R圖如圖3-6所示。圖3-6 實(shí)體E-R圖3.6.2 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)根據(jù)以上的E-R圖,轉(zhuǎn)化成數(shù)據(jù)庫(kù)的物理設(shè)計(jì)?;谝陨线壿嬙O(shè)計(jì),考慮程序設(shè)計(jì)的簡(jiǎn)易性,該系采用SQL Server 2008建立簡(jiǎn)單數(shù)據(jù)庫(kù),在下邊創(chuàng)建兩個(gè)表。表數(shù)據(jù)清單設(shè)計(jì)如表3-1所示。表3-1 數(shù)據(jù)表清單表名說(shuō)明用戶(hù)表用于存儲(chǔ)用戶(hù)信息書(shū)籍信息表用于存儲(chǔ)書(shū)籍基本信息用戶(hù)表中存儲(chǔ)了用戶(hù)的各種信息,如表3-2所示。表3-2 用戶(hù)表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵備注Usernamevarchar50否PasswordVarchar50否IDcardVarchar50否In_timeVarchar10否College_nameChar10否Regist_idChar10否允許為空SexChar10否TypeChar10否IDInt 是圖書(shū)表中存儲(chǔ)了圖書(shū)的全部狀態(tài),如表3-3所示。表 3-3 圖書(shū)表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵備注Bookidvarchar50主鍵BookbuyVarchar50否BookauthorVarchar50否IsborrowChar10否UsernameVarchar50否允許nullTimeVarchar20否允許nullTimestopVarchar20否允許nullBooknameVarchar50否StudentidVarvhar50否允許null4 詳細(xì)設(shè)計(jì)4.1 客戶(hù)端的設(shè)計(jì)Android的界面設(shè)計(jì)在Eclipse安裝好了ADT插件并且導(dǎo)入了AndroidSDK后,創(chuàng)建一個(gè)android project,此工程是作為圖書(shū)館管理系統(tǒng)的客戶(hù)端,是為廣大用戶(hù)下載使用的,所以,該UI界面的主要要求是要操作性強(qiáng)和交互簡(jiǎn)單??蛻?hù)端的注意事項(xiàng)為:一個(gè)是數(shù)據(jù)庫(kù)的設(shè)計(jì),一個(gè)是各個(gè)功能的布局。Android Project 名稱(chēng):bookmanagement。工程結(jié)構(gòu)圖如圖4-1所示。 圖4-1 客戶(hù)端工程圖4.2 服務(wù)端的設(shè)計(jì)搭建web服務(wù)器本軟件是C/S結(jié)構(gòu)的系統(tǒng),因此要先搭建服務(wù)器端,利用Java EE中的servlet來(lái)提供服務(wù),并將其部署在Tomcat下。需要解決的是創(chuàng)建不同的servlet來(lái)提供不同的服務(wù)。Web服務(wù)的名稱(chēng):bookweb。工程界面如圖4-2所示。圖4-2 服務(wù)端工程圖構(gòu)建服務(wù)器過(guò)程:打開(kāi)eclipse->點(diǎn)擊file->new->other 如圖4-3所示。圖4-3 Servers構(gòu)建圖1->server->next如圖4-4所示。圖 4-4 Servers構(gòu)建圖2選擇對(duì)應(yīng)tomcat版本->next 如圖4-5所示。圖 4-5 Servers構(gòu)建圖3進(jìn)入到Add and Remove界面雙擊available框中的項(xiàng)目,然后項(xiàng)目會(huì)移動(dòng)到右邊框中->最后點(diǎn)擊finish。如圖4-6所示。圖4-6 Servers構(gòu)建圖44.3 具體功能界面4.3.1 注冊(cè)界面對(duì)于一個(gè)系統(tǒng)的開(kāi)始,首先必須的是用戶(hù)的注冊(cè)界面,注冊(cè)模塊是為了登錄系統(tǒng)所進(jìn)行的獲取通行證的步驟,注冊(cè)所有的信息都將提交給數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),注冊(cè)的信息將作為用戶(hù)在本系統(tǒng)進(jìn)行一切活動(dòng)的標(biāo)識(shí)。注冊(cè)功能對(duì)應(yīng)的程序名為com.briup包下的RegisterActivity.java。注冊(cè)界面如圖4-7所示。圖4-7 注冊(cè)界面核心代碼如下:dialog_group.setOnCheckedChangeListener(new OnCheckedChangeListener() Overridepublic void onCheckedChanged(RadioGroup arg0, int checkedId) / TODO Auto-generated method stubif(checkedId = dialog_boy.getId()sextype = "男"else if(checkedId =dialog_girl.getId()sextype = "女"); dialog_regis.setOnClickListener(new OnClickListener() Overridepublic void onClick(View arg0) / TODO Auto-generated method stub username = user_name.getText().toString(); password = user_password.getText().toString(); idcard = user_identity.getText().toString(); in_time = user_time.getText().toString(); college_name = collegename.getText().toString(); regist_id = tearher_regis.getText().toString();if(username !=null && password !=null && idcard !=null && in_time !=null && college_name !=null)/ 處理注冊(cè)事件json = urlParameter.regist(username, password, idcard, in_time, college_name, regist_id, sextype, strtype);try if(json!=null && json.getBoolean("result")Toast.makeText(context, "注冊(cè)成功!",3000).show();dialog.dismiss();elseToast.makeText(context, "注冊(cè)失敗!",3000).show(); catch (JSONException e) / TODO Auto-generated catch blocke.printStackTrace();elseToast.makeText(context, "參數(shù)不可為空!",3000).show();4.3.2 登陸界面登錄界面作為系統(tǒng)的門(mén)面,登錄界面完成的功能是驗(yàn)證所登錄用戶(hù)的賬號(hào)是否正確,以驗(yàn)證是否有進(jìn)入系統(tǒng)的權(quán)限。登錄界面如圖4-8所示。圖4-8 登錄界面核心代碼如下: protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException if (null = req) return; res.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8"); res.setCharacterEncoding("utf-8"); PrintWriter out = res.getWriter(); String username = req.getParameter("username"); String password = req.getParameter("password"); String type = req.getParameter("type");if(username != null && password != null && type != null) String sql = "select top 1 username,password,type from user_name where username='"+username+"' and password='"+password+"' and type='"+type+"'" System.out.print(sql); try resultSet = ControlDB.getInstance().executeQuery(sql);if(resultSet.next()maps.put("username", resultSet.getString("username");maps.put("password", resultSet.getString("password");maps.put("type", resultSet.getString("type");map.put("name", maps);map.put("result", "true");out.println(Utils.getInstance().getMapJSONObject(map);resultSet.close();elsemap.put("result", "false");out.println(Utils.getInstance().getMapJSONObject(map); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();elsemap.put("result", "false");map.put("name", "請(qǐng)求參數(shù)不可為空");out.println(Utils.getInstance().getMapJSONObject(map); out.flush(); out.close(); 4.3.3 圖書(shū)查詢(xún)預(yù)約界面學(xué)生用戶(hù)通過(guò)輸入所需查詢(xún)的書(shū)籍名字和書(shū)籍作者名,便可以從數(shù)據(jù)庫(kù)中查詢(xún)到所查詢(xún)的圖書(shū)。界面如圖4-9所示。圖4-9查詢(xún)預(yù)約界面代碼如下:public class Subscription extends HttpServlet/* * */private static final long serialVersionUID = 1L;private int statement ;private Map<String, Object> maps = null;private Map<String , Object> map= null;Overridepublic void init() throws ServletException / TODO Auto-generated method stubmaps = new HashMap<String, Object>(); map = new HashMap<String, Object>();super.init();Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException / TODO Auto-generated method stubres.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8"); res.setCharacterEncoding("utf-8");this.doPost(req, res);Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException / TODO Auto-generated method stubif (null = req) return; res.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8"); res.setCharacterEncoding("utf-8"); PrintWriter out = res.getWriter(); String bookid = req.getParameter("bookid"); String bookname = req.getParameter("bookname"); String username = req.getParameter("username"); String time = req.getParameter("time"); String timestop = req.getParameter("timestop"); String studentid = req.getParameter("studentid"); if(bookid !=null && bookname !=null && username != null && time !=null && timestop !=null && studentid != null) String _bookname = new String(bookname.getBytes("ISO-8859-1"),"UTF-8"); String sql = "update book_name set isborrow='1', time='"+time+"',username='"+username+"',timestop='"+timestop+"',studentid='"+studentid+"' where bookid='"+bookid+"' and bookname='"+_bookname+"'" System.out.print(sql); try statement = ControlDB.getInstance().executeUpdate(sql);if(statement = 1)map.put("result", "true");map.put("name", "借閱成功");out.println(Utils.getInstance().getMapJSONObject(map);elsemap.put("result", "false");map.put("name", "借閱失敗");out.println(Utils.getInstance().getMapJSONObject(map); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); else map.put("result", "false");map.put("name", "請(qǐng)求參數(shù)不可為空");out.println(Utils.getInstance().getMapJSONObject(map); Overridepublic void destroy() / TODO Auto-generated method stubsuper.destroy();4.3.4 添加圖書(shū)界面該界面由于向數(shù)據(jù)庫(kù)中添加新進(jìn)圖書(shū)。界面如圖4-10所示。圖4-10 添加界面核心代碼如下:if(bookid != null && bookname != null && bookbuy !=null && bookauthor !=null && isborrow !=null) if( !SqlStatm.getInstance().isselect(bookid) ) bookname =new String(bookname.getBytes("ISO-8859-1"),"UTF-8"); bookbuy =new String(bookbuy.getBytes("ISO-8859-1"),"UTF-8"); bookauthor =new String(bookauthor.getBytes("ISO-8859-1"),"UTF-8"); String sql = "insert into book_name (bookid,bookname,bookbuy,bookauthor,isborrow,username,time,timestop,studentid) values ("+"'"+bookid+"',"+"'"+bookname+"',"+"'"+bookbuy+"',"+"'"+bookauthor+"',"+"'"+isborrow+"',"+"'"+username+"',"+"'"+time+"',"+"'"+timestop+"',"+"'"+studentid+"')" System.out.println(sql); try statement = ControlDB.getInstance().executeUpdate(sql);if(statement = 1)map.put("result", "true");map.put("name", "插入成功");out.println(Utils.getInstance().getMapJSONObject(map);else

注意事項(xiàng)

本文(基于android studio的圖書(shū)管理系統(tǒng)的APP開(kāi)發(fā))為本站會(huì)員(文***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!