版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、XXXXX本科生畢業(yè)設(shè)計(論文)學院(系): XXX 專 業(yè): XXX 學 生: XXX 指導教師: XXX 完成日期 年 月XXX本科生畢業(yè)設(shè)計(論文)基于Android電子書閱讀器研究與實現(xiàn)Design and Implementation ofEbook Reader Base On Android Platform總 計:畢業(yè)設(shè)計(論文) 34頁表 格: 2個圖 片: 22個XXX 本 科 畢 業(yè) 設(shè) 計(論文)基于Android電子書閱讀器研究與實現(xiàn)Design and Implementation ofEbook Reader Base On Android Platform學 院
2、(系): XXX 專 業(yè): XXX 學 生 姓 名: XXX 學 號: XXX 指導教師(職稱): XXX 評 閱 教 師: XX 完 成 日 期: XXXXXy基于Android電子書閱讀器研究與實現(xiàn)軟件工程 XXXX摘 要 在對Android 學習中,主要做了以下的研究:首先,Android 系統(tǒng)是一個層次的軟件集,所以先從層次方面對Android 進行系統(tǒng)研究;其次,通過對Android 平臺上應用的開發(fā),更進一步了解Android 這個系統(tǒng)。此次基于Android平臺的電子書閱讀器的設(shè)計與實現(xiàn)主要通過Eclipse開發(fā)工具, Java語言與Sqlite數(shù)據(jù)庫來完成的。本閱讀器實現(xiàn)了本地
3、閱讀,手動翻頁,書簽的添加、查看、刪除,自動翻頁,書架,快速定位,及在線下載。本文主要介紹程序的設(shè)計思路、邏輯、架構(gòu)、及數(shù)據(jù)庫的設(shè)計與整體的實現(xiàn)流程。最后進一步闡述Android電子閱讀器對文化發(fā)展的影響及其市場價值。關(guān)鍵詞 Android;電子閱讀器;java;sqlite;書簽Design and Implementation ofEbook Reader Base On Android PlatformSoftware Engineering MajorXXXAbstract: Learning Android, mainly focuses on the following
4、research: First of all, the Android system is a hierarchical software set, so doing system research on the levels of Android come to first; Secondly, leaning more about the development of applications on the Android platform, a better understanding of the Android System. The completed of t
5、he design and realization of e-book reader based on the Android platform mainly by using the Eclipse development tools, Java language and Sqlite database. The e-book reader has realized the locality reading, manual page, add bookmark, quiry, delete, auto flip, bookshelf, rapid positioning, and onlin
6、e download. This article mainly introduces the thinking and logic, architecture of the program design, the design of the database and the whole realization process. Finally, further elaborates the influence of Android e-reader on the cultural development and their marketable value. Key words: A
7、ndroid; Ebook reader; java; Sqlite; bookmark如果你周邊有同學苦逼于畢設(shè)的話,果斷推薦這個公眾號給他吧!分享朋友圈,截圖發(fā)給這個公眾號(ifreeTeam),可以在我的萬套畢業(yè)設(shè)計源碼中選擇你合適的一套哦。嘻嘻!目 錄1 背景與意義11.1 Android操作系統(tǒng)介紹11.1.1 Android的認識11.1.2 Android的發(fā)展1 電子書閱讀器介紹11.3 Android電子書閱讀器的意義22 相關(guān)知識與技術(shù)32.1 Android的應用組件32.2 Android的拓展4 系統(tǒng)開發(fā)工具4 開發(fā)平臺:Eclipse IDE for Java De
8、velopers4 開發(fā)所用到的SDK:版本4 開發(fā)所用到的數(shù)據(jù)庫:SQLite4 網(wǎng)絡(luò)環(huán)境:Tomcat 服務(wù)器:53 系統(tǒng)分析6 用戶群體:6 系統(tǒng)目標6 電子書閱讀器的需求分析7 電子書閱讀器基本功能需求:7 系統(tǒng)維護需求7 系統(tǒng)的安全需求8 系統(tǒng)流程分析8 系統(tǒng)可行性分析11 技術(shù)可行性11 硬件可行性12 操作可行性124 系統(tǒng)設(shè)計12 系統(tǒng)結(jié)構(gòu)設(shè)計13 系統(tǒng)開發(fā)環(huán)境和目標平臺14 系統(tǒng)開發(fā)環(huán)境14 系統(tǒng)目標平臺144.2.3 Android開發(fā)環(huán)境搭建14 系統(tǒng)功能模塊設(shè)計16 系統(tǒng)UML圖18 數(shù)據(jù)庫詳細設(shè)計19 數(shù)據(jù)庫表關(guān)系設(shè)計19 數(shù)據(jù)庫表字段設(shè)計205 編碼與實現(xiàn)21 主界
9、面21 書簽數(shù)據(jù)庫的實現(xiàn):22 分頁及書簽的實現(xiàn)23 主要的業(yè)務(wù)邏輯23 系統(tǒng)運行效果256 系統(tǒng)測試與運行28 系統(tǒng)測試的目的28 系統(tǒng)測試范圍28 軟件測試方法概述29 軟件性能測試流程29 測試內(nèi)容及結(jié)果29 內(nèi)容與功能檢查29 容錯性與易用性測試30 測試用例設(shè)計307 總結(jié)與展望31結(jié)束語32參考文獻33致謝341 背景與意義1.1 Android操作系統(tǒng)介紹1.1.1 Android的認識Android是一款以Linux為基礎(chǔ)的開源操作系統(tǒng),主要使用于便攜設(shè)備,如: 、平板電腦等。2005年被Google收購,自2007年11月,Google公司正式向外界展示Android操作系統(tǒng)
10、。Android的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,android分為四個層,從高層到低層分別是應用程序?qū)?、應用程序框架層、系統(tǒng)運行庫層和linux內(nèi)核層。Android是以Linux為核心的 操作平臺,作為一款開放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開發(fā)者使用多種編程語言來開發(fā)Android應用程序,而不再是以前只能使用Java開發(fā)Android應用程序的單一局面,因而受到眾多開發(fā)者的歡迎,成為真正意義上的開放式操作系統(tǒng)1。1.1.2 Android的發(fā)展短短幾年內(nèi)android 已經(jīng)風靡全球。 Android的主要競爭對手是蘋果公司的iOS以及RI
11、M的Blackberry OS。從2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。 2012年2月數(shù)據(jù),Android占據(jù)全球智能 操作系統(tǒng)市場52.5%的份額,中國市場占有率為68.4%。伴隨著移動互聯(lián)網(wǎng)的發(fā)展,android 憑借良好的用戶體驗和廣大的用戶人群,使得越來越多的開發(fā)者參與到android程序開發(fā)當中。1.2 電子書閱讀器介紹伴隨著互聯(lián)網(wǎng)的興起,電子書和電子書閱讀器早在上世紀90年代就已經(jīng)出現(xiàn),它以其環(huán)保、容量大、攜帶方便等特點迅速吸引廣大閱讀愛好者的青睞,經(jīng)過多年的發(fā)展,各種不同版本的電子書相繼出現(xiàn),使得電子書閱讀器的風格、界面更加完善接近真
12、實,并給用戶帶來了非凡的體驗。目前市面上Ebook選擇的平臺主要為WinCE和Linux,國外NOOK宣稱將于感恩節(jié)上市第一臺Android系統(tǒng)的電子閱讀器,但真機始終未與大家見面。OPPO推出國內(nèi)首款基于Android機器人系統(tǒng)的6英寸EINK屏幕電子書閱讀器,命名為Enjoy。Android是Google基于Linux平臺開發(fā)的開放式開源操作系統(tǒng),在 上應用日臻成熟,如HTC HERO、Google Nexus One。Android系統(tǒng)的開放性和服務(wù)免費是其最大的特色,它是一個對第三方軟件完全開放的平臺,開發(fā)者在開發(fā)程序時擁有最大的自由度,可以隨意DIY、共享。國內(nèi)廠商和運營商紛紛加入了
13、Android的陣營,包括中國移動,中國聯(lián)通,華為通訊和聯(lián)想等,Android平臺在電子書閱讀器上的應用將為Ebook的個性化、易用性開辟更廣闊的道路。功能特點:一書多用:一本電子書閱讀器可以裝載很多本電子版的圖書。大多數(shù)產(chǎn)品可以擴充SD卡/CF卡等大容量存儲,可以作為一個小型的移動圖書館。部分產(chǎn)品還可以作為筆記本、資料夾使用。省電環(huán)保:電子書閱讀器用電極省,不使用傳統(tǒng)紙張,由于使用了先進的顯示技術(shù),可以幫助人們少買紙質(zhì)書,減少砍伐樹木,從而保護了環(huán)境。保護視力:新型電子書閱讀器的顯示原理與目前的電腦和 不同,不是主動發(fā)光,而是與傳統(tǒng)紙張一樣靠反射自然光或燈光,因此無輻射,不刺眼,對視力無損傷
14、。海量存儲:目前的電子閱讀器大多可以擴充外置存儲卡,可以存儲高達8G,16G的數(shù)字圖書,擁有一本電子書閱讀器,相當擁了一個小型的圖書館。電子書閱讀器比 、PDA 、筆記本電腦、PSP、MP3等的優(yōu)越性: 電子書閱讀器與它們的區(qū)別是專業(yè)閱讀與非專業(yè)閱讀之分。電子書閱讀器有自已的閱讀格式,可以分章節(jié)、加書簽;電池繼航時間,閱讀界面明顯優(yōu)越于 、PDA等。閱讀的舒適性、方便性和可持久性占優(yōu)。電子書閱讀器和軟件電子書閱讀器相比,軟件通常需要安裝在電腦上或者 上才能閱讀,不專業(yè),不方便。而電子書閱讀器是一個已經(jīng)集成了閱讀軟件的硬件設(shè)備,隨著發(fā)展,這一個設(shè)備所集成的功能也越來越多。比如手寫、批注、朗讀、網(wǎng)
15、絡(luò)等等2!1.3 Android電子書閱讀器的意義這世上最有趣的事,第一是人,第二是書。因為,書可以使人抓住這個世界秘密的核心。你讀什么樣的書就是什么樣的人。如果你什么也不讀,那么你的頭腦就會萎縮,你的理想將會因失去活力而動搖。書籍和閱讀帶給我們的不僅是對心中理想世界的堅持,更是對我們思想和心靈的升華與凈化,進而改變我們的生活軌跡。閱讀使文字具有了永恒的價值,它比圖像更空靈,比記憶更清晰,比冥想更深邃。它讓你站在巨人的肩膀之上,讓你凌駕于偉人的思考之上。閱讀是人社會化的重要途徑,它把自然人轉(zhuǎn)化為社會人。我們所認識的世界、人生、社會,很多都源于閱讀。閱讀雖不能改變?nèi)松拈L度,但可以改變?nèi)松膶挾?/p>
16、和厚度。通過閱讀你可以視通四海,思接千古,與智者交談,與偉人對話。對于一個生命有限的人來說,這是一件多么幸福的事啊。而閱讀的意義在于,它在超越世俗生活的層面上,建立起精神生活的世界。一個人的閱讀史,即是他的心靈發(fā)育史。閱讀使人超越動物性,不致淪為活動木偶,行尸走肉。停止閱讀就意味著切斷了與世界的溝通,與心靈的溝通,人生也就是進入了死循環(huán),可以說,是閱讀拯救了我們。我們無力改變?nèi)松钠瘘c,但卻可以通過閱讀改變?nèi)松慕K點3。Android,時下市場份額占有量最大的移動設(shè)備操作系統(tǒng);電子書閱讀器文化傳播的利器。開發(fā)基于Android平臺電子書閱讀器是非常有意義的。2 相關(guān)知識與技術(shù)2.1 Andro
17、id的應用組件 一個Android應用程序一般是由四個部分構(gòu)建成的:首先,活動對象Activity,廣播接收者Boardcast Receiver,服務(wù)Service以及內(nèi)容提供者Content Provider,當然要想完成一個Android真正的應用項目,光靠這些是還不夠的,其中還包含著許多知識及組件值得去深入學習與掌握?;顒訉ο?Activity): 一個Activity就代表了一個可見的界面,android 應用程序的運行過程就是在不同的Activity之間相互切換的過程。每個活動對象都有自己的視圖(View)及事件相應,大部分應用程序都有多個活動對象。廣播接收者(Broadcast
18、Receiver): Broadcast Receiver 是一個能夠接收廣播消息并響應的組件。消息可以由系統(tǒng)產(chǎn)生,例如 及短信的接收,電池電量發(fā)生變化等,同時也可以由應用程序產(chǎn)生,對于產(chǎn)生的這兩種廣播消息,都可以在相應的部分設(shè)置相應的過濾規(guī)則來進行接收。服務(wù)(Service) 服務(wù)是具有長生命周期并且沒有用戶界面的一個組件。如果服務(wù)沒有啟動,可以使用bindService()來連接一個服務(wù)。當連接上一個服務(wù),就能夠使用服務(wù)提供的外部接口來和服務(wù)進行通訊。Android系統(tǒng)很多地方都用到了服務(wù),例如:多媒體、網(wǎng)絡(luò)、藍牙、以及可以自定義一個服務(wù)。內(nèi)容提供者(Content Provider):
19、一個應用程序能夠把它的數(shù)據(jù)保存在文件中,也可以保存在SQLite 數(shù)據(jù)庫中,或者其他任何可用的存儲介質(zhì)中。 如果應用程序之間想要進行共享數(shù)據(jù), 那就要用到Content Provider。一個內(nèi)容提供者就是一個類,它實現(xiàn)了一個標準的方法集合。其他的應用程序可以通過這個類調(diào)用其中的方法來進行數(shù)據(jù)的保存和查找被內(nèi)容提供者處理過的數(shù)據(jù)4。2.2 Android的拓展在Android中,開發(fā)者可以使用Java作為編程語言來開發(fā)應用程序,也可以通過NDK使用C/C+作為編程語言來開發(fā)應用程序,也可使用SL4A來使用其他各種腳本語言進行編程(如:python、lua、tcl、php等等),還有其他諸如:Q
20、t(qt for android)、Mono(mono for android)等一些著名編程框架也開始支持Android編程,甚至通過MonoDroid,開發(fā)者還可以使用C#作為編程語言來開發(fā)應用程序。另外,谷歌還在2009年特別發(fā)布了針對初學者的Android Simple語言,該語言類似Basic語言。而在網(wǎng)頁編程語言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已經(jīng)支持Android開發(fā)5。2.3 系統(tǒng)開發(fā)工具2.3.1 開發(fā)平臺:Eclipse IDE for Java DevelopersEclipse 是一
21、個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如C+和Python的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。2.
22、3.2 SDK(software development kit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合。 因此,Android SDK 指的既是Android專屬的軟件開發(fā)工具包。2010年5月20日的谷歌I/O大會演講中,Android2.2(代號Froyo)正式公布。緊接著沒多久,Android2.2 SDK就開始正式提供下載。此外,Android 2.2系統(tǒng)新增了許多功能,比如便攜式熱點功能、在Android Browser中增加了對Adobe Flash的支持、以及對Android Market進行了一些完善。谷
23、歌表示,除了新增加許多企業(yè)功能之外,Android 2.2在性能和速度上均有提高,給Android瀏覽器增加了V8 Java腳本引擎,另外還增加了許多新的API和服務(wù)。2.3.3 開發(fā)所用到的數(shù)據(jù)庫:SQLiteSQLite是一個非常流行的嵌入式數(shù)據(jù)庫,它支持 SQL 語言,并且只利用很少的內(nèi)存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla, PHP, Python)都使用了SQLite。SQLite 由以下幾個組件組成:SQL 編譯器、內(nèi)核、后端以及附件。SQLite 通過利用虛擬機和虛擬數(shù)據(jù)庫引擎(VDBE),使調(diào)試、修改和擴展 SQLite 的內(nèi)核變
24、得更加方便。SQLite內(nèi)部結(jié)構(gòu)如圖2-1所示。圖 2-1 SQLite 內(nèi)部結(jié)構(gòu)SQLite 基本上符合 SQL-92 標準,和其他的主要 SQL 數(shù)據(jù)庫沒什么區(qū)別。它的優(yōu)點就是高效,Android 運行時環(huán)境包含了完整的 SQLite。此外,SQLite 不支持一些標準的 SQL 功能,特別是外鍵約束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 還有一些 ALTER TABLE 功能。除了上述功能外,SQLite 是一個完整的 SQL 系統(tǒng),擁有完整的觸發(fā)器,交易等等6。2.3.
25、4 網(wǎng)絡(luò)環(huán)境:Tomcat 服務(wù)器:Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat 是一個輕量級應用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務(wù)器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為
26、一個與Apache 獨立的進程單獨運行的。 這里的訣竅是,當配置正確時,Apache 為HTML頁面服務(wù),而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。目前Tomcat最新版本為7.0.26 Released7。Tomcat Apache如圖2-2所示。圖2-2 Tomcat Apache3 系統(tǒng)分析3.1 用戶群體:電子書閱讀器的主要用戶對象
27、是,學生、老師以及喜愛閱讀的人群,主要用戶年齡集中在14歲到50歲之間。用戶通過電子書閱讀器進行日常閱讀、學習,從中獲取文化知識及閱讀的樂趣。3.2 系統(tǒng)目標本閱讀器圍繞日常生活與學習展開,用戶可以通過本閱讀器進行文本閱讀。主要目標是,幫助用戶通過 或便攜式設(shè)備管理圖書及智能保存用戶閱讀進度,模擬真實手動翻頁,使用戶得到更加完美的用戶體驗。此外,還可以為用戶建立一個屬于自己的書架,幫助用戶最快的找打自己喜歡的書。用戶也可以通過web服務(wù)器來在線下載自己喜愛的書,盡可能的滿足用戶的閱讀需求。3.3 電子書閱讀器的需求分析3.3.1 電子書閱讀器基本功能需求:· 本地進行查找、閱讀
28、83; 閱讀實現(xiàn)翻頁功能· 記錄最后一次閱讀位置· 通過設(shè)置書簽,進行跳躍閱讀· 可以進行在線圖書下載· 設(shè)置字體大小顏色及主題背景· 自動翻頁功能· 閱讀位置定位系統(tǒng)功能模塊分析如圖3-1所示。圖3-1 功能模塊圖3.3.2 系統(tǒng)維護需求系統(tǒng)維護工作在整個系統(tǒng)的生命周期中經(jīng)常被忽視。人們往往熱衷于系統(tǒng)開發(fā),當開發(fā)工作完成以后,多數(shù)情況下開發(fā)隊伍被解散或撤走,而在系統(tǒng)開始運行后并沒有配置適當?shù)南到y(tǒng)維護人員。這樣,一旦系統(tǒng)發(fā)生問題或環(huán)境發(fā)生變化,最終用戶將無從下手,這就是為什么有些信息系統(tǒng)在運行環(huán)境中長期與舊系統(tǒng)并行運行不能轉(zhuǎn)換,甚至最
29、后被廢棄的原因。隨著信息系統(tǒng)應用的深入,以及使用壽命的延長,系統(tǒng)維護的工作量將越來越大。系統(tǒng)維護的任務(wù)是改正軟件系統(tǒng)在使用過程中發(fā)現(xiàn)的隱含錯誤,擴充在使用過程中用戶提出的新的功能及性能要求,其目的是維護軟件系統(tǒng)的"正常運作"。而本電子書閱讀器跟所有應用軟件一樣,需要通過用戶需求及問題反饋,定期的對系統(tǒng)進行維護,是系統(tǒng)的運行更加健康、壽命更長。3.3.3 系統(tǒng)的安全需求安全性對于用戶來說往往是較為重視的的一點,本電子書閱讀器不含任何插件,也不會牽扯到第三方軟件,不會向外界發(fā)送任何有關(guān)用戶的信息。3.4 系統(tǒng)流程分析系統(tǒng)流程主要是對圖書閱讀管理流程進行詳細描述,通過采用系統(tǒng)流程
30、圖形來描述管理業(yè)務(wù)活動、進行規(guī)范化說明。主業(yè)務(wù)流程介紹:(1)啟動程序,進入開機動畫,稍后跳轉(zhuǎn)到主界面;(2)進入主界面后,顯示一段文字介紹,主要對操作進行大致說明;(3)導航條包括查找、書簽、退出及設(shè)置等四項操作;(4)主界面包括兩個子界面,可以左右滑動進行切換,第二個界面為書架界面,主要功能為對近期所閱讀過的書按照閱讀的時間先后順序保存,倒序顯示出來。業(yè)務(wù)流程圖如圖3-2所示。以上為系統(tǒng)操作的基本主流程,以下主要介紹子流程操作。在線查找:(1)進入主界面,點擊查找,選擇在線查找;(2)跳轉(zhuǎn)到在線圖書列表界面,圖書信息以列表形式顯示;(3)點擊所選圖書,進行下載。本地查找:(1)進入主界面,
31、點擊查找,選擇本地查找;(2)跳轉(zhuǎn)到SDcard目錄界面,SDcard信息以圖文列表形式顯示,進行文件的下級目錄查看,及文本閱讀;(3)閱讀完后,點擊退出,將當前閱讀界面信息保存到默認書簽數(shù)據(jù)庫中,對書架信息進行更新。查找流程如圖3-3所示。圖3-3 查找流程創(chuàng)建書簽操作:(1)進入到閱讀界面,點擊menu鍵,選擇書簽設(shè)置;(2)選擇添加書簽,輸入書簽名,點擊確定(若有書簽名重復提示是否覆蓋已有書簽,點擊確定,將原有同名書簽覆蓋),書簽信息保存到書簽數(shù)據(jù)庫中。查看書簽操作:(1)進入主界面,點擊書簽選項;(2)選擇查看書簽,顯示書簽列表;(3)點擊所要操作的選項,進入相應閱讀界面,進行閱讀。書
32、簽流程如圖3-4所示。圖3-4 書簽流程設(shè)置流程操作:(1)進入主界面,點擊設(shè)置選項;(2)跳轉(zhuǎn)至設(shè)置界面,對字體大小、顏色、主題進行選擇;(3)點擊確定對設(shè)置數(shù)據(jù)進行保存,并對相關(guān)數(shù)據(jù)進行修改。設(shè)置流程如圖3-5所示。圖3-5 設(shè)置流程3.5 系統(tǒng)可行性分析可行性分析的任務(wù),并非所有問題都有簡單而又明了的解決辦法,事實上,有許多問題不可能在預定的系統(tǒng)規(guī)模之內(nèi)解決。如果問題沒有可行的解決方案,那么花費在這項開發(fā)工程上的時間、資源、人力和經(jīng)費都將是無謂的浪費。可行性研究的目的就是要用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。必須記住,可行性研究的目的并不是解決問題,而是確定問題是否值得去
33、解決。怎樣才能達到這種目的呢?當然不能靠主觀猜想,只能通過客觀的分析。必須分析幾種主要的可能解法的利與弊,從而判斷原定的系統(tǒng)目標和規(guī)模是否現(xiàn)實,以及系統(tǒng)完成后所能帶來的效益是否達到值得投資開發(fā)這個系統(tǒng)的程度。3.5.1 技術(shù)可行性Android 5.0操作系統(tǒng)Jelly Bean(果凍豆),期間經(jīng)歷了10個以上不同版本的更新,其穩(wěn)定性毋庸置疑。而成功的Android版的電子書閱讀器早已問世,如:掌閱、iReader閱讀器、掌上書院等優(yōu)秀產(chǎn)品。技術(shù)方面在一步一步提高,但隨著社會多元化的發(fā)展,只是數(shù)款風格相似的閱讀工具并不能滿足人滿的需要。另外,Android程序開發(fā)所用到的編程語言Java更是為
34、眾多程序員所喜愛。Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動 和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。對于系統(tǒng)開發(fā)過程中所用到的數(shù)據(jù)庫為,Android系統(tǒng)自帶的SQLite及web開發(fā)所用到的Apache Tomcat。3.5.2 硬件可行性該軟件的開發(fā)是基于Android系統(tǒng)平臺的,因此通過相關(guān)Android框架開發(fā)測試通過的軟件均可以在任何 設(shè)備上運行,但前提是 設(shè)備必須
35、是Android操作系統(tǒng)。在 上只需要有基本的配置即可,不需要大型的系統(tǒng)軟件和應用軟件來支持。由于該軟件是采用系統(tǒng)自帶數(shù)據(jù)庫存儲數(shù)據(jù),因此安裝此軟件要保證足夠的內(nèi)存空間和 磁卡空間。所以Android 閱讀器在軟硬件上是可行的。3.5.3 操作可行性移動 設(shè)備已經(jīng)深入人們的日常生活,對于 的操作人們已經(jīng)不再陌生。對于日常Android應用軟件,絕大多數(shù)用戶都能很快掌握其操作方法,并能熟練操作。而本電子書閱讀器帶有基本的操作指導,簡潔的風格、清晰的界面,并為用戶的操作做出相應的提示。操作簡單,邏輯清晰。4 系統(tǒng)設(shè)計在軟件需求分析階段,對于用戶的各種需求我們已經(jīng)做好了詳細地分析,并做出了軟件開發(fā)所
36、需要的技術(shù)支持,解決了軟件功能性即“做什么”的問題,在軟件設(shè)計階段,要著手解決“怎么做”的問題。軟件設(shè)計是一個把軟件需求變換成軟件表示的過程,系統(tǒng)設(shè)計時需注意以下幾點:(1)安全性。在當今信息化時代,信息就是基礎(chǔ)就是財富,保護信息的安全性十分必要,尤其是作為個人信息更是具有較高的安全性要求。(2)先進性。在充分滿足用戶需求的前提下,結(jié)合當今廣泛應用的先進的方法進行設(shè)計,立足于用戶需求,開發(fā)出符合市場需求的軟件產(chǎn)品。(3)可擴展性。因為不同 對于電子書閱讀器的兼容性不同,并且,在很多方面上都需要進行改進以適應 發(fā)展趨勢及用戶的應用需求,所以在軟件設(shè)計階段,要充分考慮到軟件應用的可擴展性,便于將來
37、軟件升級更新,給其他系統(tǒng)留接口,能夠比較友好地與其他系統(tǒng)銜接這也是軟件設(shè)計的原則之一。(4)有效性。有效性主要包括功能有效性,設(shè)計的軟件一定要最大限度地滿足用戶的需求,包括用戶顯式的需求和隱式的需求。4.1 系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)的設(shè)計模式采用經(jīng)典的MVC模式,軟件的設(shè)計思想采用面向?qū)ο蟮木幊棠J絹韺崿F(xiàn)。MVC (Model-View-Controller):M是指邏輯模型,V是指視圖模型,C則是控制器。一個邏輯模型可以對于多種視圖模型,一種視圖模型也可以對于多種邏輯模型。使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式,而C存在的目的則是確保M和V的同步,一旦M改變
38、,V應該同步更新,這與設(shè)計模式中的觀察者模式是完全一樣。MVC好處:從用戶的角度出發(fā),用戶可以根據(jù)自己的需求,選擇自己合適的瀏覽數(shù)據(jù)的方式。比如說,對于一篇在線文檔,用戶可以選擇以HTML網(wǎng)頁的方式閱讀,也可以選擇以PDF的方式閱讀。從開發(fā)者的角度,MVC把應用程序的邏輯層與界面是完全分開的,最大的好處是:界面設(shè)計人員可以直接參與到界面開發(fā),程序員就可以把精力放在邏輯層上。而不是像以前那樣,設(shè)計人員把所有的材料交給開發(fā)人員,由開發(fā)人員來實現(xiàn)界面。在Eclipes工具中開發(fā)Android采用了更加簡單的方法,設(shè)計人員在DroidDraw中設(shè)計界面,以XML方式保存,在Eclipes中直接打開就可
39、以看到設(shè)計人員設(shè)計的界面。 Android中界面部分也采用了當前比較流行的MVC框架,在Android中: 1.視圖層(View):一般采用XML文件進行界面的描述,使用的時候可以非常方便的引入。當然,如何你對Android了解的比較的多了話,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作為View層,當然這里需要進行Java和JavaScript之間的通信,幸運的是,Android提供了它們之間非常方便的通信實現(xiàn)。 2.控制層(Controller):Android的控制層的重任通常落在了眾多的Acitvity的肩上,這句話也就暗含了不要在Acitivit
40、y中寫代碼,要通過Activity交割Model業(yè)務(wù)邏輯層處理,這樣做的另外一個原因是Android中的Acitivity的響應時間是5s,如果耗時的操作放在這里,程序就很容易被回收掉。3.模型層(Model):對數(shù)據(jù)庫的操作、對網(wǎng)絡(luò)等的操作都應該在Model里面處理,當然對業(yè)務(wù)計算等操作也是必須放在的該層的。就是應用程序中二進制的數(shù)據(jù)。在Android SDK中的數(shù)據(jù)綁定,也都是采用了與MVC框架類似的方法來顯示數(shù)據(jù)。在控制層上將數(shù)據(jù)按照視圖模型的要求(也就是Android SDK中的Adapter)封裝就可以直接在視圖模型上顯示了,從而實現(xiàn)了數(shù)據(jù)綁定。比如顯示Cursor中所有數(shù)據(jù)的Lis
41、tActivity,其視圖層就是一個ListView,將數(shù)據(jù)封裝為ListAdapter,并傳遞給ListView,數(shù)據(jù)就在ListView中現(xiàn)實。系統(tǒng)構(gòu)架設(shè)計如圖4-1所示:圖41 MVC框架4.2 系統(tǒng)開發(fā)環(huán)境和目標平臺4.2.1 系統(tǒng)開發(fā)環(huán)境(1)Eclipse編程軟件Eclipse是一個相當著名的開源Java IDE,主要以其開放性、極為高效的GUI、先進的代碼編輯器等著稱,其項目包括許多各種各樣的子項目組,包括Eclipse插件、功能部件等,主要采用SWT界面庫,支持多種本機界面風格。(2)Android SDKAndroid平臺的 價格低廉,但其性能卻一點也不低廉,隨著Androi
42、d 的普及,Android應用的需求勢必會越來越大,這是一個潛力巨大的市場,會吸引無數(shù)軟件開發(fā)商和開發(fā)者投身其中。(3)JDK環(huán)境JDK(Java Development Kit)是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運行環(huán)境,Java工具和Java基礎(chǔ)的類庫。JDK是學好Java的第一步。而專門運行在x86平臺的Jrocket在服務(wù)端運行效率也要比Sun JDK好很多。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大
43、的提高。4.2.2 系統(tǒng)目標平臺本軟件的目標平臺為Android2.1、Android2.2或者更高的版本。4.2.3 Android開發(fā)環(huán)境搭建一 、JDK安裝設(shè)置環(huán)境變量步驟如下:(1)我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量: (2)JAVA_HOME值為: D:Program FilesJavajdk1.6.0_18(你安裝JDK的目錄) (3)CLASSPATH值為:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin; (4)Path: 在開始追加 %JAVA_H
44、OME%bin; 安裝完成之后,可以在檢查JDK是否安裝成功。打開cmd窗口,輸入java version 查看JDK的版本信息。出現(xiàn)類似下面的畫面表示安裝成功了:如圖4-2所示。圖42 jdk安裝成功二、Eclipse安裝本軟件安裝的是Eclipse IDE for Java Developers的win 32bit版。Eclipse版本信息如圖4-3所示。圖43Eclipse版本三、Android SDK安裝在Android Developers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。(1)運行SDK Setup.exe,點擊Available
45、 Packages。如果沒有出現(xiàn)可安裝的包,請點擊Settings,選中Misc中的"Force s:/."這項,再點擊Available Packages 。 (2)選擇希望安裝的SDK及其文檔或者其它包,點擊Installation Selected、Accept All、Install Accepted,開始下載安裝所選包 (3)在用戶變量中新建PATH值為:Android SDK中的tools絕對路徑(4)“確定”后,重新啟動計算機。重啟計算機以后,進入cmd命令窗口,檢查SDK是不是安裝成功。 運行 android h 如果有類似以下的輸出,表明安裝成功:驗證安裝
46、成功界面如圖4-4所示。圖44、驗證SDK安裝成功四、ADT安裝(1)打開 Eclipse IDE,進入菜單中的 "Help" -> "Install New Software" (2)點擊Add.按鈕,彈出對話框要求輸入Name和Location:Name自己隨便取,Location輸入 :/dl-ssl.google /android/eclipse。在work with后的下拉列表中選擇我們剛才添加的ADT,根據(jù)提示一步步next,然后選擇Preferences. 在左邊的面板選擇Android,然后在右側(cè)點擊Browse.并選中SDK路徑,
47、點擊Apply、OK配置完成8。五、創(chuàng)建AVD為使Android應用程序可以在模擬器上運行,必須創(chuàng)建AVD。(1)在Eclipse中。選擇Windows > Android SDK and AVD Manager ;(2)點擊左側(cè)面板的Virtual Devices,再右側(cè)點擊New ;(3)填入Name,選擇Target的API,SD Card大小任意,Skin隨便選,Hardware目前保持默認值 ;(4)點擊Create AVD即可完成創(chuàng)建AVD9。4.3 系統(tǒng)功能模塊設(shè)計對于一個實用性的電子書閱讀器,從功能上來講主要分為以下幾大部分:從整體功能上來看,不難想象到的是圖書閱讀、翻頁
48、、分頁、跳轉(zhuǎn)、添加書簽、書簽跳轉(zhuǎn)、刪除書簽、文本設(shè)置、主題設(shè)置及自動翻頁等10。功能模塊圖如圖4-5所示。圖4-5、功能模塊圖重點模塊介紹:圖書閱讀功能模塊:通過比特流形式將文本數(shù)據(jù)隨機讀入內(nèi)存,再由輸出流以GBK編碼形式輸出,通過Bitmap及畫布將文本信息展示到 屏幕上去。對于閱讀翻頁形式主要是采用模擬手動翻頁形式,實現(xiàn)過程較為麻煩,其中主要用到PointF(浮點)、GradientDrawable (圖形繪制工具)及多點觸摸監(jiān)聽。分頁是在對流文件進行分頁顯示時翻頁即進行頁碼增加。閱讀時將屏幕進行鎖定、獲取屏幕默認尺寸大小,進行背景字體大小、顏色、主題初始化。書簽功能模塊:此模塊主要是對閱
49、讀的進度位置以數(shù)值形式保存,方便用戶進行閱讀定位。其主要內(nèi)容包括書簽添加(圖書名稱、添加時間、添加位置、自定義書簽名稱),查看書簽(書簽名稱、保存日期、添加書目),刪除書簽(將書簽從數(shù)據(jù)庫中刪除)。閱讀時,當退出時系統(tǒng)會默認添加一個書簽標記當前閱讀位置,方便下次進行閱讀。自動翻頁模塊:自動翻頁主要是針對用戶需求而定,用戶可以根據(jù)個人實際情況將自動翻頁的間隔時間設(shè)為10、20、30、60秒不等,主要實現(xiàn)方法是使用線程控制。但翻頁時無法進行手動觸摸,因此多點監(jiān)聽無法獲取數(shù)據(jù),從而無法顯示翻頁效果,但自動翻頁依然可以進行。本地查找模塊:用戶在第一次使用時,可以通過本地查找SDcard內(nèi)容,來尋找自己
50、喜歡的書籍。在用戶使用本電子書閱讀器進行閱讀后,系統(tǒng)會自動記錄所讀過的書籍,將為用戶建立一個屬于用戶個人的本地書架。用戶可以根據(jù)書架所存放的圖書來進行日常閱讀,省去每次查找的麻煩。在線查找模塊:本電子書閱讀器將提供一個在線訪問機制,用戶通過上網(wǎng)形式來瀏覽網(wǎng)上最新的圖書,及選擇下載自己喜歡的圖書。Web端訪問時,系統(tǒng)將以列表形式返回web端信息。4.4 系統(tǒng)UML圖UML是 Unified Modeling Language的縮寫是用來對軟件密集系統(tǒng)進行可視化建模的一種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化、和編制文檔的一種標準語言,利用UML可以很直觀的顯示整個系統(tǒng)的功能和流程,
51、現(xiàn)在就對本電子書閱讀器進行UML建模分析,UML用例圖如圖4-6 4-7所示。圖4-6 主UML用例圖圖4-7 書簽UML用例圖4.5 數(shù)據(jù)庫詳細設(shè)計考慮到本電子書閱讀器在使用過程中所產(chǎn)生的需要記錄的數(shù)據(jù)量較少,綜合資源、經(jīng)濟、方便,易用等多方面因素,確定采用Android自帶的輕量級關(guān)系型數(shù)據(jù)庫SQLite作為開發(fā)中所使用到的數(shù)據(jù)存儲介質(zhì)。由于本數(shù)據(jù)庫是 等便攜式移動設(shè)備系統(tǒng)自帶的數(shù)據(jù)庫,在使用過程中可能會發(fā)生遺失、損壞的一系列突發(fā)情況,所以建議用戶將一些重要的數(shù)據(jù)通過USB接口導出備份到PC機上去,以免給自身帶來不必要的麻煩。4.5.1 數(shù)據(jù)庫表關(guān)系設(shè)計明確了在開發(fā)過程中只用到了與書簽有關(guān)
52、的一些記錄型數(shù)據(jù),所以在數(shù)據(jù)庫的設(shè)計及數(shù)據(jù)間的關(guān)系上的處理上要緊密貼合用戶需求,及保證表及表中字段的合理性。表中主要記錄的是書簽的詳細信息。數(shù)據(jù)庫名稱:FlyReader。表名:mark_table。數(shù)據(jù)庫表如圖4-8所示。圖4-8、數(shù)據(jù)庫表4.5.2 數(shù)據(jù)庫表字段設(shè)計(1)_id:代表書簽的ID,類型為整型(int),同時也是一個自增長的主鍵字段。(2)mark_name:記錄書簽名稱,其中存儲時分為兩種一種為用戶自定義的書簽名,主要供用戶主動添加使用;另外一種為默認書簽,幫助用戶記錄當前的閱讀進度,方便下次閱讀。類型為文本型(text)。(3)book_name:記錄書簽所添加的書籍名稱,
53、類型為文本型(text)。(4)author:記錄書籍的作者,類型為文本型(text)。(5)progress:記錄閱讀的進度,類型為文本型(text)。(6)pageNumber:記錄書簽所添加的頁碼。類型為文本型(text)。(7)body:字體大小,類型為整型(int)。(8)color:記錄字體顏色,類型為文本型(text)。(9)theme:記錄主題,類型為文本型(text)。(10)mark_time:記錄書簽添加的時間,類型為長整型(long)。書簽表如表4-1所示。表41 書簽表字段名稱數(shù)據(jù)類型字段大小是否主鍵說明_idint是書簽的IDmark_nametext15否書簽名稱
54、book_nametext15否書籍名稱authortext15否書籍的作者progresstext15否閱讀的進度pageNumbertext10否頁碼bodyint否字體大小colortext10否字體顏色themetext10否主題mark_timelong否書簽添加的時間5 編碼與實現(xiàn)由于在整個實現(xiàn)過程中,牽扯到了許許多多的控件、方法、類與接口。所以在編碼與實現(xiàn)方面,本文主要是對重要的過程、類與方法進行介紹。電子書閱讀器的實現(xiàn)主要分為以下幾個階段:5.1 主界面主界面主要是通過導航條的方式,引導用戶進行相關(guān)的操作。相關(guān)代碼如下:/導航條信息private void loadButtom
55、Menu() gv_menu = (GridView) this.findViewById(R.id.gv_menu);gv_menu.setBackgroundResource(R.drawable.channelgallery_bg);gv_menu.setGravity(Gravity.CENTER);ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();HashMap<String, Object> map = new HashMap<String, Object>();map.put("itemImage", R.drawable.ic_menu_search);map.put("itemText","查找");data.add(map);map = new HashMap<String, Object>();map.put("itemImage", R.drawable.ic_menu_book_flag);map.put("itemText",&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院整形科合作協(xié)議書
- 2025年度個人財務(wù)規(guī)劃咨詢服務(wù)協(xié)議4篇
- 2025年度個人車輛購置貸款合同范本8篇
- 2025年度個人知識產(chǎn)權(quán)抵押轉(zhuǎn)讓合同2篇
- 2025年度個人股權(quán)激勵股份轉(zhuǎn)讓合同協(xié)議書3篇
- 2025年全球及中國強固型工業(yè)顯示器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年度全國房地產(chǎn)個人居間服務(wù)協(xié)議合同范本4篇
- 2025版圖書倉儲物流配送服務(wù)合同3篇
- 2025個人借款合同信息披露與隱私保護4篇
- 2024版借款施工合同
- 《openEuler操作系統(tǒng)》考試復習題庫(含答案)
- 《天潤乳業(yè)營運能力及風險管理問題及完善對策(7900字論文)》
- 醫(yī)院醫(yī)學倫理委員會章程
- xx單位政務(wù)云商用密碼應用方案V2.0
- 2024-2025學年人教版生物八年級上冊期末綜合測試卷
- 2025年九省聯(lián)考新高考 語文試卷(含答案解析)
- 死亡病例討論總結(jié)分析
- 第二章 會展的產(chǎn)生與發(fā)展
- 空域規(guī)劃與管理V2.0
- JGT266-2011 泡沫混凝土標準規(guī)范
- 商戶用電申請表
評論
0/150
提交評論