freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android系統(tǒng)的手機電子書閱讀器(參考版)

2025-06-03 08:57本頁面
  

【正文】 41 致 謝本課題的設(shè)計和論文撰寫過程中,我的指導(dǎo)老師給于了極大的幫助。希望在電子書閱讀器退出下一版本時能夠加入支持此格式閱讀的功能。在軟件開發(fā)的過程中發(fā)現(xiàn)現(xiàn)在在 Android 手機中十分流行的格式——EPub,它的文字內(nèi)容可以根據(jù)閱讀設(shè)備的特性,以最適于閱讀的方式顯示。通過完成 Android 手機電子書閱讀器項目的開發(fā)了解并熟悉了軟件開發(fā)的相關(guān)流程,特別是在手機開發(fā)這方面。然后,為了個好的了解和學(xué)習(xí) Android 應(yīng)用程序開發(fā)的系統(tǒng)邏輯結(jié)構(gòu)、體系結(jié)構(gòu)、設(shè)計流程選擇了在Google Android Market 上十分受用戶歡迎的電子書閱讀器作為畢業(yè)設(shè)計項目,并根據(jù)此項目自身的特點和 Android 平臺的特點,選取了相應(yīng)的開發(fā)工具,并對其做了簡單的介紹。}return new LoadInfo(size, peleteSize, urlstr)。for (DownloadInfo info : infos) {peleteSize += ()。int size = 0。} else {// 得到數(shù)據(jù)庫中已有的urlstr的下載器的具體信息infos = (urlstr)。// 創(chuàng)建一個LoadInfo 對象記載下載器的具體信息38LoadInfo loadInfo = new LoadInfo(fileSize, 0, urlstr)。(info)。(info)。 i threadcount 1。infos = new ArrayListDownloadInfo()。}}② 將文件分段,并啟動多線程下載的實現(xiàn):if (isFirst(urlstr)) {//第一次下載init()。()。()。}}} catch (Exception e) {()。(message)。 = urlstr。// 用消息將下載信息傳給進度條,對進度條進行更新Message message = ()。peleteSize += length。int length = 1。// 將要下載的文件寫到保存在保存路徑下的文件中is = ()。randomAccessFile = new RandomAccessFile(localfile, rwd)。// 設(shè)置范圍,格式為Range :bytes xy。(5000)。try {URL url = new URL(urlstr)。RandomAccessFile randomAccessFile = null。主要的目標(biāo)就是:① 文件分段同時下載;② 記錄下載進度,可分時下載。那么怎么記錄第一次下載的數(shù)據(jù)呢,這里肯定也是需要用到數(shù)據(jù)庫的了。通過屏幕高度和字體大小的比值確定每頁能夠呈現(xiàn)多少行35內(nèi)容,然后調(diào)用onDraw()繪制。內(nèi)容的呈現(xiàn)是將內(nèi)容文本通過自定義的onDraw()方法畫在畫布Canva上,在這個()方法、() 方法、()方法。//文本上下邊距set、get 方法略……………………………..} 遍歷 SD卡控件 FileBrowser的實現(xiàn)如果我們需要從手機 SD 卡中把電子書添加到書架中,這時我們就需要一個 View 來可視化化的顯示 SD 卡中的目錄和文件結(jié)構(gòu),并且對是電子書的文件具有可添加到書架的操作,所以本軟件專門的編寫了一個遍歷 SD 卡中文件的控件FileBroswer。 //背景顏色RGB 中的B值private int bookMarginWidth。 //背景顏色RGB 中的R值private int bookBgG。 //字體顏色 RGB中的G值private int bookFontB。//閱讀背景private int bookFontR。 //書籍IDprivate int bookFontsize。 //章節(jié)名private String bookChapterBeginPosition。 //書籍IDprivate String bookName。 //書簽描述private int bookMarkBeginPosition。 //書簽添加時間private String bookMarkProgress。 //書名private String bookPath。 //書簽IDprivate int bookId。 //書籍大小private String bookProgress。 //所屬類別IDprivate String bookCategroyName。 //添加時間private String bookOpenTime。 //作者private String bookPath。 //書籍IDprivate String bookName。Android 提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫創(chuàng)建方式,繼承 SQLiteOpenHelper,實現(xiàn) onCreate和 onUpgrade 兩個方法,有個好處就是便于數(shù)據(jù)庫版本的升級,連接數(shù)據(jù)庫的算法如下:31ContentProvider 提供數(shù)據(jù)庫操作方法和為其它應(yīng)用程序提供訪問此數(shù)據(jù)庫的途徑,具體的實現(xiàn)如下: 系統(tǒng)功能的實現(xiàn) 數(shù)據(jù)實體化為了能夠更好的調(diào)用數(shù)據(jù)庫中的數(shù)據(jù),在本課題中設(shè)計了一個實體對象層,將數(shù)據(jù)實體化。通過 ()方法直接對數(shù)據(jù)庫進行操作。在電子書閱讀器中,主要創(chuàng)建了四張表,分別是 book_info 表、book_mark 表、book_chapter 表、book_read_setting 表。GridView 的顯示也是需要適配器來實現(xiàn)的,這里考慮到菜單的功能需要添加一些自定義的信息,所以這里也是采用了繼承 BaseAdapter 自定義了一個適配器來綁定。在電子書閱讀器中自定義了一個菜單控件 TabMenu,實現(xiàn)分欄顯示菜單功能選項。閱讀界面運行效果如圖 56 所示。書簽和書城界面運行效果如圖 54 和圖 55 所示: 圖 54 書架界面運行效果截圖 圖 55 書城界面運行效果截圖3) 閱讀界面的實現(xiàn)閱讀界面的實現(xiàn)主要是自定義了一個閱讀翻頁控件,界面的主題是很多張張畫布Canva,電子書的內(nèi)容是通過 ()畫在 Canva 上,而通過自定義的翻頁動畫連接上下畫布的切換,這樣就形成了翻頁效果。這兩個界面在整體布局上沒有使用布局文件,而是這兩個界面的 Activity 繼承的是 ListActivity,通過 ()方法得到 ListView 的實例。FileBrowser的實現(xiàn)會在下文的功能實現(xiàn)中做詳細(xì)的說明。SlidingDrawer運行效果如圖 53所示。它可以垂直或水平滑動,它有倆個View組成,其一是可以拖動的handle,其二是隱藏內(nèi)容的View。本程序的思路是點擊其中某一行,跳轉(zhuǎn)到另一個Activity,即閱讀界面,書架界面運行效果如圖 52所示。由于 BaseAdapter 是一個抽象類,我們需要實現(xiàn)里面的 getView方法返回一個 view,即視圖,視圖可以顯示在 Activity 上,每個 view 對應(yīng)列表中的一項,view 的內(nèi)容主要是通過反轉(zhuǎn)來獲得,書架中 view 反轉(zhuǎn)的布局文件是27,再通過 getCount 方法返回列表顯示的項的數(shù)量,這樣就可以看到我們想要的界面。ListView 是比較常用的組件,它以列表的形式展示具體內(nèi)容,并能根據(jù)數(shù)據(jù)的長度自適應(yīng)顯示。1) 書架界面的實現(xiàn)。下面是該布局文件的結(jié)構(gòu):25這是一個自定義的 TabHost 布局RadiGroup .../ 中有三個RadioButton .../取代了 TabHost 中原有的TabWidget .../,設(shè)置 TabWidget 的屬性android:visibility=gone,即是讓 TabWdiget 消失。Android 的每一個可視化界面,都有其唯一的布局配置文件,該文件中有各種布局的方式,和各種資源文件如圖像,文字,顏色引用等,程序在運行時可以通過代碼對各個配置文件進行讀取,這樣可以形成不同的可視化界面和絢麗的效果。如,Android 手機電子書閱讀器中,調(diào)用遍歷 SD 卡控件的方式如下:android:id=+id/filebrowser android:layout_width=fill_parentandroid:layout_height=fill_parent mobile:folderImage=drawable/cartoon_foldermobile:extName1=jpg mobile:fileImage1=drawable/jpgmobile:otherFileImage=drawable/other/ 主界面的實現(xiàn)24在 Android 中給出了非常多的絢麗的控件,但是在某些時候需要的實現(xiàn)某些功能的時候,系統(tǒng)的控件顯得有些笨拙和難以控制,如,在本系統(tǒng)中,本打算使用系統(tǒng)自帶的控件 TabHost 顯示主界面,但是現(xiàn)在的過程中,發(fā)現(xiàn),該控件的每一個 Tab 之間有一定距離的間隔,且每一個 Tab 上面的圖片很難控制其顯示的方式和顯示的效果,因此該綜合美觀和操作性的基礎(chǔ)上,決定不用該控件來顯示主界面。在 Android 系統(tǒng)中,控件的調(diào)用非常的方便,如系統(tǒng)控件TextView,其調(diào)用方式如下:TextViewandroid:id=+id/tvBookNameCoverandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=string/hello android:background=drawable/cover_txtandroid:gravity=centerandroid:paddingLeft=10dp/但是當(dāng)使用自定義控件的時候,其調(diào)用方式就與其有很大的區(qū)別。要實現(xiàn)一個控件,讓其能產(chǎn)生特定的效果,我們需要自己來重寫或自定義控件的事件響應(yīng),如在電子書閱讀器中主界面遍歷 SD 卡界面就重寫了:public void onFileItemClick(String fileName){………………}public void onDirItemClick(String path){………………}等方法,在方法中實現(xiàn)所需要的功能,這樣一個自定義的控件就調(diào)用好了。基于此我們就得到了我們要實現(xiàn)的那個控件的最基本的那部分——界面的實現(xiàn)。1)界面的實現(xiàn)。具具體的現(xiàn)在信息表(download_info 表)如表 46 所示:表 46 電子書閱讀器的在線下載信息表數(shù)據(jù)庫中表的關(guān)系如圖 44:圖 44 電子書閱讀器中表的關(guān)系圖5 系統(tǒng)的實現(xiàn) 系統(tǒng)的界面設(shè)計 自定義控件的實現(xiàn)的研究在 Android 移動平臺中,自定義控件都大致可以分成三部分來走。那么怎么記錄第一次下載的數(shù)據(jù)呢,這里肯定也是需要用到數(shù)據(jù)庫的了,下載的書籍內(nèi)容有可能很大。具體的書籍章節(jié)表(book_chapter 表)如表 44 所示:表 44 電子書閱讀器的書籍表4)不同的用戶可能閱讀習(xí)慣會有所不同 ,所以就還需要一張保存閱讀設(shè)置的表來管理用戶在閱讀是設(shè)置的一些屬性,包括字體大小、字體顏色、閱讀背景等字段。具體的書簽表(book_mark 表)如表 43:反饋意見在線下載電子書21表 43 電子書閱讀器的書簽表3)書籍章節(jié)表的設(shè)計思路和書簽表的設(shè)計思路是十分相似的,也是不能去為每本書都建立一張表,不利于后期的維護。具體的書籍信息表(book_info 表)如表 42:表 42 電子書閱讀器的書籍基本信息表2)關(guān)于書簽表的設(shè)計,原則上是為每本書都建立一個書簽表能夠更加好的區(qū)分書簽的所屬,但是如果后期書架中的電子書非常多,這樣就大大的加大了后期數(shù)據(jù)庫的維護。針對這些結(jié)構(gòu)和功能需要設(shè)計專門的數(shù)據(jù)庫,以便于系統(tǒng)的、有規(guī)律的管理軟件的數(shù)據(jù)操作。書籍書簽 書簽詳細(xì)信息 顯示書簽的詳細(xì)信息(書名、書簽進度、書簽備注、書簽添加時間)在線書城 書城 下載 從互聯(lián)網(wǎng)上下載電子書(斷點續(xù)傳)字體大小 調(diào)節(jié)閱讀界面字體的大小閱讀界面 設(shè)置閱讀界面的背景圖片亮度調(diào)節(jié) 調(diào)節(jié)手機屏幕的亮度翻頁特效 讓閱讀有書籍翻頁的效果自動翻頁 開始翻頁/停止翻頁,自動翻頁每隔 10s 翻一頁跳轉(zhuǎn) 快速跳轉(zhuǎn)定位到指定的閱讀進度搜索 根據(jù)關(guān)鍵字搜索其在文章中的位置,并列表呈現(xiàn)所有符合查詢條件的結(jié)果上一章 跳轉(zhuǎn)到當(dāng)前章的上一章常用下一章 跳轉(zhuǎn)到當(dāng)前頁的下一章自定義主題 根據(jù)用戶拖動得到的 RGB 顏色值設(shè)置閱讀界面的字體顏色和背景顏色有聲閱讀章節(jié)目錄 提取當(dāng)前電子書的全部章節(jié),加入數(shù)據(jù)庫,并且同時呈現(xiàn)在章節(jié)列表對話框中文章編碼閱讀設(shè)置工具書簽 根據(jù)當(dāng)前閱讀進度添加書簽19設(shè)置 設(shè)置閱讀界面的一些基本屬性(字體大小、字體顏色、閱讀背景、文本左右與邊界的距離、上下與邊界的距離)分享 把文章中感興趣的片段和好友分享(短信)返回 返回書架表 41 系統(tǒng)模塊功能詳細(xì)說明表 系統(tǒng)的用例圖電子書閱讀器主要的用戶只有一類人,就是普通讀者。書架詳細(xì)信息 顯示選擇電子書的詳細(xì)信息(書名,格式,作者,添加時間,大小,最后瀏覽進度,本地文件路徑)本地書架退出 退出 關(guān)閉閱讀器打開 根據(jù)保存的書簽記錄打開電子書,并定位到書簽位置刪除 將不再需要的書簽從數(shù)據(jù)庫中刪除,當(dāng)刪除電子書
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1