[開題報告+任務(wù)書+論文+PPT+源碼]基于安卓的個人圖書館設(shè)計[包運行成功]
[開題報告+任務(wù)書+論文+PPT+源碼]基于安卓的個人圖書館設(shè)計[包運行成功]

科大云炬
目錄
1畢業(yè)設(shè)計(論文)開題報告
學(xué)生姓名:?學(xué) 號:
所在學(xué)院:?學(xué)院__________________
專 業(yè):?計算機科學(xué)與技術(shù)______________
設(shè)計(論文)題目:__基于安卓的個人圖書館設(shè)計_______
________ _ ——口袋閱讀____
指導(dǎo)教師:? ____________ _____
畢?業(yè)?設(shè)?計(論?文)開 題 報 告
1.結(jié)合畢業(yè)設(shè)計(論文)課題情況,根據(jù)所查閱的文獻資料,每人撰寫2000字左右的文獻綜述:文 獻 綜 述一、系統(tǒng)開發(fā)的背景及意義隨著信息技術(shù)地飛速發(fā)展,信息量的大爆炸,傳統(tǒng)圖書館的服務(wù)能力與讀者的需求矛盾越來越大。主要是因為傳統(tǒng)圖書館的服務(wù)是有限的,它只能能讓讀者查詢獲取本館的資源,而讀者的需求是無限的。并且隨著移動終端的普及和移動通信技術(shù)的發(fā)展,基于網(wǎng)絡(luò)、手機等新媒體進行信息傳播的方式漸成主流,人們的生活方式、知識獲取方式、閱讀方式都發(fā)生了重大變化。因此人們提出“移動圖書館”的概念。移動圖書館使人們不受時間、地點和空間的限制,通過移動設(shè)備來靈活方便地進行圖書館文獻信息的查詢、瀏覽和獲取圖書信息及相關(guān)服務(wù)。目前,IOS和Android是占有市場份額最大的兩個平臺。IOS是一個相當(dāng)一致的系統(tǒng),并且,其系統(tǒng)本身具備了相當(dāng)良好的、內(nèi)建流暢的用戶交互實現(xiàn)。還有,蘋果本身也提供了一個非常良好的IOS程序開發(fā)環(huán)境。Android本身源碼的開放性,對于一些需要利用底層實現(xiàn)細節(jié)的開發(fā)者來說,是個很好的特性。而且從開發(fā)本身來說,Android 所采用的開發(fā)語言和環(huán)境, 相對來說比IOS 的門檻要低,這是它的優(yōu)勢所在。在技術(shù)層面上,首先,IOS對應(yīng)用的限制較大,應(yīng)用程序運行在一個單獨的沙盒中,不能讀寫任何其他應(yīng)用的數(shù)據(jù),只能訪問很少一部分系統(tǒng)允許應(yīng)用訪問的數(shù)據(jù)。而Android限制較少,絕大部分系統(tǒng)數(shù)據(jù)都能訪問。第二,在安全性和隱私方面,應(yīng)用能訪問的系統(tǒng)數(shù)據(jù)越多,所能獲得的用戶信息也就越多,用戶的隱私和數(shù)據(jù)安全就越來越難得以保障。從這個角度看,IOS更有優(yōu)勢。第三,IOS是非開源的,而Android是開源的。Android對比IOS還有以下優(yōu)勢:無盡的分享選項;眾多的第三方輸入選擇;更多的免費應(yīng)用;可視化的文件系統(tǒng)。所以我會選用Android作為開發(fā)平臺。IOS開發(fā)工具是Xcode,Xcode具有統(tǒng)一的用戶界面設(shè)計,編碼/測試/調(diào)試都在一個簡單的窗口內(nèi)完成,但是Xcode的代碼提示沒有Android Studio智能。一般Android開發(fā)會使用Eclipse作為開發(fā)工具,Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。而Android Studio是Google推出的,專門為Android“量身訂做”的,是Google大力支持的一款基于IntelliJ IDEA改造的IDE,Google的工程師團隊肯定會不斷完善,上升空間非常大。本課題研究的意義在于給愛閱讀的人們提供了各類圖書,人們可以通過智能手機查找自己想看的書籍,根據(jù)自己的喜好放入書架或者進行在線下載,閱讀完之后也可進行刪除。同時,個人圖書館也比較適合高校學(xué)生的閱讀習(xí)慣,有利于合理利用碎片時間??萍嫉陌l(fā)展改變了人們的生活方式,使人們的生活日趨便捷。伴隨著4G網(wǎng)絡(luò)的日益發(fā)展和智能手機的日趨普及,傳統(tǒng)的基于PC機的很多應(yīng)用已經(jīng)逐漸向手機客戶端轉(zhuǎn)移。手機終端正在改變?nèi)藗兊纳詈蜏贤ǚ绞?,而多種多樣的智能手機軟件的大量使用則可以滿足不同群體的個性化需求。因此利用Android平臺設(shè)計和開發(fā)出一款基于Android手機客戶端的個人圖書館可以使讀者隨時、隨地通過手機進行閱讀,本設(shè)計稱其為“口袋閱讀”。本次畢業(yè)設(shè)計旨在設(shè)計一款基于Android的個人圖書館app,其最大的特色就是個性化關(guān)聯(lián)。在推薦閱讀模塊中,當(dāng)用戶搜索書目時會推送同作者的其他書籍等相關(guān)功能。本系統(tǒng)擬采用Android開發(fā)技術(shù),使用Android Studio開發(fā)環(huán)境和MySQL數(shù)據(jù)庫技術(shù)。二、課題設(shè)計技術(shù)1.Android Studio開發(fā)工具Android Studio首先解決的一個問題是多分辨率。Android設(shè)備擁有大量不同尺寸的屏幕和分辨率,根據(jù)新的Studio,開發(fā)者可以很方便地調(diào)整在各個分辨率設(shè)備上的應(yīng)用。同時Studio還解決語言問題,多語言版本(但是沒有中文版本)、支持翻譯都讓開發(fā)者更適應(yīng)全球開發(fā)環(huán)境,Studio還提供收入記錄功能。最大的改變在于Beta測試的功能,Studio提供了Beta Testing,可以讓開發(fā)者很方便試運行。Android Studio還有如下幾個優(yōu)點:(1)UI更漂亮:Studio自帶的Darcula主題的黑界面很高大上。(2)更加智能:智能保存,效率會大大提升。(3)整合了Gradle構(gòu)建工具:Gradle集合了Ant和Maven的優(yōu)點,不管是配置、編譯、打包都很棒。(4)強大的UI編輯器:除了吸收Eclipse和ADT的優(yōu)點之外,還自帶了多設(shè)備的實時預(yù)覽。(5)內(nèi)置終端:Studio內(nèi)置終端對于習(xí)慣命令行操作的人來說再也不用來回切換。(6)更完善的插件系統(tǒng):Studio下支持各種插件,如Git、Markdown、Gradle等等。(7)完美整合版本控制系統(tǒng):安裝的時候自帶了如GitHub、Git、SVN等流行的版本控制系統(tǒng),可以直接check out你的項目。所以我選擇Android Studio作為開發(fā)工具。2.MySQL數(shù)據(jù)庫MySQL 是一個完全多線程,支持多語言,多處理器的中、小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它使用標(biāo)準(zhǔn)的 SQL 語言(結(jié)構(gòu)化查詢語言),支持多種存儲引擎。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放 在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL有如下優(yōu)點:(1)有多種列類型:1、2、3、4、和8字節(jié)長度自有符號/無符號整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM類型。(2)它通過一個高度優(yōu)化的類庫實現(xiàn)SQL函數(shù)庫并像他們能達到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配,沒有內(nèi)存漏洞。(3)全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來自不同數(shù)據(jù)庫的表。(4) 所有列都有缺省值。你可以用INSERT插入一個表列的子集,那些沒用明確給定值的列設(shè)置為它們的缺省值。參考文獻:[1]李剛.瘋狂Android講義(第3版)[M].北京:電子工業(yè)出版社,2015.[2]高巍.Android操作系統(tǒng)軟件自動化測試方案的設(shè)計與實施[D].北京:北京郵電大學(xué),2012.[3]武洪萍,馬桂婷.MySQL數(shù)據(jù)庫原理及應(yīng)用[M].北京:人民郵電出版社,2014.[4]張建源.Android開發(fā)技術(shù)的學(xué)習(xí)及應(yīng)用[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2014,(12):62-64.[5]紀(jì)曉陽.線程在Android開發(fā)中的應(yīng)用[J].軟件,2013,(08).[6]李滿玲.淺析Android開發(fā)環(huán)境的配置[J].商,2015,(31):243-243.[7]陳甫.Android Studio應(yīng)用[J].軟件設(shè)計開發(fā),2014,(24).[8]楊略.基于Android平臺的個人移動數(shù)字圖書館系統(tǒng)研究[J].情報探索,2012,(06):98-100.[9]楊艷妮,明均仁,張杰.基于Android的移動圖書館App功能設(shè)計與實現(xiàn)[J].圖書館學(xué)研究,2015,(07).[10]褚鵬.基于Android移動平臺的圖書借閱與管理系統(tǒng)設(shè)計與實現(xiàn)[D].華中師范大學(xué),2014.[11]樊濤.基于Android平臺的手機圖書館系統(tǒng)的設(shè)計與實現(xiàn)[D].南昌大學(xué),2014.[12]H Kale,G Rane,S Shende.Digital Library Services based on Android using Public Cloud[J].International Journal of Emerging Technologies and Engineering,2014,171-174.[13]Domenico Amalfitano,Anna Rita Fasolino,Porfirio Tramontana,Bryan Robbins.Testing Android Mobile Applications,Strategies,and Approaches[J].Advances In Computers,2013,89:1-52.[14]郭霖.第一行代碼Android[M].北京:人民郵電出版社,2014.[15]陳好敏.個人數(shù)字圖書館研究[D].華中師范大學(xué),2012.[16]D.Porru,A.Parmigiani,D.Barletta,D.Choussos,S.Bassi,O.Miller,B.Gardella,R.E.Nappi,A.Spinillo,B.Rovereto.Emergency Based Remote Collateral Tracking System Using Google's Android Mobile Platform[J].Springer Berlin Heidelberg,2012,167(1):391-403.[17]王雨竹.MySQL入門經(jīng)典[M].高飛機械工業(yè)出版社出版,2013.[18]李剛.瘋狂 Java 講義(第 2 版)[M].北京:電子工業(yè)出版社,2012.[19]榮佰丹.移動圖書館信息服務(wù)研究[D].黑龍江大學(xué),2012.[20]Steve Mansfield-Devine. Android malware and mitigations[J].Network Security,2012,2012,(11):12-20.
畢業(yè)設(shè)計(論?文)開 題 報 告
2.本課題要研究或解決的問題和擬采用的研究手段(途徑):第一階段:鞏固Java基礎(chǔ)和MySQL數(shù)據(jù)庫的使用,學(xué)習(xí)Android相關(guān)知識,熟悉Android Studio開發(fā)工具。規(guī)劃模塊布局以及整體頁面設(shè)計,對所涉及的內(nèi)容有大致的規(guī)劃,找準(zhǔn)設(shè)計方向,搭建開發(fā)所需的環(huán)境。第二階段: 編寫需求分析,進行設(shè)計、編碼。 系統(tǒng)結(jié)構(gòu)圖如下所示: 需求分析:注冊,登錄模塊:實現(xiàn)用戶的注冊和登錄;用戶維護:實現(xiàn)用戶信息的增刪改查。資源模塊:新書通報:可以選擇喜歡的書點開進入書目詳情,有對書籍簡單的介紹,點擊放入書架按鈕可以添加書籍;電子期刊:點擊可以進入期刊詳情,進行期刊訂閱;推薦閱讀:點擊進入書目詳情,有對書籍的簡介,還可以下載電子書,同時還有個性化關(guān)聯(lián)的推送,當(dāng)用戶搜索書目時會推送同作者的其他書籍。書籍、期刊等都是由數(shù)據(jù)庫作為后臺進行推送。 3.書架模塊:對書目和期刊的增刪。4.我的模塊:我的主頁:點開進入個人的基本信息;設(shè)置:可以打開或關(guān)閉網(wǎng)絡(luò),還可以清除緩存和安全退出賬號。實現(xiàn)方案:Android Studio開發(fā)工具:用Java語言開發(fā),連接相應(yīng)的MySQL數(shù)據(jù)庫,在數(shù)據(jù)庫中建立書目、期刊等相應(yīng)的信息,實現(xiàn)用戶對書籍的搜索、訂閱等一些操作。第三階段:功能測試、文檔書寫 1.單一功能測試:對個人圖書館的每個模塊進行測試。 2.系統(tǒng)功能測試:進行優(yōu)化處理,提高系統(tǒng)的可行性。 3.認真總結(jié),查找漏洞完善系統(tǒng),撰寫論文并完成畢業(yè)答辯。程序環(huán)境運行要求: 1.開發(fā)工具:Android Studio 2.數(shù)據(jù)庫:MySQL 3.系統(tǒng)開發(fā)語言:Java4.運行環(huán)境:Windows 10 x64
畢業(yè)設(shè)計(論?文)開 題 報 告
指導(dǎo)教師意見:1.對“文獻綜述”的評語: 論文選題較為實用,通過移動端APP程序應(yīng)用,以解決用戶口袋閱讀的需求。學(xué)生文獻查閱較為廣泛,形成了較為合理的系統(tǒng)功能規(guī)劃,增加了閱讀關(guān)聯(lián)推薦等方便功能項,值得肯定。所選擇的開發(fā)技術(shù)與路線較為科學(xué)可行。2.對本課題的深度、廣度及工作量的意見和對設(shè)計(論文)結(jié)果的預(yù)測: 系統(tǒng)深度、廣度及工作量一般,結(jié)果可預(yù)期 指導(dǎo)教師: 2016 年 3 月 23日所在專業(yè)審查意見: 負責(zé)人: 年 月 日
2畢業(yè)設(shè)計(論文)任務(wù)書
課題名稱基于安卓的個人圖書館設(shè)計——口袋閱讀院 (系)學(xué)院專 業(yè)計算機科學(xué)與技術(shù)姓 名學(xué) 號起訖日期指導(dǎo)教師
畢業(yè)設(shè)計(論文)的內(nèi)容和要求
開發(fā)目標(biāo):隨著手機移動通信技術(shù)和互聯(lián)網(wǎng)的快速發(fā)展,手機已經(jīng)成為了人們在日常生活中獲取信息資源的重要途徑,越來越多的互聯(lián)網(wǎng)服務(wù)都拓展到了手機等移動平臺?;诎沧康膫€人圖書館,給愛閱讀的人們提供了各類圖書,我們可以查找自己想看的書籍,根據(jù)自己的喜好放入書架或者進行在線下載,看完了也可進行刪除。我們可以隨時隨地地閱讀,給忙碌的人們帶來了便捷。主要功能:注冊,登錄模塊:實現(xiàn)用戶的注冊和登錄;資源模塊:新書通報,推薦閱讀,資源管理等,可以將喜歡的書放入書架或者進行下載,也可以進行圖書館資源管理;書架模塊:可以看到放入書架的電子書,也可進行刪除;我的模塊:我的主頁:個人的基本信息, 設(shè)置:可以打開或關(guān)閉網(wǎng)絡(luò),還可以清除緩存。開發(fā)技術(shù):開發(fā)工具:Android Studio數(shù)據(jù)庫:MySQL系統(tǒng)開發(fā)語言:Java運行環(huán)境:Windows 10 x64
畢業(yè)設(shè)計(論文)圖紙內(nèi)容及張數(shù)
由于計算機專業(yè)的特點,對圖紙的要求不是太高,因此無需繪制專門圖紙,但在論文中有流程圖或數(shù)據(jù)圖表。
實驗內(nèi)容及要求
要求:1、了解開發(fā)需求及明確目標(biāo);2、熟悉開發(fā)語言及工具進行程序編寫;3、項目調(diào)試。4、項目總結(jié)、成文。
其他
畢業(yè)設(shè)計期間還需要完成的工作:1、20.1.15前進行開題報告;2、完成不少于指定字數(shù)的翻譯,并用電子版本打印;3、完成畢業(yè)設(shè)計論文和課題開發(fā);4、答辯時做好答辯記錄;5、完成軟件使用說明書編寫;6、其他指定工作。
參考文獻
參考文獻:[1]李剛.瘋狂Android講義(第3版)[M].電子工業(yè)出版社.2015[2]高巍.Android操作系統(tǒng)軟件自動化測試方案的設(shè)計與實施[D].北京郵電大學(xué).2012[3]武洪萍,馬桂婷.MySQL數(shù)據(jù)庫原理及應(yīng)用[M].人民郵電出版社.2014[4]張建源.Android開發(fā)技術(shù)的學(xué)習(xí)及應(yīng)用[J].現(xiàn)代工業(yè)經(jīng)濟和信息化.2014[5]紀(jì)曉陽.線程在Android開發(fā)中的應(yīng)用[J].計算機應(yīng)用.2013[6]李滿玲.淺析Android開發(fā)環(huán)境的配置[J].財經(jīng)縱覽_信息傳媒.2015[7]陳甫.Android Studio應(yīng)用[J].軟件設(shè)計開發(fā).2014[8]楊略.基于Android平臺的個人移動數(shù)字圖書館系統(tǒng)研究[J].信息技術(shù).2012[9]楊艷妮,明均仁,張杰.基于Android的移動圖書館App功能設(shè)計與實現(xiàn)[J].數(shù)字化、網(wǎng)絡(luò)化.2015[10]褚鵬.基于Android移動平臺的圖書借閱與管理系統(tǒng)設(shè)計與實現(xiàn)[D].華中師范大學(xué).2014[11]樊濤.基于Android平臺的手機圖書館系統(tǒng)的設(shè)計與實現(xiàn)[D].南昌大學(xué).2014[12]Zheran Fang,Weili Han,Yingjiu Li.Permission based Android security:Issues and countermeasures[J].Computers & Security.2014[13]Domenico Amalfitano,Anna Rita Fasolino,Porfirio Tramontana,Bryan Robbins.Testing Android Mobile Applications,Strategies,and Approaches[J].Advances In Computers.2013[14]郭霖.第一行代碼Android[M].人民郵電出版社.2014[15]陳好敏.個人數(shù)字圖書館研究[D].華中師范大學(xué).2012[16]鐘伯成.一種基于Android平臺的手機圖書服務(wù)系統(tǒng)[P].中國專利: CN202472650U.2012[17]Lauren Darcey,Shane Conder. Android Wireless Application Development Volume 1:Android Essentials[M].中國郵電.2012[18]盧治,張小立.基于Android的Java程序設(shè)計移動學(xué)習(xí)平臺[J].教育與教學(xué)研究.2014[19]榮佰丹.移動圖書館信息服務(wù)研究[D].黑龍江大學(xué).2012[20]Steve Mansfield-Devine.Android malware and mitigations[J].Network Security.2012
六、畢業(yè)設(shè)計(論文)進程安排
起訖日期設(shè)計(論文)各階段工作內(nèi)容備 注20年12月下達畢業(yè)設(shè)計任務(wù),明確課題目標(biāo)和內(nèi)容12月查閱相關(guān)資料,編寫開題報告20年1月15日前完成論文開題1月-2月細化解決方案,完成系統(tǒng)總體設(shè)計3月完成數(shù)據(jù)庫設(shè)計,各模塊設(shè)計4月程序代碼編寫,局部模塊調(diào)試5月初合并調(diào)試,系統(tǒng)測試5月中下旬撰寫論文,及其他相關(guān)資料6月論文定稿,準(zhǔn)備論文答辯

3畢業(yè)設(shè)計(論文)?
學(xué)生姓名:?學(xué) 號:
所在學(xué)院:?學(xué)院______________ __
專 業(yè):?計算機科學(xué)與技術(shù)____________
設(shè)計(論文)題目:__基于安卓的個人圖書館設(shè)計_____
——口袋閱讀___________________
指導(dǎo)教師:? _____________ ___
基于安卓的個人圖書館設(shè)計——口袋閱讀
摘 要
傳統(tǒng)的圖書館已經(jīng)無法滿足廣大讀者的需求。傳統(tǒng)圖書館只能讓讀者查詢獲取本館的資源,而讀者的需求是無限的。并且隨著移動終端的普及和移動通信技術(shù)的發(fā)展,人們的生活方式、知識獲取方式、閱讀方式都發(fā)生了極大的變化。因此人們提出“移動圖書館”的概念。
本次設(shè)計使用的是Java語言,采用了Android Studio作為開發(fā)工具,Tomcat作為服務(wù)器,并結(jié)合MySQL數(shù)據(jù)庫,實現(xiàn)了基于Android的個人圖書館系統(tǒng)。
本文從系統(tǒng)開發(fā)環(huán)境、系統(tǒng)目標(biāo)、設(shè)計流程、功能設(shè)計等方面進行了系統(tǒng)介紹。本系統(tǒng)實現(xiàn)了注冊登錄、加入書架、訂閱期刊、下載小說、和個人主頁等基本功能。該系統(tǒng)使人們不受時間、地點和空間的限制,通過移動設(shè)備來靈活方便地進行圖書館文獻信息的查詢、瀏覽和獲取圖書信息及相關(guān)服務(wù)。通過對本系統(tǒng)的功能測試,表明該系統(tǒng)運行穩(wěn)定、界面友好,有一定的使用價值。
關(guān)鍵詞:個人圖書館 Android MySQL Java
The design of the based on Android's personal library - Pocket reading
ABSTRACT
The traditional library has been unable to meet the needs of the majority of readers. Traditional libraries can only allow readers to access the resources of the library, and the reader's demand is unlimited. And with the popularity of mobile terminals and the development of mobile communication technology, people's way of life, the way of knowledge acquisition, reading has taken place great changes. Therefore, people put forward the concept of "mobile library".
This design uses the Java language, using Studio Android as a development tool, Tomcat as a server, and combined with the MySQL database, to achieve a Android based personal library system.
In this paper, the system development environment, system objectives, design processes, functional design and other aspects of the system are introduced in detail. This system has realized the basic functions such as registration, joining the bookshelf, the periodical, downloading the novel, and the personal homepage. This system makes people not limited by time, place and space, through the mobile equipment to be flexible and convenient to carry on the library literature information inquiry, browse and get the book information and related services. By testing the function of the system, the test results show that the system has a high use value, and has a huge potential user base and broad application prospects.
Keywords:?Persional library;Android;MySQL;Java
目 錄
摘 要II
ABSTRACTII
第一章緒論11
1.1課題研究背景11
1.2課題研究現(xiàn)狀11
1.3課題的研究意義22
第二章 相關(guān)技術(shù)介紹33
2.1 Android Studio 開發(fā)工具33
2.2 MySQL數(shù)據(jù)庫33
2.3 Tomcat服務(wù)器44
2.4 Genymotion虛擬機44
第三章 系統(tǒng)需求分析55
3.1可行性分析55
3.1.1技術(shù)可行性55
3.1.2經(jīng)濟可行性55
3.1.3操作可行性55
3.2需求分析55
3.2.1功能需求55
3.3程序環(huán)境運行需求66
3.4性能需求66
3.5其他需求77
第四章 系統(tǒng)詳細設(shè)計88
4.1設(shè)計概述88
4.2設(shè)計原則88
4.3系統(tǒng)功能模塊88
4.3.1系統(tǒng)功能模塊的劃分88
4.3.2系統(tǒng)功能模塊的描述99
第五章 數(shù)據(jù)庫設(shè)計1010
5.1數(shù)據(jù)庫設(shè)計理念1010
5.2單個實體的E-R圖1010
5.2.1用戶E-R圖1010
5.2.2書籍E-R圖1111
5.2.3期刊E-R圖1111
5.2.4我的書籍E-R圖1111
5.2.5我的期刊E-R圖1212
5.3設(shè)計數(shù)據(jù)庫表1212
5.3.1數(shù)據(jù)庫表總表1212
5.3.2數(shù)據(jù)庫表的詳細說明1313
第六章 系統(tǒng)實現(xiàn)1616
6.1登錄模塊1616
6.2注冊模塊1616
6.3“口袋閱讀”的主界面1818
6.4新書通報,推薦閱讀模塊2020
6.4.1小說簡介界面2020
6.4.2我的書架模塊2121
6.4.3同作者書籍推薦功能2323
6.4.4下載小說功能2424
6.5期刊模塊2424
6.5.1期刊列表2424
6.5.2期刊簡介2525
6.5.2我的期刊2626
6.6“我的主頁”模塊2626
6.6.1個人主頁2626
6.6.2修改個人信息2727
6.6.3更多設(shè)置、安全退出2828
總 結(jié)2929
參考文獻3030
致謝3232
緒論
1.1課題研究背景
由于現(xiàn)代信息技術(shù)快速地發(fā)展,傳統(tǒng)圖書館已經(jīng)無法滿足讀者的需求。主要是因為傳統(tǒng)圖書館的服務(wù)是有限的,它只能在特定地點查詢有限的書籍,根本無法滿足有無限需求的廣大讀者。并且隨著移動通信技術(shù)的發(fā)展和移動終端的普及,基于網(wǎng)絡(luò)、手機等新媒體的信息傳播方式逐漸成為時代的主流,人們的生活方式、閱讀方式都發(fā)生了重大變化。因此“移動圖書館”這一概念應(yīng)運而生。移動圖書館不會限制人們閱讀的時間、地點和空間。人們通過手機就可以很方便地查詢和獲取書刊信息以及相關(guān)服務(wù)。
目前市場上最主要的兩個平臺是IOS和Android。IOS系統(tǒng)具有良好的并且流暢的用戶交互實現(xiàn),并且蘋果本身也提供了一個非常穩(wěn)定的、良好的開發(fā)環(huán)境。而對Android而言,首先,相比較而言,Android 采用的環(huán)境和開發(fā)語言,比IOS 的要求低。其次,Android的源碼具有開放性。
Android開發(fā)一般會選用經(jīng)典的Eclipse作為開發(fā)工具,因為它的源碼是開放的,其可擴展性也很好,可以擴充很多插件。并且它小巧,占用資源少,只要解壓就能使用,非常方便。而Android Studio是由Google推出的、專為Android“量身打造”的一個開發(fā)工具,目前它還處于不斷完善當(dāng)中,還有很大的上升空間。
1.2課題研究現(xiàn)狀
隨著科技地發(fā)展,人們越來越迫切地需要對個人圖書館進行查詢與管理。各個行業(yè)之間也存在著激烈地競爭,安卓平臺被越來越多的企業(yè)所選擇。企業(yè)通過該平臺發(fā)布并獲取個人圖書館的實時消息。
個人圖書館系統(tǒng)是一種快速有效地向用戶提供書籍期刊信息展示的平臺,網(wǎng)絡(luò)用戶可以通過該系統(tǒng)查詢想要閱讀的書籍和期刊,并可以將其加入書架。與此同時,企業(yè)也能夠通過該系統(tǒng)來發(fā)布最新書刊的相關(guān)信息,在發(fā)布信息的同時增強客戶對個人圖書館系統(tǒng)的了解。個人圖書館系統(tǒng)是一種基于android的開源移動手機平臺的信息發(fā)布管理系統(tǒng),目前國內(nèi)外很多人們已經(jīng)建立了自己的個人圖書館系統(tǒng),極大地增加了人們閱讀的便利。
在我國,很多企業(yè)都建立了個人圖書館系統(tǒng),實現(xiàn)了用戶對于書刊的網(wǎng)絡(luò)化管理,這將促進信息化的持續(xù)發(fā)展。在未來發(fā)展的道路上,個人圖書館系統(tǒng)將為便利了廣大讀者的閱讀,改變?nèi)藗兊拈喿x方式。歐美的電子商務(wù)網(wǎng)站應(yīng)用發(fā)展較早,其相關(guān)標(biāo)準(zhǔn)和法律相對來說也比較健全。而我國個人圖書館系統(tǒng)僅僅幾年的時間,發(fā)展卻相當(dāng)?shù)乜焖伲菙?shù)量和質(zhì)量與歐美比較還有很大差距,個人圖書館系統(tǒng)的發(fā)展和完善還任重道遠。
1.3課題的研究意義
本系統(tǒng)給愛閱讀的人們帶來了福音。人們不用再受時間、空間的限制,可以隨時隨地閱讀。比如,上下班在地鐵或公交上,人們可以拿出手機進入該系統(tǒng),選擇感興趣的書刊閱讀,不僅可以打發(fā)無聊時間,還可以擴充自己的知識面,陶冶情操。個人圖書館也比較符合高校學(xué)生的閱讀習(xí)慣,學(xué)生們可以很方便地用手機閱讀,有利于學(xué)生們合理利用空閑時間讀書學(xué)習(xí),不僅節(jié)約了時間成本,還不受地點地約束。
隨著網(wǎng)絡(luò)的蓬勃發(fā)展和智能手機的普及,很多基于PC機上的應(yīng)用已經(jīng)逐漸向手機客戶端轉(zhuǎn)移。人們的生活習(xí)慣正受到智能手機潛移默化地影響,各種各樣手機軟件地出現(xiàn),滿足了各個群體的不同需求,使人們的生活更加便捷。本系統(tǒng)是基于Android手機的個人圖書館,人們只要通過口袋中的手機就能隨時進行閱讀,所以本設(shè)計稱之為“口袋閱讀”。
本系統(tǒng)主要實現(xiàn)了注冊登錄、加入書架、訂閱期刊、下載小說、和個人主頁等基本功能。人們可以不受時間、地點和空間的限制,通過一部手機就能夠靈活方便地進行閱讀。
第二章 相關(guān)技術(shù)介紹
2.1 Android Studio 開發(fā)工具
Android Studio不僅解決了多分辨率的問題,而且還有多種語言版本,同時,它還提供收錄功能和Beta Testing,便于開發(fā)者快捷地進行試運行。除此之外,Android Studio還有以下幾個優(yōu)點:智能保存大大提高了效率;自帶了非常美觀的主題的黑界面;它整合了Gradle構(gòu)建工具,集合了Ant和Maven的優(yōu)點;具有強大的UI編輯器:不僅吸收Eclipse和ADT的優(yōu)點之外,還可以進行多設(shè)備的實時預(yù)覽;它的內(nèi)置終端方便了習(xí)慣命令行操作的人,再也不需要來回切換;支持各種插件;安裝時候自帶了如SVN、GitHub、 Git等流行版本的控制系統(tǒng),可以直接對項目進行檢查。所以本系統(tǒng)選擇Android Studio作為開發(fā)工具。
2.2 MySQL數(shù)據(jù)庫
MySQL 是一個支持多語言、多線程、多處理器的中小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。MySQL有如下優(yōu)點:(1)提供多線程支持,可以對內(nèi)存資源充分利用;(2)優(yōu)化了SQL查詢算法,提高了查詢速度;(3)提供多語言支持;(4)支持多種存儲引擎;(5)使用標(biāo)準(zhǔn)的SQL數(shù)據(jù)語言;(6)可以處理擁有成千上萬條記錄的大型數(shù)據(jù)庫;(7)因為其是開源的,所以無需付費;(8)提供數(shù)據(jù)庫操作的管理工具,可以用于管理、檢查和優(yōu)化數(shù)據(jù)庫。
2.3 Tomcat服務(wù)器
Tomcat是一個對源碼免費開放的、輕量級的服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶量不大的情況下適用。其部署簡單、安全管理、安全傳輸、容易操作且集成方便。
2.4 Genymotion虛擬機
Genymotion是提供了虛擬的Android環(huán)境,簡單容易安裝且速度快。它可以通過Google Play下載應(yīng)用進行安裝。它完全兼容ADB,不僅可以配置模擬器參數(shù),比如內(nèi)存大小、屏幕分辨率、CPU數(shù)量,而且它還支持全屏,改善了用戶使用的視覺感受。
第三章 系統(tǒng)需求分析
3.1可行性分析
3.1.1技術(shù)可行性
本系統(tǒng)是基于Android平臺的,使用Java語言實現(xiàn)的,結(jié)合了MySQL數(shù)據(jù)庫,開發(fā)環(huán)境是Android Studio。MySQL數(shù)據(jù)庫所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)語言,而Android Studio是由Google推出的,專為Android“量身打造”的。所以在技術(shù)上是可行的。
3.1.2經(jīng)濟可行性
本系統(tǒng)采用了Android studio作為開發(fā)工具。所以從投入的人力,物力與財力來講是非常小的,并不需要太大的開發(fā)成本與后期消耗,所以在經(jīng)濟上是可行的。
3.1.3操作可行性
本系統(tǒng)是基于Android的手機應(yīng)用,將其安裝在安卓手機上,便可以對其進行訪問。并且該系統(tǒng)的界面簡單明了,非常容易操作。本系統(tǒng)具有易管理、易操作、交互性好等優(yōu)點。所以其在操作上也是可行的。
3.2需求分析
3.2.1功能需求
本設(shè)計是基于安卓的個人圖書館系統(tǒng),主要有用戶管理模塊、資源模塊、書架模塊和我的主頁模塊,以下對每個模塊的功能進行了詳細說明:
(1)用戶管理模塊,也就是簡單實現(xiàn)了用戶的注冊登錄功能。
(2)在資源模塊中,點擊書籍或者期刊進入書目詳情,有對該書籍或者期刊的簡介,此時用戶可以將喜歡的書籍加入書架和訂閱感興趣的期刊。點擊下載小說按鈕,可以對喜歡的書籍進行下載。其最大的特色是有個性化推送,書籍詳情頁下面有同作者的其他書籍的推薦。
(3)書架模塊中,用戶可以將書架中的書籍、期刊刪除,也可以加入更多的書籍。
(4)我的模塊中,用戶可以修改個人信息、清除緩存、設(shè)置網(wǎng)絡(luò)和安全退出。
這樣就解決了傳統(tǒng)圖書館有限的服務(wù)能力和讀者無限的需求之間的矛盾,讀者可以隨時隨地進行閱讀。
3.3程序環(huán)境運行需求
本系統(tǒng)對其運行的環(huán)境有一定的要求,具體要求如下:
(1)開發(fā)工具:Android Studio,
(2)系統(tǒng)開發(fā)語言:Java,
(3)數(shù)據(jù)庫系統(tǒng)軟件:MySQL 5.6,
(4)服務(wù)器:Tomcat,
(5)虛擬機:Genymotion,
(6)運行環(huán)境:Windows 7
3.4性能需求
1.安全性:主要體現(xiàn)在兩個方面:系統(tǒng)安全性和數(shù)據(jù)安全性。在系統(tǒng)安全性方面,主要考慮系統(tǒng)操作和運行平臺是否穩(wěn)定。該系統(tǒng)經(jīng)過若干次操作測試和不斷地完善,沒有系統(tǒng)崩潰的情況出現(xiàn)。在運行平臺方面,系統(tǒng)的運行環(huán)境是非常穩(wěn)定的Windows 7,以Android為開發(fā)平臺,所以運行平臺是穩(wěn)定安全的。在數(shù)據(jù)安全性方面,用戶可根據(jù)自己的權(quán)限操作該系統(tǒng),增強數(shù)據(jù)的保密性和安全性。
2.可靠性:控制系統(tǒng)在運行過程中可能存在的突發(fā)情況,確保本系統(tǒng)能夠正常無誤地運行,增強系統(tǒng)的可靠性。
3.5其他需求
衡量一個軟件項目的質(zhì)量,不僅需要其能夠達到客戶的預(yù)期需求,同時還有以下幾個方面,如下表所示:
表3-1軟件質(zhì)量需求分析
軟件質(zhì)量屬性需求分析性能系統(tǒng)需具備較高的響應(yīng)能力。健壯性系統(tǒng)能承受的較大的壓力,并且擁有變更能力??煽啃韵到y(tǒng)在應(yīng)用或者錯誤面前,在意外或者錯誤使用的情況下,需具備維持軟件系統(tǒng)功能特性的能力??勺冃詳U充或變更體系結(jié)構(gòu)成為新的體系結(jié)構(gòu)。易用性寫一份軟件說明書,用戶易操作該系統(tǒng)。安全性系統(tǒng)向合法用戶提供服務(wù)的同時能夠阻止未經(jīng)授權(quán)的用戶使用的企圖或者拒絕服務(wù)??尚薷男跃邆淠芸焖俚匾暂^高的性能價格比變更系統(tǒng)的能力。功能性系統(tǒng)能完成用戶所期望的工作。可移植性系統(tǒng)可以很容易地轉(zhuǎn)移到其他運行環(huán)境。
第四章 系統(tǒng)詳細設(shè)計
4.1設(shè)計概述
本系統(tǒng)主要實現(xiàn)了用戶登錄注冊、加入書架、訂閱期刊、下載小說、和個人主頁等基本功能,并且根據(jù)用戶的需求繼續(xù)完善和增強系統(tǒng)的功能,提高“口袋閱讀”的實用性,完成便利用戶隨時隨地閱讀的“口袋閱讀”App。
4.2設(shè)計原則
在該系統(tǒng)的開發(fā)設(shè)計過程中遵循了如下的一些原則:
1.如何具有較高的工作效率:
(1)要兼顧處理能力,即系統(tǒng)在一定時間內(nèi)能處理多少事物;
(2)要兼顧運行時間,即軟件在處理某一項任務(wù)時所需花費的時間;
(3)要兼顧相應(yīng)時間,即向系統(tǒng)發(fā)出指令到系統(tǒng)反應(yīng)所需的時間。
2.如何具有較高的可靠性:
首先應(yīng)該設(shè)計一套解決方案,要提高系統(tǒng)的糾錯、容錯能力和發(fā)生故障后及時恢復(fù)的能力。當(dāng)然,也不能忽視環(huán)境因素和操作因素。
3.如何具有較好的交互性和操作性:
首先了解用戶的需求,然后在用戶需求的基礎(chǔ)上對系統(tǒng)界面進行簡化。在圖像上達到清晰美觀的效果,在數(shù)據(jù)輸入輸出時要力求簡單,容易操作。在簡單易操作的基礎(chǔ)上提供手寫輸入,以滿足不同的用戶群體,達到較好的交互性。
4.3系統(tǒng)功能模塊
4.3.1系統(tǒng)功能模塊的劃分
本系統(tǒng)有用戶管理模塊、資源模塊、書架模塊和我的主頁這四個模塊。用戶管理模塊主要是實現(xiàn)用戶的登錄和注冊功能;在資源模塊中,用戶可以搜索書籍、查看書籍和期刊詳情、加入書架、下載小說,還有同作者書籍的推送;書架模塊主要是對書籍和期刊的管理,主要是添加書刊和刪除書刊;我的主頁模塊中,用戶可以修改個人主頁的一些信息,還有對網(wǎng)絡(luò)的設(shè)置和清除緩存,最后有安全退出的功能。功能結(jié)構(gòu)圖如下圖所示:

