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

正文內(nèi)容

基于android系統(tǒng)的手機(jī)電子書閱讀器-wenkub.com

2025-05-28 08:57 本頁(yè)面
   

【正文】 最后會(huì)把此次畢業(yè)設(shè)計(jì)項(xiàng)目發(fā)布到 Google Android Market 上,并根據(jù)用戶的反饋意見(jiàn)和使用情況進(jìn)行 BUG 的修改和功能的優(yōu)化。并熟悉了 Android 平臺(tái)的相關(guān)特性,增強(qiáng)了自己的編碼能力、獨(dú)立動(dòng)手能力和邏輯思考能力,為畢業(yè)以后的工作打下良好的基礎(chǔ)。}具體的設(shè)計(jì)流程如下圖所示:39開(kāi)始讀取選中的電子書的 URL 地址計(jì)算電子書長(zhǎng)度根據(jù)設(shè)定的下載線程數(shù)將電子書文件分段是否為第一次下載讀取數(shù)據(jù)庫(kù)中信息是否繼續(xù)上次進(jìn)度下載連接網(wǎng)絡(luò)資源HttpURLConnection將下載信息保存進(jìn)數(shù)據(jù)庫(kù)啟動(dòng)多個(gè)線程下載電子書暫停 繼續(xù)下載完成清空數(shù)據(jù)庫(kù)信息圖 510 電子書閱讀器在線下載設(shè)計(jì)流程圖40本文,通過(guò)對(duì) Android 簡(jiǎn)要介紹,概述了其眾多的優(yōu)點(diǎn)和其對(duì)整個(gè)智能手機(jī)乃至手機(jī)軟件開(kāi)發(fā)行業(yè)的意義和重要性,闡明了其研究的重要性和必行性。int peleteSize = 0。return loadInfo。}DownloadInfo info = new DownloadInfo(threadcount 1,(threadcount 1) * range, fileSize 1, 0, urlstr)。for (int i = 0。} catch (Exception e) {()。} finally {try {()。 = length。// 更新數(shù)據(jù)庫(kù)中的下載信息(threadId, peleteSize, urlstr)。byte[] buffer = new byte[4096]。(Range, bytes=+ (startPos + peleteSize) + + endPos)。connection = (HttpURLConnection) ()。36部分代碼實(shí)現(xiàn)如下:① 下載電子書網(wǎng)絡(luò)資源HttpURLConnection connection = null。電子書閱讀設(shè)計(jì)的工作流程圖如下:開(kāi)始從數(shù)據(jù)庫(kù)中讀取選中電子書的信息根據(jù)電子書本地路徑讀取電子書內(nèi)容調(diào)用 onDraw()繪制閱讀界面翻頁(yè)閱讀是否第一次打開(kāi)是否 讀取數(shù)據(jù)庫(kù)中閱讀進(jìn)度或章節(jié)進(jìn)度設(shè)置 begin 值書簽閱讀設(shè)置閱讀屬性 章節(jié)閱讀 將章節(jié)信息存入數(shù)據(jù)庫(kù)退出,并將閱讀進(jìn)度,閱讀屬性存入數(shù)據(jù)庫(kù)圖 59 電子書閱讀器閱讀界面設(shè)計(jì)流程圖 在線書城斷點(diǎn)續(xù)傳下載的實(shí)現(xiàn)斷點(diǎn)續(xù)傳 [3]下載,顧名思義,那就是我們?cè)谝淮蜗螺d未結(jié)束時(shí),退出下載,第二次下載時(shí)會(huì)接著第一次下載的進(jìn)度繼續(xù)下載。FileBroswer 的設(shè)計(jì)流程如下圖所示:34開(kāi)始讀取當(dāng)前目錄下所有的的目錄和文件在 ListView 上顯示讀取的結(jié)果是否為目錄是否進(jìn)一步處理是否電子書是直接打開(kāi)電子書 加入書架是將電子書信息讀取,并保存進(jìn)數(shù)據(jù)庫(kù)提示否圖 58 FileBroswer 的設(shè)計(jì)流程圖 閱讀界面效果和功能的實(shí)現(xiàn)1)電子書內(nèi)容呈現(xiàn)首先讀取選中的電子書數(shù)據(jù)庫(kù)中的相關(guān)信息,根據(jù)電子書在本地的路徑讀取內(nèi)容,獲取一個(gè)內(nèi)容的MappedByteBuffer對(duì)象,代碼是MappedByteBuffer m_mbBuf = new RandomAccessFile(book_file,r).getChannel().map(EAD_ONLY, 0, lLen),這里使用新IO流MappedByteBuffer是因?yàn)槠鋵?duì)文件的處理效率遠(yuǎn)遠(yuǎn)的高于IO。 //背景顏色RGB 中的G值private int bookBgB。 //字體顏色 RGB中的R值private int bookFontG。//章節(jié)界面文本 Begin 值set、get 方法略……………………………..}建立書籍閱讀設(shè)置結(jié)構(gòu)體如下所示:public class BookReadSetting{private int bookId。 //書簽添加時(shí)文本 Begin 值set、get 方法略……………………………..}建立書籍章節(jié)結(jié)構(gòu)體如下所示:public class BookChapter{33private int bookId。 //書籍路徑private String bookMarkAddTime。 //最后閱讀進(jìn)度set、get 方法略……………………………..}建立書簽信息結(jié)構(gòu)體如下所示:public class BookMark{private int bookMarkId。 //最后打開(kāi)時(shí)間private int bookCategoryId。 //書名private String bookAuthor。程序中數(shù)據(jù)庫(kù)的類為 BookOpenHelper extend SQLiteOpenHelper 和BookContentProvider extend ContentProvider。為了能是 TabMenu 更像 Menu 的體驗(yàn),就摸擬了 Menu 顯示和消失的效果,效果的實(shí)現(xiàn)是通過(guò)動(dòng)畫來(lái)模擬的,主要是創(chuàng)建兩個(gè)動(dòng)畫的文件:Tabmenu 打開(kāi)時(shí)的動(dòng)畫 TabMenu 關(guān)閉時(shí)的動(dòng)畫 TabMenu 的顯示效果如圖 57 所示:30 圖 56 閱讀界面運(yùn)行截圖 圖 57 TabMenu 顯示效果截圖 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)在 Android 系統(tǒng)內(nèi)嵌了一個(gè)輕量級(jí)數(shù)據(jù)庫(kù) SQLiteDataBase,它占用的資源非常低、需要的內(nèi)存空間少、處理速度比較快和支持事務(wù)處理功能等。29由于閱讀是的功能比較多,如果僅僅使用 Android 系統(tǒng)自帶的 Menu 顯然已經(jīng)不能滿足界面友好的要求。關(guān)于列表項(xiàng)的呈現(xiàn)就和上文中書架界面的實(shí)現(xiàn)十分相似了,也是通過(guò)反轉(zhuǎn)布局文件來(lái)顯示項(xiàng)的視圖,反轉(zhuǎn)的布局文件分別是 和。在本軟件中的handle是一個(gè)ImageButton,而content這是在上文中提到的自定義的SD卡遍歷控件FileBrowser。SlidingDrawer隱藏屏外的內(nèi)容,并允許用戶通過(guò)handle以顯示隱藏內(nèi)容,這是一種類似抽屜開(kāi)關(guān)的那種效果。ListView 顯示內(nèi)容需要一個(gè)適配器,Android 自帶的一些適配器如ArrayAdapter、SimplaAdapter 等,但這些顯示比較單一,所以本軟件中自定義一個(gè)Adapter 繼承 BaseAdapter,通過(guò)對(duì)這個(gè)適配器的擴(kuò)展實(shí)現(xiàn)我們需要的效果,擴(kuò)展成一行能顯示多個(gè)內(nèi)容。RadioButton 的布局設(shè)置如下:其中重新自定義了 RadioButton 的樣式:style=style/main_tab主界面運(yùn)行的截圖如圖 51:26 圖 51 電子書閱讀器主界面運(yùn)行圖 主界面中子界面的實(shí)現(xiàn)主界面中實(shí)現(xiàn)三個(gè)界面的切換,分別是書架界面、書簽界面、書城界面,其中書架界面對(duì)應(yīng)的布局文件是 ,而書簽和書城界面并沒(méi)有與之相對(duì)應(yīng)的布局文件,是在代碼里面直接創(chuàng)建的。而使用自定義的控件——MainTab ,此控件從需求上必須能彌補(bǔ)系統(tǒng)控件 TabHost 的不足,且能易于用戶操作。 (3)控件的調(diào)用。在 Android 平臺(tái)中所有的控件都是繼承了 View 這個(gè)超類,所以在我們自定義一個(gè)控件的時(shí)候也需要繼承這個(gè)超類,但是有些情況下不需要繼承這個(gè)23超類而是繼承它的子類,如基于 Google Android 平臺(tái)的新聞閱讀器中,就繼承了這個(gè)超類的子類 ViewGroup,即: public class TabController extends ViewGroup{}。而不宜與直接存入數(shù)據(jù)庫(kù),所以我22選擇把電子書直接存放在文件系統(tǒng)中,而在書架中添加一行信息,字段 book_path 對(duì)于存放電子書的路徑。所以我就建立一張表來(lái)保存書籍章節(jié),根據(jù)字段 book_id 來(lái)區(qū)分章節(jié)是屬于哪本書的。以下就是數(shù)據(jù)庫(kù)的具體內(nèi)容:1) 電子書的基本信息需要一張專門的表來(lái)保存,包括書名、作者、路徑、添加時(shí)間、閱讀進(jìn)度等字段。支持批量刪除。閱讀設(shè)置:閱讀基本屬性的設(shè)置,關(guān)鍵字搜索,翻頁(yè)特效,分享等功能。電子閱讀器的體系結(jié)構(gòu)圖如圖 41 所示用戶界面層實(shí)體對(duì)象層業(yè)書架 書籍閱讀在線下載 在 線 閱書 書 讀架 城 設(shè) 置 Book Bookmark BookChapter BookSetting添加書籍 書簽設(shè)置16務(wù)邏輯層數(shù)據(jù)層圖 41電子閱讀器的體系結(jié)構(gòu)圖這些數(shù)據(jù)由業(yè)務(wù)邏輯層完成處理,提交給實(shí)體對(duì)象層,然后界面層會(huì)調(diào)用實(shí)體層相應(yīng)的數(shù)據(jù)呈現(xiàn)給用戶,而用戶的一些操作又會(huì)產(chǎn)生相應(yīng)的數(shù)據(jù)處理命令,這是業(yè)務(wù)邏輯層又會(huì)根據(jù)用戶的需求對(duì)數(shù)據(jù)層中的數(shù)據(jù)進(jìn)行相應(yīng)的處理,主要是參照 MVC 模式的體系結(jié)構(gòu)進(jìn)行設(shè)計(jì)的。143)重啟后選擇 Eclipse 菜單中的 Windows Preferences 在左側(cè)的 Android 項(xiàng)目中 SDK Location 中填入 Android SDK 解壓后的目錄,然后點(diǎn)擊 Apply。接著再去 站點(diǎn)下載 SDK 后安裝,下載 后解壓。此外,Android 的應(yīng)用程序開(kāi)發(fā)和 Java 開(kāi)發(fā)有較大區(qū)別的,所以還需要有 Google 提供的 Android SDK。在完成了一個(gè)系統(tǒng)的開(kāi)發(fā)后,就要將其發(fā)布,經(jīng)過(guò)廣大用戶的考驗(yàn),只有經(jīng)過(guò)這,才算是一個(gè)合格的產(chǎn)品。在任何一個(gè)軟件開(kāi)發(fā)行業(yè)中,無(wú)論是 J2EE、J2SE、J2ME 等等其他開(kāi)發(fā)中,測(cè)試時(shí)必不可少的一環(huán)。如何有限的空間里面更完美的展現(xiàn)出自己的獨(dú)特之處就顯得尤為重要了。如何提供用戶最好的用戶體驗(yàn)就值得每一個(gè)程序員的深思。作為一個(gè) 軟件,它必須有其存在的意義和價(jià)值。當(dāng)應(yīng)用程序需要使用存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),可以使用 Content Provider 來(lái)完成。本系統(tǒng)客戶端擴(kuò)展功能的音樂(lè)播放就是采用 Service 來(lái)進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的,使用戶可以邊聊天邊聽(tīng)音樂(lè)。BroadcastReceiver 既可以在 中注冊(cè),也可以在運(yùn)行時(shí)的代碼中使用 ()進(jìn)行注冊(cè)。這是非常有意思的,例如,當(dāng)電話呼入這個(gè)外部事件到來(lái)的時(shí)候,可以利用 BroadcastReceiver 進(jìn)行處理。間接 Intent,沒(méi)有指定 onent 屬性的 Intent,則需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在所有的可用組件中,確定滿足此 Intent 的組件。Intent 負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及的數(shù)據(jù)和附加數(shù)據(jù)進(jìn)行描述。③活動(dòng)的后臺(tái)生命期:從調(diào)用 onResume()開(kāi)始,到 onPause()被調(diào)用為止。②活動(dòng)的可見(jiàn)生命期:從調(diào)用 onStart()開(kāi)始,到 onStop()被調(diào)用為止。1)活動(dòng)生命周期活動(dòng)(Activity)在系統(tǒng)中以活動(dòng)棧的形式進(jìn)行管理。 Android應(yīng)用的構(gòu)成和工作機(jī)制對(duì)于一個(gè) Android 應(yīng)用程序來(lái)說(shuō),是由 Activity、 Intent Receiver 、Service、Content Provider 四部分組成,但并不是每一個(gè) Android 應(yīng)用程序都必須由這四部分組成。Java 編譯器(dx 工具)將注冊(cè)了的和運(yùn)行時(shí)用到的類編 格式。 Java程序運(yùn)行環(huán)境Android 的 Java 程序運(yùn)行環(huán)境包含一組 Java 核心函數(shù)庫(kù)及 Dalvik 虛擬機(jī),它們有效地優(yōu)化了 Java 程序的運(yùn)行過(guò)程。 應(yīng)用程序框架Android 應(yīng)用程序的開(kāi)發(fā)基于框架和組件。通過(guò)編譯基于框架的應(yīng)用程序可以降低開(kāi)發(fā)負(fù)荷。10)Android 系統(tǒng)硬件檢測(cè)。8)立體聲藍(lán)牙和免提電話。6)更快、更兼容的游覽器??梢酝ㄟ^(guò) Email、MMS 或直接上傳到 YouTube 等方式來(lái)分享視頻。73)用在線文件夾快速游覽數(shù)據(jù)。2)使用 Widget 實(shí)現(xiàn)桌面的個(gè)性化。Android 是一種完整的多任務(wù)環(huán)境,應(yīng)用程序可以在其中并行運(yùn)行。移動(dòng)設(shè)備上的應(yīng)用程序可以被替換或擴(kuò)展,即使是撥號(hào)程序或主屏幕這樣的核心組件。6) 應(yīng)用程序無(wú)界限。因此不會(huì)受到各種條條框框的阻撓,可想而知,會(huì)有多少新穎別致的軟件會(huì)誕生?! ?)豐富的硬件。  2)掙脫束縛。作為每個(gè)版本代表的甜點(diǎn)的尺寸越變?cè)酱螅缓蟀凑?26 個(gè)字母數(shù)序:紙杯蛋糕(Android ) ,甜甜圈(Android ) ,松餅(Android ) ,凍酸奶(Android ) ,姜餅(Android ) ,蜂巢(Android ) ,冰激凌三明治(Android ) ,根據(jù)最新消息新一代Android 版本(Android )將命名為果凍豆(Jelly Bean) 。出于這個(gè)目的,Android 將補(bǔ)充,而不會(huì)替代谷歌長(zhǎng)期以來(lái)奉行的移動(dòng)發(fā)展戰(zhàn)略:通過(guò)與全球各地的手機(jī)制造商和移動(dòng)運(yùn)營(yíng)商結(jié)成合作伙伴,開(kāi)發(fā)既有用又有吸引力的移動(dòng)服務(wù),并推廣這些產(chǎn)品。Google 通過(guò)與運(yùn)營(yíng)商、設(shè)備制造商、開(kāi)發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1