安卓txt閱讀器課程設計報告(共11頁)_第1頁
安卓txt閱讀器課程設計報告(共11頁)_第2頁
安卓txt閱讀器課程設計報告(共11頁)_第3頁
安卓txt閱讀器課程設計報告(共11頁)_第4頁
安卓txt閱讀器課程設計報告(共11頁)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上Android期末考核作業(yè)作品名稱: 酷閱txt閱讀器1.0.0 班級: 專業(yè): 軟件工程 姓名: 學號: 一、 軟件功能1、查找書功能:點擊菜單鍵,在彈出的SD卡列表中查找。2、字體:點擊菜單鍵,在彈出的菜單中選擇設置,可以更換字體大小和字體顏色。3、翻頁特效:用手指按住閱讀界面的右下角,向左下角拖動,能夠給用戶十分真實的閱讀紙質(zhì)書本的體驗。4、退出保存:退出軟件時能夠自動保存當前的閱讀進度,下一次打開同一個文檔時能夠自動跳到上次閱讀界面。二、 軟件特點酷閱txt閱讀器1.0.0能夠從SD卡中查找并打開txt文件,在打開txt文件的時候能夠作出判斷是否以前有打開這個

2、文件的記錄。如果有,則根據(jù)數(shù)據(jù)庫中存儲的閱讀進度信息自動跳到上次退出這個文檔時的閱讀進度,如果沒有閱讀記錄則從頭打開;同時閱讀器還有字體大小調(diào)整的功能,因為安卓手機屏幕的大小和分辨率千差萬別,字體的顯示效果也千差萬別,用戶可以根據(jù)屏幕調(diào)整字體的大??;閱讀器最大的亮點就是翻頁特效功能,用手指按住閱讀界面的右下角,向左下角拖動,能夠給用戶十分真實的閱讀紙質(zhì)書本的體驗。還有一個很重要的功能就是在用戶退出軟件時,能夠自動的保存當前的閱讀進度,當下次打開同一份文檔時能夠自動跳到上次閱讀的地方,而不用從頭開始。三、 概要設計 1. 需求規(guī)定安卓系統(tǒng)已近成為當今主流的手機操作系統(tǒng),可以為

3、用戶帶來良好的移動互聯(lián)網(wǎng)體驗?,F(xiàn)在越來越多人通過電子設備來閱讀書籍,手機閱讀軟件應該給用戶一個很自然的很人性化的操作體驗,如類似如閱讀紙質(zhì)書籍的翻書效果。本軟件可以在Android智能手機上安裝運行進行閱讀txt電子書,可以提供查找、調(diào)整字體大小、退出保存記錄等功能。2.開發(fā)運行環(huán)境本軟件使用Eclipse和Android SDK開發(fā),可以在Android2.0版本及其以上版本的手機上安裝和運行。3. 功能和模塊的劃分基于安卓的txt閱讀器查找書籍更改字體閱讀翻頁退出并保存進度用戶查找書籍的時序圖:查找書籍時候的截圖:設置字體大小界面截圖其他功能描述略四、 功能的具體實現(xiàn) 

4、1.主控制類ReaderActivity類的實現(xiàn) ReaderActivity類是主要控制程序運行的類,實現(xiàn)了各個界面的有序切換,各個按鈕和對話框的監(jiān)聽事件,加載了程序中用到的相關資源,有效地控制了程序的運行,其一些主要方法如下: onCreate方法是程序運行時,進入主界面錢調(diào)用的方法在此方法中對程序用到的相關變量進行賦值,并為相關類創(chuàng)建對象,以方便調(diào)用;onKeyDown方法是重寫父類的onKeyDown方法,當按下不同的鍵時,根據(jù)按鍵值的不同產(chǎn)生不同的動作,此方法設計返回鍵和Menu鍵;sendMsessage方法是各個界面相互跳轉(zhuǎn)時和不同線程之間傳遞消息是調(diào)用的方法;isWhichTi