圖4-1功能結(jié)構(gòu)圖
4.3.2系統(tǒng)功能模塊的描述
1.用戶管理模塊:實現(xiàn)用戶的注冊登錄;
說明:用戶名沒有限制,但注冊密碼必須是6位數(shù),成功注冊后才可以進行登錄。
2.資源模塊:新書通報和推薦閱讀:搜索書籍;
查看書籍簡介;
將喜歡書籍添加到書架中;
下載喜歡的書籍;
個性化關(guān)聯(lián):推薦同作者的其他書籍;
電子期刊:查看期刊詳情;
感興趣的期刊可進行訂閱;
3.書架模塊: 刪除書籍或期刊;
添加更多書籍或期刊;
4.我的主頁: 個人主頁:修改個人信息;
更多設(shè)置:打開、關(guān)閉網(wǎng)絡(luò);?
清除緩存;
安全退出。
第五章 數(shù)據(jù)庫設(shè)計
5.1數(shù)據(jù)庫設(shè)計理念
數(shù)據(jù)庫設(shè)計是根據(jù)用戶的需求,對其需求進行分析,通過某一具體的數(shù)據(jù)庫管理系統(tǒng),設(shè)計數(shù)據(jù)庫的結(jié)構(gòu)并建立數(shù)據(jù)庫的過程。數(shù)據(jù)庫系統(tǒng)離不開操作系統(tǒng)對它的支持。
數(shù)據(jù)庫的設(shè)計有如下六個步驟:
1.需求分析:了解用戶的需求,對其進行分析;
2.概念設(shè)計:設(shè)計系統(tǒng)概念模型即E-R模型;
3.邏輯結(jié)構(gòu)設(shè)計:設(shè)計系統(tǒng)的數(shù)據(jù)庫表;
4.物理結(jié)構(gòu)設(shè)計:設(shè)計數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法;
5.系統(tǒng)實施:組織數(shù)據(jù)入庫、編制應(yīng)用程序、試運行;
6.運行維護:后期對系統(tǒng)進行維護。
5.2單個實體的E-R圖
通過上述對數(shù)據(jù)庫設(shè)計的分析和對系統(tǒng)實體的分析,這里用局部E-R圖來表示各個實體與其屬性之間的關(guān)系,可以得到如下的局部E-R圖。
5.2.1用戶E-R圖
用戶有8個屬性:編號、用戶名、年齡、性別、密碼、電話、個性簽名、注冊日期。

