




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Android 手機電子書閱讀器的設計與實現摘要在這個信息化的時代,計算機越來越精致,手機也越來越智能化,所以,一個較好的應用軟件在很大程度上能提升一個手機的品牌。而在智能手機上安裝一個擁有豐富功能支持的電子書閱讀器,更是我們刻不容緩的事情。本設計采用Android 平臺,根據對手機電子書閱讀器的客戶需求分析和技術可行性分析,經過總體設計和詳細設計編碼測試等階段,完成了電子書閱讀器軟件的設計。不僅實現了電子書閱讀器最基本的閱讀功能,而且還為用戶提供了豐富的功能支持,包括找書,書簽,自動翻頁以及閱讀界面設置的操作。而本次設計最大的特點則是通過屏幕觸控實現了移動時的翻頁特效。經過不斷的測試與完善,
2、電子書閱讀器功能穩定,并且在真機上對其進行了測試與驗證,基本上達到了用戶的需求標準。關鍵詞: Android ;電子書閱讀器;屏幕觸控;翻頁;目 錄第1章 前言 . . 11.1 課題提出的背景目的及意義 . 11.2 設計思路及研究方法 . 2第2章 需求分析 . . 22.1 軟件的基本功能要求 . 32.2系統架構 . . 42.3 開發環境 . 4第3章 軟件設計 . . 53.1 總體軟件結構設計 . 53.2 接口設計 . 73.3 數據庫設計 . 73.4 軟件設計模型 . 103.5 代碼設計 . 113.6 軟件維護設計 . 11第4 章 系統功能模塊的設計與實現 . . 1
3、24.1 關鍵技術 . 124.2 歡迎界面的實現 . 134.3 主控制類的實現 . 134.4工具類的設計 . . 134.5 閱讀界面的實現 . 144.6 找書功能的實現 . 154.7 書簽功能的實現 . 164.8 設置字體大小功能的實現 . 174.9 更換背景圖片以及設置字體顏色功能的實現 . 184.10 音樂播放功能的實現 . 18第5章 系統測試 . . 185.1 歡迎界面 . 195.2 用戶閱讀界面 . 19畢業設計總結 . . 28 參考文獻 . . 錯誤!未定義書簽。附錄一 核心代碼 . . 29附錄二 畢業設計外文翻譯(英文) . . 錯誤!未定義書簽。 附錄
4、三 畢業設計外文翻譯(中文) . . 錯誤!未定義書簽。致謝 . . 31第1章 前言1.1 課題提出的背景目的及意義在這個信息化的時代, IT 業已經成為世界發展的主流,我們對信息技術的依賴遠遠超過了對我們自己的依賴,計算機和手機已經成為我們日常生活中不可缺少的獲得信息的渠道。正因為如此,各種各樣的軟件層出不窮,我們的生活也因為各種各樣的軟件變的更有滋有味。不缺乏娛樂性,也不缺乏教育意義,讓我們從這些軟件中受益匪淺,使我們看到了相比以前的巨大進步。同時,隨著科技的發展,計算機越來越精致,手機也越來越智能化,所以我們的依賴性也越來越大,越來越離不開這些給我們提供日常信息的工具。手機也已不再僅僅
5、是簡單的人與人通話的工具,而是在很大程度上成為了我們獲取信息的一個更好的渠道。一個好的軟件,能夠標志一個手機品牌的地位。所以,開發一款好的手機軟件是相當必要的。以前我們看看雜志,小說都要去圖書館借閱,而且時間有限,很不方便;而現在是在電腦上或者手機上看雜志,看小說,文檔。以此看來,一個好的手機閱讀器軟件的開發是相當有必要的。此次設計的目的很明顯,就是給予閱讀者更大的便利性,閱讀者不用再到處拿著一本厚厚的書籍,大大減少了讀者的負擔,只需要下載一本txt 格式的電子書,放在sd 卡里邊,就是人們的生活百科。當然,有些下載不來的資料,還是需要翻閱書籍的。計算機改變了人類的工作方式,互聯網創造著全新的
6、生活空間,我們接受信息的方式也正在發生深刻的質變。由于現在閱讀器的越來越普及,我們每天清晨讀報的習慣也在面對大資訊量的新聞網站時漸漸淡化,面對印刷出版物,我們仍視之為文化傳承的載體,但不可抵擋的,是無紙化電子閱讀時代的悄然臨近。我們現在信息化的生活,充斥著信息的傳遞,但是,越來越多的人依賴于幾乎朝夕相伴的手機。雖然,現在也出現了供人們閱讀使用的電子書,但是這些電子書的功能很少很簡單,僅僅是簡簡單單的供人們一行一行的閱覽文字信息,或者是僅僅添加一個添加書簽的小功能,根本遠遠不能滿足人們的需求。于是,一個功能良好的全面的電子書閱讀器越來越成為廣大用戶的追求。本軟件是基于android 系統智能手機
7、開發的一款電子書閱讀器軟件,它有一個閱讀主界面,主要用來閱讀文檔。其優越性表現在實現了從SD 卡讀取文檔或從服務器端下載文檔,自動翻頁,添加書簽,選擇書簽,清空書簽,設置背景音樂,設置背景圖片,設置字體顏色,設置字體大小等功能。此外,給用戶更清晰方便的界面,也是本軟件的出發點之一。1.2 設計思路及研究方法閱讀器的設計流程主要是按照軟件設計的一般流程:需求分析、概要設計、詳細設計、測試與維護的基本流程來設計開發的。首先,從整體分析軟件功能,將功能模塊化;然后對每個模塊進行調試。最后對各個模塊進行系統集成。本系統在整體框架研究方法采用的是問卷調查法和觀察研究法。而在總體設計上采用的是結構化方法,
8、在局部底層開發上為便于交流采用快速原型法。問卷調查法也稱問卷法,它是調查者運用統一設計的問卷向被選取的調查對象了解情況或征詢意見的調查方法。觀察研究法指根據既定的研究目的,對現象或行為做有計劃與有系統的觀察,并依觀察的記錄對現象或行為做客觀性的描述和解釋。結構化系統的設計方法是在結構化程序設計思想基礎上發展起來的,它的基本涵義是一個系統由層次化的程序模塊構成,每一個模塊只有一個入口和一個出口,每一個模塊只歸其上一級模塊調用,并有模塊連接的準則和構造模塊的標準,而且用系統結構圖來表達系統的結構,盡可能用最優的方式將系統內各部分組織起來。第2章 需求分析2.1 軟件的基本功能要求經過以上問卷調查和
9、觀察研究方法,在現行業務流程和數據分析的基礎上基本上確定了系統的功能,設計也基本上達到了目標。根據軟件設計的步驟,需求分析是軟件設計成功的基礎,也是必不可少的步驟。同時,也對軟件的設計提出了具體的要求。在做足了充分的調查研究之后,基本可以確定軟件的功能界面如下:(1)剛打開軟件時的歡迎動畫界面。(2)在沒有閱讀記錄情況下打開軟件時進入的軟件說明界面。 (3)在主界面下單擊“菜單”按鈕后彈出的歡迎主菜單界面。 (4)找書選擇界面,用來選擇找書的途徑。(5)網絡下載列表界面,用來列出服務器端可供下載的文檔。(6)下載完成提示界面,用戶從服務器端完成指定文檔下載任務時顯示的界面。 (7)已存在要下載
10、文件提示界面,當用戶指定要下載的文檔在SD 卡中已存在時顯示的界面。(8)SD 卡文件列表界面,列出SD 卡中存在的所有資料。(9)閱讀界面,用來閱讀文檔的主界面,是整個閱讀器設計核心部分。 (10)書簽功能界面,用來選擇與書簽相關的具體操作。(11)添加書簽功能界面,將當前閱讀到的位置以書簽名和書頁號的形式存至書簽表, 方便下次閱讀。(12)選擇書簽功能界面,通過選擇書簽記錄跳轉至想要閱讀的位置。 (13)刪除書簽功能界面,再不想要該條書簽記錄的情況下實現刪除操作。 (14)自動翻頁功能界面,實現不同時間間隔自動翻頁的效果。 (15)設置界面,用來選擇對閱讀界面不同的設置。(16)背景音樂界
11、面,可在閱讀的同時欣賞音樂,更大限度的提升。 (17)背景圖片界面,用來設置不同的閱讀界面風格,使閱讀更為個性化。 (18)字體顏色界面,用來設置不同的閱讀字體顏色,提升用戶的視覺體驗。 (19)字體大小界面,通過設置字體大小來滿足實際應用中的多重需求。基本說明如下:本系統是一個電子書閱讀器,主要包含一個主界面,用來實現閱讀的功能。在閱讀界面時,點擊menu ,手機底部會出現四個選項:找書、書簽、自動翻頁、設置。點擊找書選項會有兩種操作可供選擇,分別是在SD 卡中找書和通過網絡下載;點擊書簽選項會有三種操作可供選擇,分別為添加書簽、選擇書簽和清空書簽,其中長按選擇書簽列表中的某條書簽記錄也可達
12、到刪除該條記錄的目的;點擊自動翻頁選項會有四種操作可供選擇,分別為每隔30秒、40秒、50秒自動翻頁和停止自動翻頁;點擊設置選項會有四種操作可供選擇,分別為設置背景音樂、設置背景圖片、設置字體顏色和設置字體大小,為此用戶可通過自己的喜好來設置不同閱讀界面的風格,并且可以選擇自己喜愛的音樂作為背景音樂,在閱讀的同時欣賞。2.2系統架構本設計總體邏輯結構層次劃分如圖2.1所示。 圖2.1 功能結構圖2.3 開發環境數據庫由于本設計和數據庫密切相關,但是對數據庫的要求不高,因此可用Android 系統本身自帶的Sqlite 數據庫。Android SDK與Eclipse 開發的插件ADT由于本設計是
13、基于Android 系統的,而Android 開發環境的搭建是基于Eclipse 的,因此需要下載Android SDK與Eclipse 開發的插件ADT 。 服務器由于本設計需要用服務器來為其提供下載服務,而且對服務器的要求不高,因此在設計時用Tomcat 作服務器。第3章 軟件設計3.1 總體軟件結構設計打開電子書閱讀器之后,軟件會先查看上次閱讀的最后記錄,以此作為根據來進行判斷從而跳轉至相應的閱讀界面。然后用戶就可在閱讀界面下通過選擇menu 來執行想要的操作:找書、書簽、自動翻頁、設置。點擊找書選項會有兩種操作可供選擇,分別是在SD 卡中找書和通過網絡下載;點擊書簽選項會有三種操作可供
14、選擇,分別為添加書簽、選擇書簽和清空書簽,其中長按選擇書簽列表中的某條書簽記錄也可達到刪除該條記錄的目的;點擊自動翻頁選項會有四種操作可供選擇,分別為每隔30秒、40秒、50秒自動翻頁和停止自動翻頁;點擊設置選項會有四種操作可供選擇,分別為設置背景音樂、設置背景圖片、設置字體顏色和設置字體大小,為此用戶可通過自己的喜好來設置不同閱讀界面的風格,并且可以選擇自己喜愛的音樂作為背景音樂,在閱讀的同時欣賞。根據各個模塊的不同功能,對本設計進行了層次結構的劃分。在Eclipse 下創建了一個名為Test 的工程,工程的結構圖如圖3.1: 圖3.1 軟件工程結構圖該功能包是通過Android SDK自動
15、生成的,主要包括以下內容:(1)src 源代碼目錄:該目錄存放Android 應用程序所有的源代碼。該目錄項有不同的包,包中對應開發的源代碼,開發過程中的主要精力都集中在開發src 目錄下內容。(2)gen 文件夾目錄:該目錄存放了Eclipse 的ADT 插件自動生成的R.java 文件。實際上R.java 定義了一個R 類,它包含了應用中用戶界面、圖像、字符串等各種資源與之相對應的資源編號(id )。這些資源編號都是系統自動生成的,即有一資源對象,系統就為此在R 類中生成相應資源編號,好比一本字典。(3)Res 資源目錄:該目錄定義了drawable 、layout 及values 3個目
16、錄。a. drawable目錄:該目錄下有drawable-hdpi ,drawable-ldpi ,drawable-mdpi3個文件夾,分別用來存放不同分辨率的圖片資源,用于不同分辨率 的手機的開發,可以通過Resource.getDrawable(id獲得該資源。b. layout 目錄:該目錄下包含了所有使用XML 格式的界面描述文件。主要用于 表述應用程序的用戶界面布局,也用于描述用戶界面和接口組件。7c. values目錄:該目錄包含了使用XML 格式的參數描述文件,也可以在此添加一些額外的資源,如字符串、顏色、樣式和數組等。主要用于在代碼中通過R 類來調用它們,而不直接使用,這樣
17、可將代碼和資源分開管理,便于維護。除了以上文件夾外,還用一個AndroidManifest.xml 文件,該文件是系統的控制文件,告訴系統如何處理創建的所有頂層項目,尤其是Activity ,凡是需要用到的組件都要在此注冊。同時該文件也是所有Android 應用程序都需要的文件,其描述了程序包的全局變量,包括公開的應用程序組件和每個組件的實現類,什么樣的數據可以操作,在什么地方可以運行等。在這個文件中最重要的一個內容就是Intent 過濾器,這些過濾器描述了何時、何種情況下讓Activity 啟動。當一個Activity (或操作系統)想要執行一個動作,它將創建一個Intent 對象。該對象包
18、含了很多描述符,描述了想做的操作,像處理數據,數據的類型,以及一些其他的信息。Android 將Intent 對象中的所有公開的Intent 過濾器比較,找到一個最能恰當處理請求的數據和動作的Activity 。3.2 接口設計在用戶界面部分,根據需求分析結果,用戶需要一個友善界面。在界面設計上,應做到簡單明了,易于操作,并且要注意到界面的布局,應突出的顯示重要以及出錯信息。在界面設計部分,本系統按照Microsoft 公司的用戶界面設計標準,為用戶提供友好、方便、直觀、簡潔的操作環境。系統在功能模塊的設計上,以“高內聚、低耦合”為設計目標。內部接口方面,各模塊之間采用函數調用、參數傳遞、返回
19、值的方式進行信息傳遞。具體參數的結構將在下面數據結構設計的內容中說明。接口傳遞的信息將是以數據結構封裝的數據、參數傳遞或返回值的形式在各模塊間傳遞。3.3 數據庫設計(1)閱讀記錄表(閱讀記錄的ID ,書的路徑,閱讀記錄數據) 8(2)書簽表(書簽的ID ,書簽對應的閱讀記錄的ID ,書簽名,書頁)(3)上次閱讀記錄表(上次閱讀記錄的ID ,書的路徑,上次閱讀到的書頁,上次閱讀時的字體)數據庫表的設計如下:圖3.2 數據庫結構圖本數據庫用的是一個小型數據庫sqlite3,在數據庫中創建了三個表格。即BookRecord 、BookMark 和LastTimePage ,分別用來存放閱讀記錄的數
20、據、書簽的數據和上次的閱讀記錄數據。具體內容如表3-1、表3-2和表3-3所示:表3-1 閱讀記錄表 表3-2 書簽表 表3-3 上次閱讀記錄表9 表名:BookRecord表中字段名稱:rid, path, data.說明:用varchar 類型存儲path ,blob 類型存儲相應的路徑下的閱讀過程,并規定rid 為閱讀記錄表的主鍵。 表名:BookMark表中字段名稱:mid, ridfk, bmname, page.說明:創建書簽mid 為integer 類型主鍵,定義書簽名字bmname 為varchar 類型,書頁號page 為integer 類型的書簽表。 表名: LastTim
21、ePage表中字段名稱:lid, path, page, fontsize.說明:創建書簽lid 為integer 型主鍵,定義路徑path 為varchar 類型,書頁號page 為integer類型,字體大小為integer 類型的上次閱讀記錄表。數據字典是物理數據庫的具體體現。表3-4 BookRecord數據字典 表3-5 BookMark數據字典10表3-6 LastTimePage數據字典 3.4 軟件設計模型建立系統數據模型的主要工具是實體關聯圖,即E-R 圖。 E-R 圖的圖形符號約定如下表:表3-7 E-R圖圖形符號圖形符號說明表示實體集合 表示屬性表示關系集 將屬性連接到實
22、體集或將實體集連接到聯系集圖3.3 存儲閱讀記錄的E-R 圖 11圖3.4 存儲書簽的E-R 圖 圖 3.5 存儲上次閱讀記錄的E-R 圖3.5 代碼設計代碼是按使用的目的,表示識別、分類、排序數據的數字、文字或符號。識別是將文件中存儲數據區別開,或將文件中的數據按組區別開,識別主要用數據更新與查找。分類是根據數據編碼中的定義對數據分類,用于檢索數據或統計分析。排序是根據編碼規則,按代碼中規定的次序排序,用于輸出與生成報表。3.6 軟件維護設計采用MVC 設計模式,將UI 層和業務邏輯層分離開來,采用針對接口編程的方式,降低了代碼之間的耦合度,便于軟件的升級和程序性能的優化。第4 章 系統功能
23、模塊的設計與實現4.1 關鍵技術本系統是以java 為編程語言,從接口到功能,靈活多變。主要運用的是Activity 之間的相互跳轉,然后利用Intent 實現多個程序同時運行的效果。運行中如果某個Activity 的畫面被另一個Activity 所取代,則這個Activity 停止。本系統通過把View 類與XML (可擴展標記語言)將用戶界面放置在視圖窗口,然后注冊事件來完成相應的功能。例如,當視圖要處理用戶的點擊事件的時候,android 就要向框架注冊一個OnClickListener 等。本系統中觸發事件都是通過這種來實現的。 Java 語言是一種簡單易用,面向對象的,可移植的語言。
24、它具有很多的優越性和特點,比如:平臺無關性,安全性,面向對象,健壯性等等。本系統就是在android 平臺上使用java 語言完成的系統。Android 的四大組件是支持android 應用程序顯示,跳轉,服務和事件的重要工具,它們主要是:Activity (活動),Intent (意圖),Service (服務),ContentProvider (內容提供器)。Activity 是一個用戶的界面基類,屬于UI 。一個Activity 就是一個類,每個Activity 類都需要繼承Activity 基類,并與其他控件結合使用。Intent 實現Activity 、service 等之間的跳轉和
25、數據傳輸。Service 是后臺服務,為用戶提供數據支持。ContentProvider 負責數據的存儲和讀取。在android 中,軟件UI 通常使用xml 技術設計,而xml 中控年的位置和狀態則離不開布局的使用,android 中常用的布局有5種,分別是:AbsoluteLayout 、LinearLayout 、RelativeLayout 、FrameLayout 、TableLayout ,由于布局的使用,并且布局之間可以互相嵌套,使得android 軟件UI 的設計變得非常靈活,即使是一些非常復雜的界面設計,只要合理的使用布局,也會使開發變得很容易。服務器的架設:(3)在txt
26、文件夾下創建文本文件txt_list.txt。(4)在txt_list.txt下寫入內容。(5)根據txt_list.txt的內容,創建文本。(8)打開瀏覽器,在地址欄輸入http:/localhost:8088/,效果如圖4.2所示:4.2 歡迎界面的實現本模塊主要完成閱讀器歡迎界面的漸變效果顯示,在進入程序界面時首先調用。該功能的實現主要是通過繪制黑色矩形,然后對其進行平面貼圖,并通過不斷的更改圖片的透明值來實現的。4.3 主控制類的實現ReaderActivity 類是主要控制程序運行的類,實現了各個界面的有序切換,各個按鈕和對話框的監聽事件,加載了程序中用到的相關資源,有效地控制了程序
27、的運行。(1)onCreate 方法是程序運行時,進入主界面前調用的方法,在此方法中對程序中用到的相關變量進行賦值,并為相關類創建對象,以方便調用。(2)onKeyDownf 方法是重寫父類的onKeyDown 方法,當按下不同的鍵時,此方法設計返回鍵(4號鍵)和Menu 鍵(82號鍵),并且本設計中支持屏幕觸控事件和鍵盤監聽事件。(3)onCreateOptionsMenu 方法表示的是程序運行時,用戶按下鍵盤上的Menu 鍵后,顯示的找書、書簽、自動翻頁和設置的按鈕選項,當用戶按下不同的鍵后,彈出相應的對話框。(4)sendMessage 方法表示各個界面相互跳轉時調用的方法和不同線程之間
28、傳遞消息的方法。(5)isWhichTime 方法用以判斷是否為第一次打開程序,如果是,則程序中的變量值為默認值;若不是第一次打開,則獲取上一次打開時設置的值。(6) saveCurrentData 和savePreference 方法表示當程序退出、換書和第一次打開一本書時都要想數據庫中BookRecord 表中插入數據,第一次打開一本書時,向數據庫中插入數據是因為,如果表中不存在當前書的信息,則無法存書簽。4.4工具類的設計(1)Constant 類存放了整個設計過程中,大部分類經常用到的常量值,如字體大小、 字體顏色、屏幕的寬和高等。將這些常量值放在一起,不但方便了設計,而且方便管理。(
29、2)加載文本的工具類TextLoadUtil 的設計主要是為文本的讀入提供方法。4.5 閱讀界面的實現ReaderView 類主要負責自適應屏、繪制閱讀器的主界面、實現鍵盤和屏幕的觸控事件以及實現翻頁功能。(1)surfaceCreated 方法主要負責成員變量的初始化工作。(2)onDraw 方法負責標題、廣告條、左右頁面等圖片的繪制。其中廣告條的繪制是動態的,在廣告條線程中值需要更改圖片數據下標志值NUM 。(3)onTouchEvent 方法負責處理屏幕觸控事件,屏幕觸控事件為移動是翻頁特效的實現。(4)drawPage 方法負責根據閱讀記錄對象ReadRecord 繪制左右兩頁面。 圖
30、4.3 從用戶進入軟件到閱讀界面時的流程圖 圖4.4 用戶在閱讀界面時的操作流程圖當用戶進行閱讀界面的時候,首先閱讀控制模塊會根據用戶之前閱讀到的位置來確定載入電子書文本的起始位置,然后會根據手機終端屏幕大小和字體大小來確定該頁應該顯示多少文字。在獲取文字長度之后,會讀取相應長度的字符并以此為基礎生成左右相鄰兩頁內容的bitmap 圖片。用戶在閱讀的時候可以觸摸屏幕的不同位置進行不同操作,左下角是往前翻頁,右下角是往后翻頁。4.6 找書功能的實現找書功能分為在SDCARD 中和在網絡中找書。(1)在SDCARD 中找書用戶可以將已有的txt 格式的書放在SDCARD 中,通過本閱讀器的在SDC
31、ARD 中找書的功能將書加載進閱讀器進行閱讀,具體步驟如下:按下Menu 鍵,在主界面中彈出的選項中選擇找書,彈出找書對話框,選中SDCARD ,即可根據當前路徑獲得對應文件數組,并將數組中的所有文件加入到文件列表中,然后再為文件列表添加監聽,從而實現在點擊某一文件時跳轉至對應頁面的功能。(2)在網絡中找書本閱讀器不僅提供了在本地找書的功能,而且也支持在網絡中找書。具體步驟如下: 當單擊在網絡中找書的按鈕時,調用downTxt 方法下載txt 文檔。 圖4.5 用戶找書時的操作流程圖4.7 書簽功能的實現(1)添加書簽功能的實現在本設計的書簽功能中有很多漂亮的Dialog ,這些Dialog
32、是通過xml 文件自己布局的或者是通過Java 代碼自定義實現的。其中styles.xml 文件設置了Dialog 的背景圖片和標題格式,是設置對話框屬性的文件。在完成了輸入書簽對話框所需要繼承的類、布局文件和對話框屬性的文件之后,創建了書簽輸入對話框,并通過onPrepareDialog 方法為自定義的輸入書簽對話框中的按鈕添加了監聽。(2)選擇書簽功能的實現選擇書簽對話框不同于添加書簽對話框,是用Java 代碼實現的。具體的實現步驟如下:a. 在數據庫中取出所有書簽的名字和頁數的索引值,并分別放入兩個數組tempname 和temppage 中,用來放入書簽列表中顯示。b. 用Java 代
33、碼編寫列表對話框,并且為ListView 添加內容適配器,將在數據庫中取出的書簽名稱和其對應的頁數的索引加入到ListView 中。c. 當單擊選擇書簽對話框中的某一項時,得到當前的頁數,根據頁數查找HashMap ,找到相應的BookMark 類的對象,從而知道要跳轉到的頁的索引值。d. 當長時間按住選擇書簽對話框中的某一項時,彈出“是否刪除這條記錄”的對話框,如果單擊“確定”按鈕,則會刪除這條記錄,單擊“取消”按鈕則不會刪除記錄。 圖4.6 書簽功能操作流程圖4.8 設置字體大小功能的實現字體大小對話框與選擇書簽對話框的設計基本相同,也是通過Java 代碼為對話框中控件的擺放形式設置布局。
34、當單擊小號、中號、大號字體后,如果當前字體與要變換的字體相同,則不發生變化,否則將字體的大小和中英文間距重新賦值,然后重新繪制當前界面。 字體大小變化后書簽和HashMap 的更新:(1)updataBookMarkAndHashMap 方法負責字體大小變化后,更新書簽和HashMap 。(2)drawVirtualPage 方法是字體大小變化后,書簽和HashMap 更新過程中,虛擬繪制主界面中每一頁信息,并且為下一頁的Left_Start的值賦值的方法。4.9 更換背景圖片以及設置字體顏色功能的實現(1)更換背景圖片功能的實現a. 為了使對話框看起來更美觀,為對話框中的按鈕設置背景圖,同時
35、背景圖與要設置背景一致,為用戶提供參考。 b. 為按鈕添加監聽,使單擊按鈕后,可以實現更換閱讀內容背景的圖片。c. 設置要更換的圖片,并規定圖片加載的屬性,用到了PicLoadUtil 這個工具類的方法來實現圖片自適應。d. 重新繪制左右兩側背景圖片上的文字。(2)設置字體顏色功能的實現a. 為了使對話框看起來更美觀,為對話框中的按鈕設置背景圖,同時背景圖與要 設置字體顏色一致,為用戶提供參考。b. 為按鈕添加監聽,使單擊按鈕后,可以實現重新設置閱讀界面字體顏色。 c. 完成字體顏色設置,返回到當前閱讀界面繼續閱讀。4.10 音樂播放功能的實現(1)完成自定義對話框的設計。(2)將曲目導入Li
36、stView ,為其添加監聽,同時實現控制音樂播放與停止的功能。 (3)當音樂播放器為空或正在播放曲目二,則更改播放曲目一,在為其設置播放模式后,播放曲目,否則是否播放器,最終返回閱讀主界面。第5章 系統測試5.1 歡迎界面 圖5.1 歡迎動畫界面1 圖5.2 歡迎動畫界面25.2 用戶閱讀界面 圖5.3 軟件說明界面單擊“菜單”按鈕彈出主菜單,效果如圖5.4所示。 圖5.4 閱讀界面的menu 功能在主菜單中單擊“找書”按鈕進入找書選擇界面,效果如圖5.5所示。 圖5.5 找書界面在找書選擇界面,單擊“網絡”按鈕,進入網絡下載列表,效果如圖5.6所示。 圖5.6 網絡下載列表界面選擇某一文本
37、并單擊,下載完畢后彈出提示信息,效果如圖5.7所示。 圖5.7 下載完成提示信息如果下載文件已存在,彈出提示界面,效果如圖5.8所示。 圖5.8 存在要下載文件提示界面在找書選擇界面,單擊“SDCARD ”按鈕,進入SDCARD 文件列表,效果如圖5.9所示。 圖5.9 SDCARD文件列表界面在SDCARD 文件列表中選中某文本后,單擊進入閱讀界面,效果如圖5.10所示。 圖5.10 閱讀界面在主菜單中單擊“書簽”按鈕進入書簽功能界面,效果如圖5.11所示。 圖5.11 書簽功能界面在書簽功能界面中單擊“添加書簽”按鈕進入添加書簽界面,效果如圖5.12所示。 圖5.12 添加書簽界面在書簽功
38、能界面中單擊“選擇書簽”按鈕進入選擇書簽界面,效果如圖5.13所示。 圖5.13 選擇書簽界面在書簽功能界面單擊“清空書簽”按鈕進入清空書簽界面,效果如圖5.14所示。 圖5.14 刪除書簽界面在主菜單中單擊“自動翻頁”按鈕進入自動翻頁界面,效果如圖5.15所示。 圖5.15 自動翻頁界面在主菜單中單擊“設置”按鈕進入設置界面,效果如圖5.16所示。 圖5.16 設置界面在設置界面中單擊“背景音樂”按鈕進入背景音樂界面,效果如圖5.17所示。 圖5.17 背景音樂界面在設置界面中單擊“背景圖片”按鈕進入背景圖片界面,效果如圖5.18所示。 圖5.18 背景圖片界面在設置界面中單擊“字體顏色”按
39、鈕進入字體顏色界面,效果如圖5.19所示。 圖5.19 字體顏色界面在設置界面單擊“字體大小”按鈕進入字體大小界面,效果如圖5.20所示。 圖5.20 字體大小界面畢業設計總結經過測試,本設計的所有模塊均可正常運行,并且達到了預期的效果。與此同時本設計還存在著很多的不足。在此,我對其特點和不足作些闡述。特點:本設計以java 為開發語言、sqlite3數據庫作為后臺支撐,很好的解決了實際開發中遇到的技術問題。本設計的界面特點:界面友好、易于操作維護,采用了大量的人機交互式操作,能很好的完成閱讀的全過程,使瀏覽者一進入就可以獨立的進行自己需要的操作,一目了然。本設計實現了從SDCARD 找書或從
40、服務器端下載新書,添加書簽,選擇書簽,清空所有書簽,清空某一條書簽,自動翻頁,設置背景音樂、背景圖片,更改字體顏色、字體大小,加載廣告信息的功能,能夠讓讀者很順利的達到閱讀的目的,且不會影響閱讀的進度,在很大程度上給予了極大的方便。通過最終的運行,可以達到省時的目的,方便,快捷,仿真翻頁,記錄閱讀者最后一次閱讀的信息并在下次打開時自動初始化到上次閱讀到的界面是本設計最大的特點。不足:在本設計中只有將服務器端的新書下載至SDCARD 中才可供讀者閱讀,未能實現在線閱讀的功能,不能充分利用資源;SDCARD 中存儲的文件名只能以英文的形式存在,從而使得在SDCARD 找書界面中的書名只能以英文形式出現。由于水平有限,難免有不足之處;設計中也還存在不完善之處,有待改進。附錄一 核心代碼建立BookRecord 表的SQL 語句:static SQLiteDatabase sld ;public static void createOrOpenDatabase( trysld =SQLiteDatabase.openDatabase(null , SQLiteDatabase. OPEN_READWRITE|SQLiteDatabase
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 白酒委托加工合同協議
- 監控施工合同補充協議
- 2025至2030年中國空調滴水管數據監測研究報告
- 2025至2030年中國石英電加熱器數據監測研究報告
- 2025至2030年中國電子式時間繼電器數據監測研究報告
- 2025至2030年中國球型合金門吸數據監測研究報告
- 2025至2030年中國特殊熱切封邊機數據監測研究報告
- 2025至2030年中國煤氣爐油壓微機控制裝置數據監測研究報告
- 2025至2030年中國濃硝酸數據監測研究報告
- 2025至2030年中國氣壓式活動鉗數據監測研究報告
- 榮威汽車內飾環保材料研發與應用
- SCA涂膠機內部培訓資料課件
- 美妝護膚直播培訓課件
- 乖寶寵物行業分析
- 少年中國說英文版
- 流動人口計劃生育服務管理信息系統培訓
- 招投標培訓教程課件
- (完整版)【鋼琴譜】大魚鋼琴譜
- 項目經理績效考核制度
- 個人車位轉讓協議:免修版模板范本
- 酒廠從業人員【安全教育培訓】課件
評論
0/150
提交評論