5、me方法用以判斷是否為第一次打開程序,如果是,則程序中的變量值為默認值,如果不是,第一次打開,則獲取上一次打開時設置的值;saveCurrentData方法是當退出程序時,將當前信息存入數(shù)據(jù)庫。2.加載文本的工具類TextLoadUtil類的實現(xiàn) TextLoadUtil類通過用BufferedReader處理流對FileReader的封裝,從指定位置開始加載一定長度的文本到內(nèi)存,替換掉字符串中的回車符后,返回這段字符串。3.翻書閱讀界面ReaderView類的實現(xiàn) ReaderView類主要負責自適應屏幕、繪制閱讀器的主界面、實現(xiàn)鍵盤和屏幕的觸控事件以及實現(xiàn)翻頁功能。類中定義了三個枚舉類型n

6、oTurning、left、right,分別表示不翻頁、向前翻、向后翻,用于繪制翻頁效果是動作的判斷。SurfaceCreated方法主要負責成員變量的初始化工作,例如初始化繪制界面中的圖片,調(diào)用LoadBitmap方法將原圖加載經(jīng)內(nèi)存,再調(diào)用scaleToFit方法將原圖的大小調(diào)節(jié)成與屏幕大小自適應的圖片,還有就是創(chuàng)建當前記錄ReadRecord的對象,并將第一頁的信息放入hashMap中。onDraw方法負責標題、頁面圖片的繪制和翻頁的繪制,翻動畫的大致思想就是用路徑圈住一定的范圍,再繪制該范圍內(nèi)對應的相關文字圖片,要先平移后旋轉(zhuǎn),才能將圖片繪制到指定位置。onTouchEvent方法主要

7、負責處理屏幕觸控事件,當屏幕為按下動作時,判斷是否有翻頁動作的發(fā)生。drawPage方法負責根據(jù)閱讀記錄對象ReadRecord繪制頁面,方法中定義了start頁面左上角字符在整本書中的位置,并為start賦值,通過工具類中的方法獲取將繪制在頁面上的文字字符串,并獲取其總長度。還有一個將字符串繪制在頁面上的算法,其基本思想就是字符間距用TEXT_SPACE_BETWEEN_EN表示,字符從頁面的左上角開始繪制,繪制完一個字符后,currX(繪制到x的位置)向后移動TEXT_SPACE_BETWEEN_EN長度,當currX移動到頁面的右邊緣位置或遇到換行符時,currX清零currRow(行數(shù)

8、)加1,并繼續(xù)繪制下一行,直到頁面繪制滿為止。4.找書功能的實現(xiàn) 在開發(fā)具體的功能之前,要先對菜單按鈕添加監(jiān)聽器。然后再實現(xiàn)找書功能的方法searchBook(),該方法主要負責根據(jù)當前路徑獲得對應文件數(shù)組,并將數(shù)組中的所有文件加入到文件列表中,其代碼如下:執(zhí)行此方法時跳轉(zhuǎn)到xml文件中定義的界面,并獲取其中列表及按鈕對象的代碼,獲取對象以便對各個對象進行相應操作;由根目錄中路徑獲取根目錄下的所有文件,并為回到根目錄按鈕添加了監(jiān)聽,當按鈕被按下時調(diào)用將獲取的文件加入到列表中的intoListView方法;為回到上一級目錄的按鈕添加監(jiān)聽,如果已經(jīng)到根目錄了,彈出Toast提示用戶已經(jīng)到根目錄了,否則獲取當前目錄的父目錄中所有文件,并加入到文件列表中。5.字體設置的實現(xiàn)字體大小對話框通過Java代碼為對話框中控件的擺放形式設置布局,字體大小對話框的監(jiān)聽事件,實現(xiàn)代碼如下:當單擊小號、中號、大號字體后,如果當前字體與要變換的字體相同,則不發(fā)生變化,否則將字體的大小和中英文間距重新賦值,選中某一項后,重新繪制當前的界面。6.數(shù)據(jù)庫SQLDBUtil類(記錄上次閱讀信息)的實現(xiàn)SQLDBUtil類的主要功能是建立上次閱讀記錄表,以及

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論