圖5-1用戶E-R圖
5.2.2書籍E-R圖
書籍有6個屬性:作者、書名、編號、內(nèi)容簡介、封面圖片、書籍文本。

圖5-2書籍E-R圖
5.2.3期刊E-R圖
期刊有6個屬性:編號、刊名、出版社、簡介、發(fā)刊時間、封面圖片。

圖5-3期刊
5.2.4我的書籍E-R圖
我的書籍有7個屬性:書籍編號、書名、簡介、作者、書籍文本、封面圖片、用戶名。

圖5-4我的書籍
5.2.5我的期刊E-R圖
我的期刊有7個屬性:編號、刊名、出版社、簡介、發(fā)刊時間、封面圖片、用戶名。

圖5-5我的期刊
5.3設(shè)計數(shù)據(jù)庫表
5.3.1數(shù)據(jù)庫表總表
數(shù)據(jù)庫中共有五個表,分別是:書籍表(book)、期刊表(maga)、我的書籍表(mybook)、我的期刊表(mymaga)、用戶表(user)。
表5-1數(shù)據(jù)庫總表

5.3.2數(shù)據(jù)庫表的詳細說明
1.book表(編號、書名、作者、內(nèi)容簡介、書籍封面、書籍文本),其中書籍的編號為主鍵。如表5=2 book所示:
表5-2 book(書籍表)
字段名描述數(shù)據(jù)類型長度是否為空主鍵bid書籍的編號int11否是bookname書名varchar50是否bookwriter作者varchar32是否bookcontent內(nèi)容簡介varchar250是否bookpic書籍封面varchar22是否booktxt書籍文本varchar60是否
在數(shù)據(jù)庫中的記錄如圖5-6所示(部分):

