![基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/db970559-53a3-42e9-8a49-3642d70afcba/db970559-53a3-42e9-8a49-3642d70afcba1.gif)
![基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/db970559-53a3-42e9-8a49-3642d70afcba/db970559-53a3-42e9-8a49-3642d70afcba2.gif)
![基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/db970559-53a3-42e9-8a49-3642d70afcba/db970559-53a3-42e9-8a49-3642d70afcba3.gif)
![基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/db970559-53a3-42e9-8a49-3642d70afcba/db970559-53a3-42e9-8a49-3642d70afcba4.gif)
![基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/db970559-53a3-42e9-8a49-3642d70afcba/db970559-53a3-42e9-8a49-3642d70afcba5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 畢 業(yè) 設(shè) 計題目:基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)姓 名: 張 然 學 號: 2009080304133 學 院: 信息學院 專 業(yè): 通信工程 指 導 教 師: 許菁菁 協(xié)助指導教師: 2013年 4 月 15 日北京聯(lián)合大學 畢業(yè)設(shè)計摘 要隨著科技的發(fā)展,智能手機在人們的生活中被普及,它逐步代替紙質(zhì)的傳播媒介成為主要獲取信息的工具。因為手機體積小,便于攜帶,功能日趨強大等因素,所以它已經(jīng)普遍被人們使用并且成為了人們?nèi)粘I钪胁豢苫蛉钡幕锇?。其中手機閱讀的功能更是為用戶帶來了讀書的樂趣和便利。本設(shè)計是基于安桌系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng),不僅支持TXT文件格式的閱讀功能,還支持如調(diào)節(jié)字
2、體大小、夜晚模式、跳轉(zhuǎn)等一些個性化的設(shè)置滿足讀者的不同需要,同時,本設(shè)計最大的特點便是可以支持小說作者對于自己的作品進行上傳分享,分享的實現(xiàn)是采用網(wǎng)絡(luò)服務(wù)器和數(shù)據(jù)庫進行輔助的服務(wù)。 關(guān)鍵詞:安卓 網(wǎng)絡(luò)小說 閱讀 分享 AbstractWith the popularity of the development of technology, smart phones gradually instead of paper media in people's lives,it is as the main tool to obtain information now. The phone v
3、olume is small and it easy to carry, the functions are becoming more and more powerful, so it has been generally people use and become an integral part of people's daily life partner. Phone reader brings the fun and convenience of reading.The design is based on the novel of the network sharing s
4、ystem security desk system, it is not only supports reading the TXT file format, but also supports some personalized settings to meet the different needs of the reader. At the same time, the biggest feature of the design is to support the author of the novel for their works upload and share.Realizat
5、ion of sharing is aided by the network server and database service.Key Words:Android Network novel Read Share目 錄摘 要IAbstractII引 言11 概述21.1 課題的背景及意義21.2 Android系統(tǒng)的現(xiàn)狀31.3 畢業(yè)設(shè)計的總體目標32 開發(fā)環(huán)境及技術(shù)42.1 開發(fā)環(huán)境42.2 Android平臺架構(gòu)42.3 Activity生命周期53 需求分析73.1 功能需求73.2 性能需求73.3 安全需求83.4 系統(tǒng)的功能分析83.5 系統(tǒng)可行性分析93.5.1技術(shù)可行性9
6、3.5.2 經(jīng)濟可行性93.5.3 操作可行性94 詳細設(shè)計104.1 功能框架104.2 系統(tǒng)流程104.3 系統(tǒng)功能的實現(xiàn)134.3.1 客戶端設(shè)計134.3.2 服務(wù)器接口設(shè)計174.3.3 數(shù)據(jù)庫設(shè)計194.3.4 聯(lián)網(wǎng)相關(guān)包介紹214.3.5 HTTP聯(lián)網(wǎng)實現(xiàn)244.3.6 數(shù)據(jù)解析功能的實現(xiàn)254.3.7 異步處理的實現(xiàn)275 系統(tǒng)功能的測試285.1 開始界面285.2 文件閱讀界面305.3 閱讀個性化設(shè)置界面315.4 編輯分享界面335.5 文件導入界面335.6 網(wǎng)絡(luò)小說列表界面35結(jié) 論37致 謝38參考文獻39II引 言隨著科技的不斷發(fā)展和創(chuàng)新,手機已經(jīng)具有了非常強大
7、的處理能力和可擴展能力,人們獲取信息和個性化的需求也在逐漸增大,手機成為了人們?nèi)粘I钪胁豢苫蛉钡幕锇椤,F(xiàn)在人們使用的智能手機不僅僅具備打電話發(fā)短信等一些基本功能,還能進行娛樂活動如上網(wǎng)、游戲、聽音樂、看電影、閱讀等等,增添了用戶在生活中的樂趣,這就是我們所說的“移動物聯(lián)網(wǎng)”的時代。隨著“物聯(lián)網(wǎng)”的發(fā)展,以前人們生活中的低端手機已經(jīng)不能滿足人們的需求,越來越多的人追求手機的功能性和智能性,而Android和Iphone無疑是現(xiàn)在智能機的兩大主流系統(tǒng)品牌,有一些已經(jīng)逐漸淡出人們的視野,這兩大系統(tǒng)各有千秋,因為android手機形狀多樣化,價格多樣化,尤其是有一些中低端手機之后,越來越受到人們的喜
8、愛,所以Android發(fā)展相對來說更加的穩(wěn)步上升中,而Android手機現(xiàn)在價格的優(yōu)惠讓漂亮的手機不再是一種奢侈品。所以本系統(tǒng)著重于android系統(tǒng)去設(shè)計和實現(xiàn)一款軟件。閱讀這一項功能是非常有意義和有用處的,人們可以省去了攜帶大量圖書的不變,可以隨時隨地享受閱讀帶給自己的樂趣,最大的特點就是便攜,更有一些個性化功能讓人們增強體驗的感覺。本設(shè)計的題目是基于安卓系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng),此款軟件是基于android系統(tǒng)手機開發(fā)的一款手機網(wǎng)絡(luò)小說分享系統(tǒng),包含客戶端和服務(wù)器端,為用戶提供上傳和下載數(shù)據(jù)的服務(wù)。本系統(tǒng)便可滿足手機用戶利用碎片零散時間閱讀的需求,而網(wǎng)絡(luò)小說作者也可以通過散碎的時間,用手機
9、寫文章或小說并可以及時上傳與網(wǎng)友們進行分享,很大程度上滿足了人們對于書籍的熱愛。閱讀者不用再到處拿著一本或幾本厚厚的小說了,只需要一部手機,使用此款軟件,便可以把文學小說庫搬到自己的手機上,隨時隨地盡享小說帶來的樂趣,為讀者提供了便利,此款開發(fā)可以實現(xiàn)作者分享作品的需求,更為小說作者帶來了不一樣的體驗。1 概述1.1 課題的背景及意義隨著時代的發(fā)展,移動互聯(lián)網(wǎng)和移動物聯(lián)網(wǎng)已經(jīng)悄悄地進入了人們的生活中,成為了大家討論和關(guān)注的熱點話題,移動互聯(lián)網(wǎng)包括移動通信和互聯(lián)網(wǎng),這兩大行業(yè)以迅猛的速度發(fā)展著,具有很大的前景和市場潛力,它們的增長速度是任何預測專家都未曾預料到的,而在現(xiàn)在,越來越多的人都希望在移
10、動手機或設(shè)備中享受高速的互聯(lián)網(wǎng)帶來的如電腦般的體驗,完成一切可能完成的事來充實自己的生活,自然而然地,手機成為人們首選的產(chǎn)品。近年來,Android平臺的使用和操作系統(tǒng)是越來越得到大家的認可了,Android平臺上各種娛樂和實用軟件也得到了大家的一致的肯定,軟件也是層出不窮,很多軟件都非常有趣味性,為人們的生活增添了一絲的樂趣。閱讀軟件是人們生活中必不可少的一款實用軟件,目前市面上的手機閱讀軟件有很多,用戶的選擇也非常多,每個閱讀器都具備它的優(yōu)點,但是同時又難以滿足人們?nèi)找嬖鲩L的需求,所以手機電子書閱讀器的應(yīng)用研究方向還大有潛力可挖?,F(xiàn)有的閱讀軟件我們只是可以通過軟件進行單純的閱讀,少了好友互
11、動分享的過程和樂趣,因此本文就將對閱讀器增添這樣的一種分享效果。本課題是基于android平臺系統(tǒng),實現(xiàn)了一款基于android系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計與實現(xiàn)。該軟件可以和服務(wù)器連接實現(xiàn)網(wǎng)絡(luò)小說的閱讀和下載,并把喜歡的小說上傳分享給自己的好友等功能。為喜歡閱讀的朋友提供了一款很實用的軟件,更增加了趣味性。電子閱讀方式是我們處在低碳社會非常提倡的一種讀書形式,它能夠節(jié)能環(huán)保,與現(xiàn)在倡導的生活方式是非常之吻合的,手機閱讀器已經(jīng)幾乎成為每個人手機中的必備軟件,給人們閱讀生活增添了一抹亮麗的色彩。雖然現(xiàn)在手機閱讀器的功能己經(jīng)相對完善,但是同時地人們也對它抱有更大的期望和更高的要求,比如現(xiàn)在的用戶都比
12、較注重個人的體驗效果,希望在閱讀的過程中能使人們讀起來不感到疲倦而且是充滿樂趣的體驗,現(xiàn)如今的閱讀器多媒體性能還不足以讓用戶百分百滿意,功能也可以繼續(xù)變得強大,我們可以做的還很多。本畢設(shè)題目為“基于安卓系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)”,不僅方便了讀者,滿足用戶日常閱讀小說的需求,還方便了寫小說或作品的作者,靈感閃過的時候可以利用上下班乘坐公交車、閑暇之余隨時隨地地寫小說或短篇與讀者進行分享。1.2 Android系統(tǒng)的現(xiàn)狀就目前的情況和現(xiàn)實而言,安卓系統(tǒng)的市場正在以迅猛的方式進行逐步的擴大,它的產(chǎn)品也能滿足不同人群的需求,不但會生產(chǎn)一些1000左右的低端智能機,能滿足一般人群日常生活的需求同時具備娛樂
13、性,還會生產(chǎn)一些價格較貴但質(zhì)量高的高端智能機,適合商務(wù)人士使用。價格低的智能機是普通老百姓完全可以支付得起的,并且現(xiàn)在也越來越受大家歡迎,操作也是大家接受的。相對一些其他品牌的普通機來說,人們更喜歡買那種價格便宜、性能好的智能機,原因是因為它們既能滿足一般人使用手機的需求,功能各方面的性能也都讓使用者感覺到它是具有比較不錯的感受和操作的,又沒有像高端機那樣昂貴的價格。有很多人都喜歡用手機玩游戲、看視頻等等,這些功能相對來說就會對手機的硬件和軟件有更高的要求,比如要要求畫面流暢、運行速度快、兼容性好等等,針對這些人,也有很多高端的安卓智能機,那些手機完全可以滿足人們?nèi)粘5男枰,F(xiàn)在安卓系統(tǒng)的應(yīng)用
14、會在更多的方面做提升,出現(xiàn)了很多很好的應(yīng)用或者是體驗如車載導航、電視機功能、點歌系統(tǒng),甚至是平板電腦?,F(xiàn)在安卓系統(tǒng)的發(fā)展速度是超乎大家的想象的,針對于安卓開發(fā)出來的軟件也是非常有前景的,這是一個值得開發(fā)和拓展的領(lǐng)域,安卓系統(tǒng)也將成為大眾使用的主流系統(tǒng)之一。1.3 畢業(yè)設(shè)計的總體目標通過對現(xiàn)有市面上的軟件進行使用了解自己的軟件中要具備的功能,通過一些簡單的例子對未使用過的軟件進行熟悉和操作,全面的了解此款手機軟件的客戶端和服務(wù)器端的具體實現(xiàn)方法。具體期待的實現(xiàn)目標如下:1. 客戶端可以實現(xiàn)注冊登陸的功能,打開在線書庫進行小說的下載功能,下載到本地并可導入到軟件中進行瀏覽閱讀。2. 可以實現(xiàn)小說列
15、表的選擇功能,選擇文件后打開閱讀(在操作中實現(xiàn)了一些個性化設(shè)置,如:翻頁效果、書簽、字體大小等等)3. 可以實現(xiàn)編輯并上傳分享的功能,作者可以將作品分享給讀者。2 開發(fā)環(huán)境及技術(shù)2.1 開發(fā)環(huán)境l EclipseEclipse是一個基于Java可擴展的開發(fā)平臺,并且是開放源代碼的,就Eclipse本身而言,使用者可以通過下載安裝插件組件構(gòu)建開發(fā)過程中必備的開發(fā)環(huán)境,環(huán)境搭建好后使用起來是非常方便的。l Jave本系統(tǒng)是以java為編程語言,接口和功能都具備靈活多變的特點,適合多種情況方便人們使用,Java語言是一種簡單易用、可移植的面向?qū)ο笳Z言,本系統(tǒng)就是在Android平臺上使用java語言
16、完成的。l Android SDKSDK:(software development kit)軟件開發(fā)工具包,SDK可應(yīng)用于特定的軟件框架、軟件包、操作系統(tǒng)等情境下,它經(jīng)常被軟件開發(fā)工程師用于建立應(yīng)用軟件的開發(fā)工具的集合,為了更好的承接更高的版本,此設(shè)計選用的是Android SDK2.3,即為Android專屬的軟件開發(fā)工具包。l 數(shù)據(jù)庫選擇MySQL數(shù)據(jù)庫的原因是它是非常方便的,任何一個開發(fā)者都可以根據(jù)個人設(shè)計開發(fā)的需要對它進行修改并使用,原因是MySQL是開放源代碼的,MySQL具有可靠性、速度和適應(yīng)性等特點,技術(shù)開發(fā)者們都認為MySQL是在不需要處理具體某個事務(wù)的情況下管理內(nèi)容時最好的
17、選擇,對于初學者來說更是如此。l 服務(wù)器本設(shè)計選用的是Apache服務(wù)器,根據(jù)統(tǒng)計,使用率排名第一的Web服務(wù)器軟件就是Apache,它以它的優(yōu)點跨平臺和安全性深受大家熟知,它是一種非常常見且實用的服務(wù)器可以在計算機平臺上很好地運行。2.2 Android平臺架構(gòu)由下面所顯示的Android操作系統(tǒng)的體系結(jié)構(gòu)圖,我們可以看出Android操作系統(tǒng)結(jié)構(gòu)分為4層,從上至下依次的順序是應(yīng)用程序、應(yīng)用程序框架、核心類庫和Linux內(nèi)核,在Android運行庫里面包括一個核心庫,核心庫里的功能很多,大多數(shù)功能都是由java編程語言所提供的,它在當中充當著核心的作用, Android操作系統(tǒng)體系結(jié)構(gòu)圖如圖
18、2-1: 圖2-1 Android操作系統(tǒng)體系結(jié)構(gòu)2.3 Activity生命周期我們知道,在Activity在運行時時常會受到一些突然發(fā)生的事件的影響,從一個很簡單的例子來說:假如某人正使用一個Activity這時突然有電話接入,處理突然發(fā)生事件的能力是我們研究這些應(yīng)用應(yīng)該具備的,但這并不是一件簡單的事,這時就需要用到Activity的生命周期,這就是它的作用,生命周期也就意味著一個完成生命的過程,以下這張圖最能夠清楚地顯示和描述Activity的生命周期,它會分為以下7個狀態(tài),它們都可以根據(jù)字面很好地進行理解,接下來會簡要概括一下各個狀態(tài)的情況:1. onCreate() 用于首次創(chuàng)建時被
19、調(diào)用,如同字面的意思,是開始創(chuàng)建的標志 2. onStart() 對于用戶是可見的情況下將會被調(diào)用3. onResume() 用戶在操作或與該Acitivity進行相互聯(lián)系時會被調(diào)用4. onPause() 當應(yīng)用程序啟動了另外一個Acitivity時它會被調(diào)用,一般情況下是來保存當前Acitivity中的數(shù)據(jù)5. onStop() 它將會在Acitivity不可見時被調(diào)用6. onRestart() 在已經(jīng)停止了的Acitivity重新啟動時會被調(diào)用7. onDestroy() 調(diào)用Acitivity的finish()方法或Android系統(tǒng)出現(xiàn)資源不足時會被調(diào)用圖2-7 Activity生
20、命周期3 需求分析3.1 功能需求基于android系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)設(shè)計實現(xiàn)了注冊、登錄、下載等功能。同時還可以查看下載的小說,并導入到軟件中進行瀏覽閱讀,上傳小說和分享作品給好友,這是一個融合了電子書和好友分享互動過程的一種全新的模式,不僅方便了讀者隨時隨地閱讀的需求,還滿足了作者的寫作欲望想和大家分享的心情。(1)服務(wù)器的編寫和搭建:因為服務(wù)器端的編寫和搭建還需要對上傳下載等做一些其他的處理,確定服務(wù)器的編寫,本設(shè)計是使用PHP進行編寫和搭建,把服務(wù)器搭建到自己的電腦上,同時,因為在同一個網(wǎng)絡(luò)中,即使安裝在手機上也可以進行和服務(wù)器的交互。(2)登錄注冊等功能:為了有分享功能的實現(xiàn),增
21、加了登錄注冊等功能,讓每個用戶都擁有自己的個人賬戶,這樣才可以一對一的去確定自己的分享和上傳,方便自己個人賬戶的維護,下載等記錄的信息,擁有屬于自己個人的閱讀天地。(3)上傳和下載的實現(xiàn):用戶可以查看網(wǎng)絡(luò)上的小說列表,選擇自己喜歡和想要下載的文件到本地,下載完成后可以本地進行查看,文件都會存放在download的文件夾中,同時還可以把本地自己喜歡的小說或者是自己的作品上傳到服務(wù)器,分享給別人下載,這樣加大了和好友間的互動過程,好的作品和大家一起分享。3.2 性能需求手機應(yīng)用程序需要提供良好的用戶體驗,用戶的使用感受很重要。通常情況下我們會看到在軟件排行上下載量大的通常都是那些具有新意,使用流暢
22、并且能給用戶帶來良好的用戶體驗的軟件。良好的用戶體驗體現(xiàn)在以下幾點:(1) 界面要求界面簡單、大方,但是更不會顯得很單薄,畫面簡潔當中不失華麗,在本設(shè)計中比如翻頁的效果,和一些個性化設(shè)置的界面,更加增添了界面的細膩度,不會顯得很粗糙。(2) 操作要求操作簡單、易學,容易上手,按鍵的操作都非常簡單易懂,并且功能鍵都是在按下Menu鍵后很直觀的顯示在屏幕上,方便用戶的選擇。(3) 快速響應(yīng)要求能迅速處理客戶的需求,操作很靈便,這點在測試的過程中已經(jīng)很好地展現(xiàn)出來了,軟件的流暢度同時也和手機內(nèi)存等其他外在因素相關(guān)聯(lián),所以在這個過程中,是盡可能表現(xiàn)軟件自己的內(nèi)在優(yōu)勢。(4) 兼容性好能很好的適應(yīng)各個版
23、本的手機,由于系統(tǒng)更新?lián)Q代很快,此款軟件是可以用在較高版本上的,并能很好的運行。(5) 流暢切換可以讓用戶體驗選擇不同應(yīng)用程序過程中帶來的流暢切換的感覺,當用戶正在使用這個軟件的時候,有電話接通或者其他操作干擾時不會軟件系統(tǒng)閃退或?qū)е率謾C崩盤。3.3 安全需求Android在安全需求中的一個非常重要的標準就是在軟件默認設(shè)置操作的情況下應(yīng)用程序沒有權(quán)限執(zhí)行對操作系統(tǒng)、其他應(yīng)用程序或用戶進行有害操作,其中,有害操作就包括讀/寫用戶的隱私數(shù)據(jù),比如用戶聯(lián)系方式、短信、密碼等等來侵犯用戶的個人隱私,軟件的進程不能干擾到其他應(yīng)用程序的正常運行,除非給權(quán)限要求它執(zhí)行相應(yīng)的操作,否則是不符合安全需求的,本軟
24、件是可以做到這點的。3.4 系統(tǒng)的功能分析本文研究的基于安卓系統(tǒng)的網(wǎng)絡(luò)小說分享系統(tǒng)是滿足人們在線和非在線閱讀書籍而實現(xiàn)的一個系統(tǒng)軟件。本系統(tǒng)可以很好的滿足人們閱讀方式,并可以滿足人們和好友分享溝通的功能。在現(xiàn)在快速迭代的科技發(fā)展的時代,人們需要通過不斷地去學習更多的知識來滿足社會發(fā)展的需求,然而在這個過程中攜帶很多的紙質(zhì)書籍變得不是很方便,這種隨時隨地的閱讀方式就顯得非常適應(yīng)人們的需求。本系統(tǒng)就可以解決這個問題,讓你在公交或者地鐵中都可以滿足自己閱讀的樂趣,而且手機是日常生活的必需品,所以很方便。本系統(tǒng)的主要功能如下:客戶端功能:android客戶端用Eclipse的開發(fā)環(huán)境完成,完成后可以實
25、現(xiàn)個人信息的注冊,登錄,閱讀,分享,下載,個性化設(shè)置等功能服務(wù)器功能:服務(wù)器使用PHP語言完成,提供注冊,登錄,查看,分享,下載等接口功能3.5 系統(tǒng)可行性分析3.5.1技術(shù)可行性Java 應(yīng)用編程接口可提供標準接口,現(xiàn)在的Java平臺已經(jīng)幾乎嵌入了所有的操作系統(tǒng),我們在硬件或操作系統(tǒng)平臺上安裝Java之后,便可運行 Java 應(yīng)用程序,這樣的Java程序只需編譯一次就可以在各種系統(tǒng)中運行了,使用起來非常方便和便捷,本軟件使用的是Java開發(fā)語言,將其配置在Eclipse集成開發(fā)環(huán)境下,調(diào)試起來相對容易,當前的計算機硬件配置或現(xiàn)有安卓手機的硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對可行
26、的。3.5.2 經(jīng)濟可行性在調(diào)研過程中了解到該系統(tǒng)的開發(fā)所需軟件系統(tǒng)、硬件平臺等都是易于獲得的,使用的軟件和開發(fā)環(huán)境都能在網(wǎng)上進行下載和安裝,用自帶的模擬器運行即可開發(fā)研究且不需要Android平臺機器,本系統(tǒng)開發(fā)成本低,只需人力技術(shù)進行開發(fā)研究即可,容易實現(xiàn),從經(jīng)濟角度來看,該系統(tǒng)可行且非常具有經(jīng)濟可行性,符合作為畢設(shè)進行開發(fā)。3.5.3 操作可行性不管是基于安卓系統(tǒng)平臺的手機還是計算機,其成本的下降致使計算機安卓手機購買成本的降低。這套系統(tǒng)是利用自己的計算機,且使用Eclipse中安卓模擬器,在本地上安裝JDK、Android跟Eclipse作為軟件的開發(fā)平臺,使開發(fā)出來的系統(tǒng)界面簡潔大方
27、、操作簡單,容易上手,簡單當中又讓人不覺得單調(diào)枯燥,還有一些個性化設(shè)置來提高用戶的使用感受,因此在操作上是可行的。4 詳細設(shè)計4.1 功能框架本系統(tǒng)共分為三大主要模塊,分別為注冊登陸模塊、閱讀模塊和原創(chuàng)作品上傳模塊。本系統(tǒng)打開時是一個程序簡潔的主界面,主界面分為登錄、注冊、打開、退出四個部分。點擊相應(yīng)的按鈕便可以進入到相應(yīng)的的界面進行選擇。注冊登錄模塊:注冊界面要求用戶輸入根據(jù)提示的信息輸入自己的用戶名密碼等,注冊了的用戶才可以進行登錄的操作進入到自己的個人界面進行網(wǎng)絡(luò)書庫書籍的下載瀏覽,并且應(yīng)該記住自己的個人信息以免造成不必要的麻煩,登錄界面如果輸入正確的用戶名和密碼方可進行登錄。點擊在線書
28、庫按鈕可以進入到網(wǎng)絡(luò)書城列表頁面,點擊網(wǎng)絡(luò)書庫的書籍項目便可以進行書籍的下載,下載完成的書籍可以顯示在本地書庫下載的列表中,在這個列表中我們就可以點擊想要閱讀的文章進行查看并閱讀。閱讀模塊:打開頁面進入則顯示出已經(jīng)加載數(shù)據(jù)的本地文件列表,用戶可以選擇想要閱讀的本地文件進行瀏覽閱讀。原創(chuàng)作品分享模塊:用戶可以將自己原創(chuàng)編輯的作品或想要推薦分享的作品進行上傳分享。點擊退出頁面便可退出系統(tǒng)回到手機的程序選擇界面。圖4-1 總體功能模塊圖4.2 系統(tǒng)流程本系統(tǒng)打開會顯示一個有注冊、登錄、打開和退出四個部分的選擇界面。點擊注冊按鈕進入注冊頁面信息的填寫,輸入符合規(guī)定的相關(guān)信息便可進行注冊,登陸頁面如果輸
29、入正確的用戶名和密碼方可進行登錄,進入到本地書庫的頁面中,可以進行相應(yīng)的操作。這個過程有聯(lián)網(wǎng)解析過程,如果登錄成功就會返回成功,失敗就會彈出失敗提示。注冊頁面也是同樣的流程。聯(lián)網(wǎng)解析過程會在4.3.4和4.3.5節(jié)詳細介紹,詳細的分析過程請見以上兩節(jié)。未注冊的用戶要先點擊注冊按鈕,按照提示輸入符合規(guī)定的用戶名和密碼提示注冊成功后方可進行登陸的操作,點擊登陸按鈕后進行登陸的操作,輸入用戶名和密碼之后系統(tǒng)會進行用戶信息的驗證判斷是否通過驗證,若通過則會進入到主界面,若未通過驗證則要重復剛才的步驟進行重新的登陸。注冊登錄模塊的流程圖如圖4-2。圖4-2 注冊登陸模塊流程圖打開頁面可以進入到本地文件列
30、表界面,點擊項目可以進入到相應(yīng)的小說具體的閱讀瀏覽頁面,閱讀小說瀏覽頁面還可實現(xiàn)ireader翻頁的效果,簡潔當中透出不一般的視覺效果,讓讀者體驗像真正翻書的感覺。點擊Menu鍵便會彈出到個性化設(shè)置的頁面,操作簡單而且方便,可以點擊自己想要的相應(yīng)的設(shè)置來實現(xiàn)不同的閱讀效果與體驗,個性化設(shè)置分為字體、亮度、書簽、跳轉(zhuǎn)和編輯五個功能,選擇點擊相應(yīng)的按鈕,根據(jù)提示來完成設(shè)置功能,滿足不同的需求,并且在亮度的選項中還可實現(xiàn)夜晚模式的調(diào)整,有助于對眼睛的保護。下圖即是點擊打開本地文件的流程圖。圖4-3 打開閱讀模塊流程圖如果注冊成功便可點擊網(wǎng)絡(luò)書庫按鈕可以進入到個人的網(wǎng)絡(luò)書城的頁面。這個過程也是從服務(wù)器
31、請求數(shù)據(jù)進行處理才顯示出來。對網(wǎng)絡(luò)書庫我們可以下載、可以分享上傳的功能,即可以根據(jù)自己SD卡中的文件作品進行編輯上傳,實現(xiàn)分享的功能,一鍵搞定,沒有復雜的操作便可體驗分享文章的樂趣。如果對編輯的不滿意不想分享可點擊取消按鈕即可。圖4-4 原創(chuàng)或分享模塊流程圖4.3 系統(tǒng)功能的實現(xiàn)4.3.1 客戶端設(shè)計手機客戶端:本系統(tǒng)是在Java JRE編譯環(huán)境下研發(fā)的,首先要下載安裝此運行環(huán)境。下載安裝Eclipse,設(shè)置Java JRE和Android SDK的安裝路徑并進行相應(yīng)配置,而后方可編寫相應(yīng)文件,Android開發(fā)環(huán)境的搭建是基于Eclipse的,因此需要下載和配置Android SDK,本系統(tǒng)
32、服務(wù)的目標也是主流的Android2.3以上的版本,選用Android SDK2.3配置好后測試過程通過簡單的HelloWorld來測試。借看相關(guān)書籍來協(xié)助自己更快地熟悉和操作起來,對于配置好的Eclipse,選取相對簡單的代碼進行運行,比如HelloWorld,順利運行后再研究畢設(shè)題目相關(guān)的代碼進行分析理解并進行項目的開發(fā)工作。Eclipse中的程序列表如下圖4-4:圖4-5 客戶端程序列表1. 開始頁面設(shè)置,開始界面主要分為4個按鈕的設(shè)置,分別為登陸按鈕、注冊按鈕、打開按鈕和退出按鈕,頁面簡潔易操作,點擊相應(yīng)的按鈕便可跳轉(zhuǎn)到界面中進行相應(yīng)的操作。開始頁面的布局如下圖4-5。圖4-6 開始界
33、面的按鈕布局 2. 注冊與登錄注冊信息時對于用戶名和密碼都有相應(yīng)的要求,注冊的指令會提出輸入用戶名和密碼的字段數(shù),也要根據(jù)post提交完成,登陸請求時同樣根據(jù)post提交完成。具體的post提交的相關(guān)介紹詳見4.3.2節(jié)服務(wù)器接口設(shè)計,此處不做詳細介紹,相關(guān)請求指令的代碼如下:注冊:指令提出輸入用戶名和密碼的字段數(shù),根據(jù)post提交完成,login當中的URL地址,如果成功便會響應(yīng)到服務(wù)器中HttpPost httpPost = new HttpPost(LOGIN_URL);登陸:和注冊提交方式相同,用戶登錄時要驗證注冊的id號碼和密碼,若用戶名和密碼都正確方可登陸成功,如果不成功則會彈出提
34、示,要輸入正確的信息才可以。而當用戶填寫用戶名、密碼等個人用戶信息要進行注冊的時候,它會判斷此時的服務(wù)器是否處于連通,網(wǎng)絡(luò)是否處于打開的狀態(tài),要獲取系統(tǒng)服務(wù)器的狀態(tài)。網(wǎng)絡(luò)不可用的情況,提示如下 .getSystemService(Context.CONNECTIVITY_SERVICE).getActiveNetworkInfo() = null ? false網(wǎng)絡(luò)可用的情況,提示如下.getSystemService(Context.CONNECTIVITY_SERVICE).getActiveNetworkInfo().isAvailable();3. 閱讀界面:點擊打開界面將會跳轉(zhuǎn)到本地
35、文件列表頁面,選擇本地想要閱讀的題目便可進入閱讀界面進行文章的閱讀。頁面顯示的相關(guān)分析如下面介紹,每次讀取文章后,記錄結(jié)束點的位置,該位置是段落的結(jié)束位置,下次打開文章閱讀是自動載入上次閱讀到的地方。while (lines.size() < mLineCount && m_mbBufEnd < m_mbBufLen) byte paraBuf = readParagraphForward(m_mbBufEnd);m_mbBufEnd += paraBuf.length;調(diào)整文字后在讀取文件過程中畫一行文字while (strParagraph.length() &
36、gt; 0) int nSize = mPaint.breakText(strParagraph, true, mVisibleWidth,null);根據(jù)編碼格式判斷文字的換行protected byte readParagraphForward(int nFromPos) int nStart = nFromPos;int i = nStart;byte b0, b1;得到剩余的文字后超出最大行數(shù)則不再畫,字數(shù)轉(zhuǎn)到下一頁來顯示lines.add(strParagraph.substring(0, nSize);strParagraph = strParagraph.substring(nS
37、ize);如果該頁最后一段只顯示了一部分,則從新定位結(jié)束點位置if (lines.size() >= mLineCount) break;4. 導入文件:點擊menu鍵便可彈出提示,可以將本地文件導入到軟件中進行閱讀,其中要記錄點擊準備導入的文件mPopupWindow = new PopupWindow(popunwindwow, LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);記錄導入書籍地址、狀態(tài)和路徑,在相應(yīng)的位置上進行勾選,選中后點擊導入便可輕松將文件導入到軟件中了public BookVo(String owen, in
38、t local) super();this.owen = owen;this.local = local; 刷新文件,當刷新時會提示請稍后的字樣 showProgressDialog("請稍后."); InThread.start(); 顯示文件,當刷新后會更新 showProgressDialog("請稍后.");updateThread.start();5. 添加書簽功能,添加書簽要存在SQlite中,所以會有相關(guān)的存儲在本地數(shù)據(jù)庫的語句 SQLiteDatabase db = markhelper.getWritableDatabase();圖4-
39、7 書簽的按鈕布局在書籍中添加書簽會出現(xiàn)以下三種情況,都會有相應(yīng)的提示來告訴用戶。添加成功便會添加到SQL中Toast.makeText(Read.this, "書簽添加成功", Toast.LENGTH_SHORT).show(); catch (SQLException e) 如果檢測到已經(jīng)存在在本地數(shù)據(jù)庫中則會提示書簽已存在Toast.makeText(Read.this, "該書簽已存在", Toast.LENGTH_SHORT).show(); catch (Exception e)添加書簽失敗的情況如下所示: Toast.makeText(R
40、ead.this, "添加書簽失敗"Toast.LENGTH_SHORT).show();4.3.2 服務(wù)器接口設(shè)計手機服務(wù)器端:之前經(jīng)過大量的調(diào)研,也對一些服務(wù)器端編寫的軟件進行了測試和使用,最后決定使用WampServer進行編寫,它被大家稱之為“傻瓜包”,Wamp就是Windows Apache Mysql PHP的集成安裝環(huán)境,就是在windows系統(tǒng)下的集Apache、PHP和Mysql三者結(jié)合的服務(wù)器軟件,其中的PHP擴展模塊和Apache模塊利用鼠標點擊開啟/關(guān)閉服務(wù)就可以進行操作,不用使用者手動去修改配置文件了,可以省去繁瑣的步驟和時間來進行代碼和文件的研究
41、,Wamp自己就會非常貼心地幫助開發(fā)者去做,同時,使用者再也不用到處詢問php的安裝問題了,Wamp一切都搞定了。由于其容易上手,安裝和操作都相對簡單,對于本人這種初學者非常的適合,不會導致裝軟件的過程中出現(xiàn)很多問題導致接下來的研究無法繼續(xù),因此最后選擇了它。不過安裝過程中還是出現(xiàn)了點小問題,服務(wù)器老是處在斷開的狀態(tài)下,好在最后找到了原因并解決了,它便可以輕松順利地運行了??梢酝ㄟ^右鍵-語言來改變原有的英文提示,變成熟悉的中文操作,啟動后要選擇啟動所有服務(wù),這樣就可以使服務(wù)器處在在線的狀態(tài)下。圖4-8 WampServer運行選擇界面服務(wù)器端口信息如下,以下的登陸、注冊和網(wǎng)絡(luò)分享書籍接口,全部
42、都是post提交完成的。post可進行加密傳送,它可以傳遞大量的信息,用于改變服務(wù)器上的資源的請求,所有的信息均可在地址欄中是不可見的,通過post提交來獲取URL地址中的內(nèi)容。主要用于以下三方面:登陸接口、注冊接口和獲取網(wǎng)絡(luò)分享書籍列表接口。1. 登錄接口URL 00/User/login參數(shù) username 用戶名 Password 密碼返回的數(shù)據(jù)如下<?xml version="1.0" encoding="UTF-8"?><root><profile><id>1&
43、lt;/id>/ 此為用戶的ID號<username>test</username>/ 此為用戶名<password>e10adc3949ba59abbe56e057f20f883e</password>/用戶密碼(md5加密的)<email></email>/用戶郵箱</profile></root>若用戶名或者密碼不對,提示信息是“用戶或密碼錯誤!”代碼格式如下:<?xml version="1.0" encoding="UTF-8"?>
44、<root><code>1</code><message>用戶名或密碼錯誤!</message></root>2. 注冊接口URL: 00/User/reg參數(shù): username 用戶名(必填) password 密碼(md5加密后的)(必填) email 郵箱(選填)1 如果成功會提示“注冊成功”,返回的數(shù)據(jù)格式是<?xml version="1.0" encoding="UTF-8"?><root><code>
45、;9</code><message>注冊成功</message></root>2 參數(shù)錯誤,或者不符合格式,提示信息如下:用戶名已存在的情況:<?xml version="1.0" encoding="UTF-8"?><root><code>3</code><message>注冊用戶名已存在</message></root>填寫的郵箱錯誤的情況:<?xml version="1.0" encodin
46、g="UTF-8"?><root><code>2</code><message>郵箱地址錯誤</message></root>用戶名僅支持4到25個字符,用戶名太短或者太長的情況:<?xml version="1.0" encoding="UTF-8"?><root><code>3</code><message>用戶名僅支持4到25個字符</message></root>3.
47、 獲取網(wǎng)絡(luò)分享書籍列表接口(此接口按照時間進行排序)按照書籍列表名稱、編號、日期依次排列。URL: 00/Book/booklist參數(shù): page 頁數(shù) pagecount 每頁信息量返回的格式是<?xml version="1.0" encoding="UTF-8"?><root><books><book><bookid>2</bookid><bookname>456</bookname><downnum>2&
48、lt;/downnum><datatime>2013-01-30 15:37:27</datatime></book></books></root>4.3.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的設(shè)計采用的是MySQL,WampServer軟件包中包括了MySQL,所以省去了單獨安裝MySQL的麻煩,更加便于和服務(wù)器端直接相聯(lián)系,無需進行麻煩和繁瑣的操作,MySQL的很多優(yōu)點使之被軟件開發(fā)者選擇成為編寫數(shù)據(jù)庫的一個重要伙伴,他們都認為MySQL是管理數(shù)據(jù)最好的選擇,在不需要數(shù)據(jù)和事件事務(wù)化處理的這種情況下它是非常具有競爭力和實用性的。本系統(tǒng)設(shè)計過
49、程中,用戶注冊的個人信息和文件分享文件的信息都會存在數(shù)據(jù)庫中。其中,share數(shù)據(jù)庫表中包含的內(nèi)容有id,uid,datetime,bookname,bookurl,downum。Users數(shù)據(jù)庫表中包含的內(nèi)容有id,username,password,email,datetime。用戶的數(shù)據(jù)庫表主要有用戶的個人信息的存儲,分享內(nèi)容主要就是要對注冊了的用戶實現(xiàn)個人空間管理,不僅要對分享的書籍相關(guān)的內(nèi)容進行保存,還要對用戶的個人id進行存儲。圖4-9 Mysql分享share設(shè)計字段類型說明idint書籍編號uid int用戶編號datetimedatetime日期booknamevarchar
50、(80)書籍名稱bookurl varchar(255)書籍url地址downnum int下載號碼表4-1 Mysql分享share表格圖4-10 Mysql用戶信息users設(shè)計字段類型說明idint書籍編號usernamevarchar(100)用戶名pwdvarchar(32)用戶密碼email varchar(255)用戶郵箱datetimedatetime日期表4-2 Mysql用戶信息users表格4.3.4 聯(lián)網(wǎng)相關(guān)包介紹本軟件包括聯(lián)網(wǎng)功能,要進行登陸注冊和分享功能都要借用到網(wǎng)絡(luò)相關(guān)包,此部分將深入介紹Android SDK 中一些與網(wǎng)絡(luò)有關(guān)的包package,包描述和用途如下
51、表4-3:表4-3 聯(lián)網(wǎng)相關(guān)包介紹表實現(xiàn)聯(lián)網(wǎng)功能的核心代碼實現(xiàn)如下:(1) 獲取輸入的URL地址如下: URL url = new URL(eText.getText().toString(); URLConnection conn = url.openConnection(); 說明:統(tǒng)一資源定位符URL的中文名稱直譯因特網(wǎng)上標準資源的地址,也可以被稱為網(wǎng)頁地址,用來指出存放和讀取方式以及在此期間所用信息所處的位置,它的語法結(jié)構(gòu)是“協(xié)議名稱:/主機名稱:端口地址/存放目錄/文件名稱”,URL規(guī)定的語法格式中,端口地址、存放目錄等都可以不要,但是協(xié)議名稱和主機名稱是其中的重要部分要必須有的。(
52、2) 獲取網(wǎng)頁數(shù)據(jù)流如下:BufferedReader rd=new BufferedReader(new InputStreamReader(conn.getInputStream(); 說明:getInputStream()方法在此使用可以返回到代表實體內(nèi)容的數(shù)據(jù)流對象里并從中獲取網(wǎng)頁數(shù)據(jù)流從而達到獲取網(wǎng)頁中信息的目的,這種方法具有非??尚械墨@取方法。(3) 讀取數(shù)據(jù)如下代碼: while (line = rd.readLine() != null) Message lmsg; lmsg = new Message(); lmsg.obj = line; lmsg.what = 0; UR
53、L 類和 URLConnection 類(URL連接)在這個過程中都會充分發(fā)揮自己的作用來彼此共同協(xié)助提供與連接用戶所選 Web 站點的工作,具體內(nèi)容如下:當讀取其中一行代碼過后其中的文本就會寫入到一個TextView中,而在這當中,數(shù)據(jù)引入了創(chuàng)建一個消息對象并將這個消息對象發(fā)送到處理程序中的實例設(shè)計模式并不是直接指定給 TextView,這個過程體現(xiàn)除了UI被更新的一種比較可行有效的方式,此種情況下對可能需要同時運行多個線程的應(yīng)用程序而言更是一種可選的方式。在開發(fā)者看來以上這兩種權(quán)限在作用范圍和具體作用實現(xiàn)上還是具有不同的地方的,過程中很可能會導致異常的情況發(fā)生,我們應(yīng)該特別注意才會避免不必
54、要的錯誤來使代碼出現(xiàn)異常情況。 4.3.5 HTTP聯(lián)網(wǎng)實現(xiàn)聯(lián)網(wǎng)功能會在注冊登陸和分享功能中進行使用,這些過程是需要有聯(lián)網(wǎng)解析過程的,如果登錄成功就會返回成功,失敗就會彈出失敗提示;分享過程中如果成功就會成功提交,如果取消就會返回編輯界面。Android系統(tǒng)通過使用HttpClient完成Post和Get方式的聯(lián)網(wǎng)請求,采用HttpPost封裝post請求,HttpGet來封裝get請求,再使用HttpClient的excute方法將post或get請求進行發(fā)送,而后返回服務(wù)器的響應(yīng)數(shù)據(jù)再進行下面的操作。 1、 首先要將連接和讀取的超時時間進行設(shè)置,然后可以根據(jù)相關(guān)信息來新建我們要創(chuàng)建的Htt
55、pClient對象: 2、Get請求會將所有的信息在地址欄清楚明確地顯示出來,利用http協(xié)議和get請求獲取URL地址,采用明碼來傳送相關(guān)的信息并將其顯示出來,最后響應(yīng)到服務(wù)器獲取相關(guān)的信息來進行傳送: HttpGet get = new HttpGet(url); if (headers != null) response = httpClient.execute(get); 3、Post請求,HTTP實體通常情況下需要在上下文執(zhí)行的時候動態(tài)生成,利用post請求和http協(xié)議來進行信息的傳送。 HttpPost post = new HttpPost(KeySource.HOST_URL
56、_STR); 4.3.6 數(shù)據(jù)解析功能的實現(xiàn)數(shù)據(jù)解析是這款軟件的另一大重要的環(huán)節(jié),這在實現(xiàn)的過程中是非常重要的,它是實現(xiàn)網(wǎng)絡(luò)功能的重中之重,Android的解析有三種:分別是SAX,DOM和PULL。SAX和PULL有很大的相似之處,它們都是的解析方式是通過某個事件的驅(qū)動來運行出來的,不同之處是PULL方式讀xml時的回調(diào)方法返回的是數(shù)字,而SAX是返回到節(jié)點標簽來回調(diào)。第一:首先介紹一下SAX解析,下面將分析它的解析過程。解析過程如下:先寫一個類MyHandler,使它繼承DefaultHandler類,重寫里面的五個方法分別為:startDocument,startElement,characters,endElement和endDocument;然后寫一個解析類,可以按照下面的思路來進行編寫:(1)首先創(chuàng)建SAXParserFactory對象(2)根據(jù)SAXParserFactory.newSAXParser()方法返回一個SAXParser解析器(3)根據(jù)SAXParser解析器獲取事件源對象XMLReader(4)實例化一個DefaultHandler對象(5)連接事件源對象XMLReader到事件處理類DefaultHandler中(6)調(diào)用XMLReader的parse方法從輸入源中獲取到的xml數(shù)據(jù)(7)通過DefaultHandler返
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育培訓合作委托居間合同
- 品牌營銷推廣策略指南
- 技術(shù)產(chǎn)品銷售合同
- 華為勞動合同管理制度
- 遺傳基因技術(shù)服務(wù)合同
- 外貿(mào)實務(wù)操作作業(yè)指導書
- 倉儲配送合同
- 智能工廠建設(shè)與運營作業(yè)指導書
- 2025年來賓貨運從業(yè)資格證模擬考試題庫
- 2025年陜西貨運從業(yè)資格考試模擬考試題庫及答案大全
- 《社區(qū)康復》課件-第七章 腦癱患兒的社區(qū)康復實踐
- 城鄉(xiāng)環(huán)衛(wèi)一體化內(nèi)部管理制度
- 廣匯煤炭清潔煉化有限責任公司1000萬噸年煤炭分級提質(zhì)綜合利用項目變更環(huán)境影響報告書
- 小學數(shù)學六年級解方程練習300題及答案
- 大數(shù)據(jù)在化工行業(yè)中的應(yīng)用與創(chuàng)新
- 光伏十林業(yè)可行性報告
- 小學綜合實踐《我做環(huán)保宣傳員 保護環(huán)境人人有責》
- 鋼煤斗內(nèi)襯不銹鋼板施工工法
- 公路工程安全風險辨識與防控手冊
- 供應(yīng)商評估報告范本
- 職業(yè)生涯規(guī)劃-自我認知-價值觀
評論
0/150
提交評論