圖5-6書籍的數(shù)據(jù)記錄
2.maga表(期刊的編號、刊名、出版社、發(fā)刊時間、簡介、封面圖片),其中期刊的編號為主鍵。如下表所示:
表5-3 maga(期刊表)
字段名描述數(shù)據(jù)類型長度是否為空主鍵mid期刊的編號int11否是maganame刊名varchar50是否magawriter出版社varchar50是否magadate發(fā)刊時間varchar20是否bookcontent簡介varchar250是否magapic封面圖片varchar22是否
在數(shù)據(jù)庫中的記錄如圖5-7所示:

圖5-7期刊的數(shù)據(jù)記錄
3.mybook表(書籍的編號、書名、作者、內(nèi)容簡介、書籍封面、書籍文本、用戶名)其中書籍的編號為主鍵。如下表所示:
表5-4 mybook(我的書籍表)
字段名描述數(shù)據(jù)類型長度是否為空主鍵bid書籍的編號int11否是bookname書名varchar50是否bookwriter作者varchar32是否bookcontent內(nèi)容簡介varchar250是否bookpic書籍封面varchar22是否booktxt書籍文本varchar60是否username用戶名varchar20是否
在數(shù)據(jù)庫中的記錄如圖5-8所示:

圖5-8我的書籍?dāng)?shù)據(jù)記錄
4.mymaga表(期刊的編號、刊名、出版社、發(fā)刊時間、簡介、封面圖片、用戶名),其中期刊的編號為主鍵。如下表所示:
表5-5 mymaga(我的期刊表)
字段名描述數(shù)據(jù)類型長度是否為空主鍵mid期刊的編號int11否是maganame刊名varchar50是否magawriter出版社varchar50是否magadate發(fā)刊時間varchar20是否magacontent簡介varchar250是否magapic封面圖片varchar22是否username用戶名varchar20是否
在數(shù)據(jù)庫中的記錄如圖5-9所示:

圖5-9我的期刊數(shù)據(jù)記錄
5.user表(用戶編號、用戶名、密碼、性別、年齡、電話、個性簽名、注冊日期),其中用戶編號為主鍵。如下表所示:
表5-6 user(用戶表)
字段名描述數(shù)據(jù)類型長度是否為空主鍵uid用戶編號int11否是username用戶名varchar20是否password密碼varchar6是否sex性別varchar10是否age年齡varchar4是否tel電話varchar12是否content個性簽名varchar250是否date注冊日期varchar10是否
在數(shù)據(jù)庫中的記錄如圖5-10所示:

圖5-10用戶數(shù)據(jù)記錄
第六章 系統(tǒng)實現(xiàn)
6.1登錄模塊
用戶進入該系統(tǒng),首先看到的是登錄模塊。用戶可以輸入用戶名和密碼,登錄“口袋閱讀”系統(tǒng),如果沒有注冊過,可以點擊“注冊”按鈕進行注冊。登錄界面如圖6-1所示:
圖6-1 登錄界面
實現(xiàn)思路:客戶端通過使用HttpUtil中的doPost方法,實現(xiàn)客戶端與服務(wù)器端的交互,獲取客戶端的請求信息,然后服務(wù)器端通過servlet類中的dopost方法調(diào)用userDao中的checkUserPass方法驗證登錄的用戶名和密碼是否存在。再將處理好的響應(yīng)信息返回給客戶端。
6.2注冊模塊
當(dāng)用戶沒有注冊過時,可以點擊登錄界面的“注冊”按鈕,進入注冊界面,設(shè)置相關(guān)信息即可提交注冊,如圖6-2所示:
圖6-2注冊
實現(xiàn)思路:客戶端通過使用HttpUtil中的doPost方法,獲取客戶端的請求信息。通過服務(wù)器中的servlet中dopost方法調(diào)用userDao中的insertDao方法添加新用戶。
服務(wù)器中實現(xiàn)代碼如下:
public?void?doPost(HttpServletRequest request, HttpServletResponse response)
throws?ServletException, IOException {
……
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
String age = request.getParameter("age");
String sex = request.getParameter("sex");
String tel = request.getParameter("tel");
String date = request.getParameter("date");
UserDao dao =?new?UserDao (); //新建一個UserDao對象
System.out.println(username + ":" + password);
int?a = dao.insertDao(username, password, age, sex, tel, date);
if?(a > 0) {
out.print("true");
}?else?{
out.print("false");
}
6.3“口袋閱讀”的主界面
1.用戶登錄之后會進入“口袋閱讀”主界面,如圖6-3-1所示:
圖6-3-1主界面
(1)點擊新書通報下面的圖片可以將書籍加入書架,如圖6-3-2所示:
圖6-3-2加入書架
(2)點擊推薦閱讀下面的圖片可以下載小說,如圖6-3-3所示:
圖6-3-3下載小說
(3)點擊電子期刊下面的圖片,可以訂閱期刊,如圖6-3-4所示:
圖6-3-4訂閱期刊
2.點擊主界面右上角的下拉提示,顯示“個人主頁”、“我的書架”、“我的期刊”、“退出登錄”按鈕,點擊可以選擇進入各個模塊,如圖6-3-2所示:
圖6-3-5模塊的選擇
6.4新書通報,推薦閱讀模塊
6.4.1小說簡介界面
點擊書籍可以進入小說簡介界面,該界面可以將書籍加入書架、下載小說,還有個性化推送,會推薦同作者的其他書籍,如圖6-4所示:
圖6-4小說簡介
實現(xiàn)思路:客戶端通過使用HttpUtil中的doPost方法,獲取客戶端的請求信息。通過服務(wù)器中的servlet中dopost方法調(diào)用BookDao中的selectbookjj方法獲取書籍的詳情。
客戶端核心代碼:
try?{
Map<String, Object> map =?new?HashMap<String, Object>();
map.put("bookname",?namestr);
String str = HttpUtil.doPost(HttpUtil.pathstr
+?"BookjjServlet", map);
JSONArray jsonArray =?new?JSONArray(str);
JSONObject jsonObject = jsonArray.getJSONObject(0);
Book bk =?new?Book();
pdcf?= jsonObject.getString("bookname");
bkpic?= jsonObject.getString("bookpic");
……
bkcontent?= jsonObject.getString("bookcontent");
handler.sendEmptyMessage(0x224);
}?
服務(wù)器端核心代碼:
public?void?doPost(HttpServletRequest request, HttpServletResponse response)
throws?ServletException, IOException {
……
PrintWriter out = response.getWriter();
BookDao dao =?new?BookDao();
String bookname = request.getParameter("bookname");
List<Book> list = dao.selebookjj(bookname);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
out.print(jsonArray.toString());
out.flush();
out.close();
}
6.4.2我的書架模塊
點擊“我的書架”會進入我的書架界面,在該界面,不但可以刪除小說,還可以添加更多小說,如圖6-5所示:
圖6-5我的書架
(1)刪除書籍:
實現(xiàn)思路:客戶端通過使用HttpUtil中的doPost方法,實現(xiàn)客戶端與服務(wù)器端的交互,獲取客戶端的請求信息。然后服務(wù)器通過servlet中的dopost方法調(diào)用BookDao中的delbook方法刪除書籍。
(2)添加書籍:點擊頁面下方 “添加更多小說”可進入書籍列表添加書籍。
實現(xiàn)思路:客戶端通過點擊事件觸發(fā)onClick(),使用HttpUtil中的doPost方法,獲取客戶端的請求信息中,并交給服務(wù)器端的AddBookServlet對請求信息進行處理即通過doPost方法調(diào)用BookDao中的addbook方法,將書籍添加到我的書架中。
客戶端代碼如下:
try?{
Map<String, Object> map =?new?HashMap<String, Object>();
map.put("username",
Login_Activity.usernameString);
map.put("bookname",?name);
String str = HttpUtil.doPost(
HttpUtil.pathstr +?"AddBookServlet",map);
handler.sendEmptyMessage(0x226);}
分析如下:創(chuàng)建HashMap對象存儲用戶名和書名,通過HttpUtil的doPost方法加載請求信息的url,處理map對象。
6.4.3同作者書籍推薦功能
在小說簡介界面有同作者其他書籍的推薦,如圖6-6所示:
圖6-6關(guān)聯(lián)推送
客戶端核心代碼:
try?{
Map<String, Object> map =?new?HashMap<String, Object>();
map.put("bookwriter",?writerstr);
String str = HttpUtil.doPost(HttpUtil.pathstr +?"BooktjServlet", map);
JSONArray jsonArray =?new?JSONArray(str);
for?(int?i = 0; i < jsonArray.length(); i++) { //遍歷JSON數(shù)組
JSONObject jsonObject = jsonArray.getJSONObject(i); //獲取JSON對象
if?(!(pdcf.equals(jsonObject.getString("bookname")))) { //判斷值是否相同
Book bk =?new?Book();
bk.setBid(jsonObject.getInt("bid"));
……
bk.setBookcontent(jsonObject.getString("bookcontent"));
list.add(bk); }}
通過HttpUtil的doPost方法加載請求信息的url,處理同作者書籍的map對象,將其轉(zhuǎn)化為JSON數(shù)組,然后通過for循環(huán)遍歷JSON數(shù)組,獲取JSON對象,通過if語句判斷該對象是否與已顯示的書籍同名,若不同,則將該對象添加到同作者書籍的列表中。通過服務(wù)器端servlet的doPost方法將書籍的相關(guān)信息輸出。服務(wù)器端的主要代碼如下:
public?void?doPost(HttpServletRequest request, HttpServletResponse response)
throws?ServletException, IOException {
……
PrintWriter out = response.getWriter();
BookDao dao =?new?BookDao();
String bookwriter = request.getParameter("bookwriter");
System.out.println(bookwriter);
List<Book> list = dao.selebooktj(bookwriter);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
out.print(jsonArray.toString());
out.flush();
out.close();}
6.4.4下載小說功能
點擊小說簡介中的“下載小說”按鈕,可以進行下載,如圖6-7所示:
圖6-7小說下載
下載小說實現(xiàn)功能的描述:選中要下載的書籍并點擊下載按鈕進行下載,找到相應(yīng)路徑下中的文件,如果文件在下載存儲路徑中不存在,就直接存入,若存在就刪去原先的,加載新的文件。
6.5期刊模塊
6.5.1期刊列表
點擊電子期刊后面的“更多”進入期刊列表界面,可以查看所有的期刊,長按期刊還可以進行訂閱,如圖6-8所示:
圖6-8所有期刊
6.5.2期刊簡介
點擊期刊可以進入期刊簡介界面,該頁面可以進行期刊地訂閱,還有過往期刊的推薦,如圖6-9所示:
圖6-9期刊簡介
該頁面的實現(xiàn)思路:客戶端通過使用HttpUtil中的doPost方法,獲取客戶端的請求信息。通過服務(wù)器中的servlet中dopost方法調(diào)用MagaDao中的selectmagajj方法獲取期刊的詳情,再將處理好的響應(yīng)信息返回給客戶端。
6.5.2我的期刊
訂閱的期刊可以在“我的期刊”中看到,該模塊和書架模塊類似,可以對期刊進行刪除或者添加,如圖6-10所示:
圖6-10我的期刊
6.6“我的主頁”模塊
6.6.1個人主頁
點擊個人主頁進入“我的主頁”界面,可以對個人信息進行修改,還可以設(shè)置網(wǎng)絡(luò)、清除緩存和安全退出。如圖6-11所示:
圖6-11我的主頁
6.6.2修改個人信息
點擊“修改信息”按鈕,可以進行信息的修改,如圖6-12所示:
圖6-12修改信息
客戶端通過TextUtils的isEmpty方法確保輸入的用戶名、密碼、性別、年齡、電話和簽名不能為空。如果所有信息不為空,則創(chuàng)建一個HashMap對象,讀取文本框中輸入的內(nèi)容將其作為新的鍵值存入對應(yīng)鍵名的HashMap中。然后通過
HttpUtil的doPost方法加載請求信息的url,通過服務(wù)器中的servlet的doPost方法讀取新輸入的信息,更新用戶信息,將響應(yīng)的信息返回給客戶端。
修改后的個人信息顯示如圖6-13所示:
圖6-13修改后的信息
6.6.3更多設(shè)置、安全退出
點擊“更多設(shè)置”,可以打開或者關(guān)閉網(wǎng)絡(luò),還可以清除緩存,如圖6-12所示:
圖6-12更多設(shè)置
總 結(jié)
本文論述了一個基于Android的個人圖書館系統(tǒng),即“口袋閱讀”的設(shè)計過程,基本體現(xiàn)了“口袋閱讀”的優(yōu)點,有助于用戶隨時隨地用手機進行閱讀。經(jīng)過三個多月的畢業(yè)設(shè)計,我學(xué)到了很多新知識,個人能力有了很大提高。
在做之前,我對Android開發(fā)并不是很了解,只會一些最基本的知識。一開始,我是很沒有信心的。對于一個女生來說,我覺得編程對我來說是一件困難的事情。我甚至有些退縮,可是畢業(yè)在即,再難也要堅持,更何況我是一個不會輕易放棄的人。于是,我在網(wǎng)上查找相關(guān)書籍學(xué)習(xí)Android知識,查找與課題相關(guān)的資料。在設(shè)計中,我經(jīng)常遇到困難,停滯不前。我便主動請教班里學(xué)得很好的同學(xué),在同學(xué)的耐心講解和指導(dǎo)下,設(shè)計便漸漸明朗起來,我也學(xué)到了很多。在同學(xué)和老師的幫助下,我攻克了設(shè)計中的各種困難。
但是對我而言,由于我知識水平的有限,再加上時間的有限,本系統(tǒng)中還有很多不足之處,還請各位老師耐心指導(dǎo)。
參考文獻
[1]符靜.移動圖書館終端應(yīng)用研究[J].圖書館學(xué)研究,2014,(4):17-21.
[2]李剛.瘋狂Android講義(第3版)[M].北京:電子工業(yè)出版社,2015.
[3]武洪萍,馬桂婷.MySQL數(shù)據(jù)庫原理及應(yīng)用[M].北京:人民郵電出版社,2014.
[4]張建源.Android開發(fā)技術(shù)的學(xué)習(xí)及應(yīng)用[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2014,(12):62-64.
[5]呂素娟.圖書館服務(wù)系統(tǒng)移動應(yīng)用端的設(shè)計與實現(xiàn)[D].湖南大學(xué).2014.
[6]李滿玲.淺析Android開發(fā)環(huán)境的配置[J].商,2015,(31):243-243.
[7]陳甫.Android Studio應(yīng)用[J].軟件設(shè)計開發(fā),2014,(24).
[8]李樂興.移動圖書館信息構(gòu)建研究——以南京航空航天大學(xué)為例[D]. 南京航空航天大學(xué).2014.
[9]楊艷妮,明均仁,張杰.基于Android的移動圖書館App功能設(shè)計與實現(xiàn)[J].圖書館學(xué)研究,2015,(07).
[10]王鳳.手機圖書館功能需求研究[D].南開大學(xué).2011.
[11]樊濤.基于Android平臺的手機圖書館系統(tǒng)的設(shè)計與實現(xiàn)[D].南昌大學(xué),2014.
[12]H Kale,G Rane,S Shende.Digital Library Services based on Android using Public Cloud[J].
International Journal of Emerging Technologies and Engineering,2014,171-174.
[13]Domenico Amalfitano,Anna Rita Fasolino,Porfirio Tramontana,Bryan Robbins.Testing Android Mobile Applications,Strategies,and Approaches[J].Advances In Computers,2013,89:1-52.
[14]江波,張曾昱.基于讀者行為的手機圖書館文獻推送系統(tǒng)構(gòu)建探討[J].圖書館理論與實踐,2016,(3).
[15]陳好敏.個人數(shù)字圖書館研究[D].華中師范大學(xué),2012.
[16]D.Porru,A.Parmigiani,D.Barletta,D.Choussos,S.Bassi,O.Miller,B.Gardella,R.E.Nappi,A.Spinillo,B.Rovereto.Emergency Based Remote Collateral Tracking System Using Google's Android Mobile Platform[J].Springer Berlin Heidelberg,2012,167(1):391-403.
[17]王雨竹.MySQL入門經(jīng)典[M].高飛機械工業(yè)出版社出版,2013.
[18]李剛.瘋狂 Java 講義(第 2 版)[M].北京:電子工業(yè)出版社,2012.
[19]榮佰丹.移動圖書館信息服務(wù)研究[D].黑龍江大學(xué),2012.
[20]Steve Mansfield-Devine. Android malware and mitigations[J].Network Security,2012,2012,(11):12-20.
[21]楊樟,王征.Tomcat 7的安裝和管理[J].辦公自動化,2014,07.
[22] 田丹.我國移動圖書館APP應(yīng)用現(xiàn)狀分析[J].國家圖書館學(xué)刊,2015,(5):74-80.
[23]劉一,盧琰,徐小平.基于安卓手機的圖書館管理系統(tǒng)設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2014,(10).
[24]符玉霜.移動圖書館環(huán)境下國內(nèi)APP服務(wù)研究[J].情報資料工作,2014,(4):102-105.
[25]石坤泉.基于Mysql數(shù)據(jù)庫的圖書管理系統(tǒng)安全穩(wěn)定性研究[J].電子技術(shù)與軟件工程,2016,(1):210-210.
[26]韓文智,駱文亮.Android平臺的移動APP開發(fā)方法與應(yīng)用研究[J].四川理工學(xué)院學(xué)報:自然科學(xué)版,2015,28(3):22-26.
[27]馬顏軍.基于Android系統(tǒng)的APP開發(fā)[J].科技與企業(yè),2015,(22):87-88.
[28]宋凱,楊鳳.虛擬學(xué)習(xí)空間在數(shù)字圖書館多媒體服務(wù)中的應(yīng)用研究[J].圖書情報工作,2015,(3):60-66.
[29]梁晶, 明均仁,何博,曹鵬.湖北省高校圖書館移動APP發(fā)展現(xiàn)狀及對策分析[J].現(xiàn)代情報,2016,(4).
[30]曹鵬,明均仁,段欣余.國內(nèi)圖書館APP移動服務(wù)調(diào)查與分析[J].圖書館學(xué)研究,2015,(16).
致謝
在本次畢業(yè)設(shè)計中,我遇到了很多困難,幸虧有老師和同學(xué)不厭其煩地為我解惑,給我指導(dǎo),讓我能夠順利通過本次畢業(yè)設(shè)計。
尤其要感謝我的指導(dǎo)老師——吳軍老師。吳老師從一開始就慢慢引導(dǎo)我們?nèi)绾瓮瓿稍O(shè)計,幫助我們解決設(shè)計中遇到的疑難問題,為我們完成設(shè)計提供了極大地幫助。吳老師耐心指導(dǎo),力求我們做得更好。三個月以來,每周導(dǎo)師都會跟我們見面,給我們每個人的設(shè)計進行分析,提出建設(shè)性的意見或建議,布置下一階段的任務(wù)。吳老師幫助我們解決設(shè)計中遇到的種種問題,細微到一個簡單地標(biāo)點符號。吳老師對進度有些落后的同學(xué)反復(fù)提醒,耐心解答我們的各種問題。在他悉心的指導(dǎo)下,我們才能按時保質(zhì)地完成畢業(yè)設(shè)計。
最后,我再一次衷心地感謝吳軍老師,感謝您耐心地指導(dǎo)和幫助!?
4答辯PPT














