




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于安卓平臺的文本閱讀器系統(tǒng)的設(shè)計摘要近10年來,隨著當代社會信息化發(fā)展,移動智能終端以及普及于千家萬戶,手機技術(shù)亦發(fā)展得十分完善,已然成為人們離不開的必備工具。當今社會人們對信息的需求越來越大,傳統(tǒng)的紙質(zhì)書籍已經(jīng)滿足不了我們,通過手機這個媒介,人們可以進行更好的文本閱讀。本次基于安卓平臺的文本閱讀器的開發(fā)采用的是Java語言與SQLite數(shù)據(jù)庫來完成的,采用了Android平臺進行開發(fā)。本文結(jié)合了自身使用閱讀器的體驗,以及市場上較為好用的編輯器作為研究對象,從數(shù)據(jù)庫設(shè)計,功能實現(xiàn)測試,以及可行性分析等等多個方面進行研究,確定出本系統(tǒng)的主要功能,并且完善開發(fā)流程達到最終能夠上線的目的。關(guān)鍵字:Android;Java;SQLite;文本閱讀器目錄1引言 引言1.1背景在快速發(fā)展的中國,經(jīng)濟發(fā)生了突飛猛進的進步,科技發(fā)展也有了極具的提高,IT行業(yè)也逐漸成為了時代主流,手機也越來越離不開人們的視野,它不僅僅充當著通話的角色,更是人們快速獲取信息的主要途徑。在這個時代里各大軟件也爭先恐后的出現(xiàn),以此來提高人們對手機的興致。在手機中有一個好的軟件可以使人們在其交流經(jīng)驗,分享日常,提高人們的自信度,讓人們的人生活能夠更加的美好。因此,研制一款手機閱讀軟件是提高人們生活水平的基石。在信息還不夠發(fā)達的時代,人們獲取外界信息的渠道基本通過報社,郵件等方式,看雜志,文獻,書刊等只能通過圖書館借閱,或購買的方式進行,這樣速度慢不說還不利于存放。而現(xiàn)如今人們可通過手機等媒介等隨時隨地的來進行獲取外界信息。綜上所述,一款手機閱讀軟件是我們手機里面用來查看,翻閱書籍必不可少的。由于當今社會Android手機使用保有量是移動端里最高的,普及度以及技術(shù)的成熟度各方面綜合考慮,所以我們將Android用作為本次項目的開發(fā)平臺。相比IOS的非開源和單一的使用,以Android為基礎(chǔ)設(shè)計文本閱讀器軟件將會是一個更好的市場條件[1]。1.2開發(fā)目的和意義在當下時期,大家的日常生活速率變的越來越快,信息化管理也變得越來越關(guān)鍵。一般書籍閱覽不可以融入大家巨大復雜的數(shù)據(jù)要求。智能機在人們的日常生活中占據(jù)主要影響力。已變成應用手機看小說的新平臺,閱讀者們想要根據(jù)移動設(shè)備開啟電子書籍,得到更快的閱覽實際效果。設(shè)計的目的是顯而易見地。這樣做可以使讀者在閱讀時更加方便和快捷。讀者再也不用隨身攜帶紙質(zhì)書籍進行閱讀,這樣可以減少讀者負擔。當讀者想要閱讀時只需要在手機中下載一部txt文件格式的電子書便可以進行閱讀,使閱讀更具有方便性。關(guān)于需要閱讀專利性書籍時,還需要讀者到書店進行購買后閱讀[2]。當今社會上的有關(guān)文本閱讀器類的軟件層次不齊,但是他們都有一個共同的特點,就是廣告、彈窗以及過于復雜的功能,不便于每個年齡層的人群進行閱讀。使得用戶使用非常不便,也影響了用戶閱讀的心情,降低了用戶體驗。本次文本閱讀器的開發(fā)立志開發(fā)一款無廣告、無彈窗、簡單、便捷的一款軟件,一切以用戶角度出發(fā),簡單易學,提高用戶體驗。1.3主要工作本文所研發(fā)的基于Android的文字閱讀工具,包括:第一,從本課題的角度入手,對目前的應用環(huán)境進行了探討,并對目前的應用前景進行了展望。它的用途是怎樣的,以便決定一個體系的大體的作用。其次,參考了有關(guān)的文獻和書籍,通過與海量的數(shù)據(jù)進行比較,并對目前市面上大部分的相關(guān)軟件的性能進行了比較。并對該技術(shù)進行了研究,并找到了在Android上進行文字閱讀的方法,以便更好地理解它們的優(yōu)點和不足,進而決定該技術(shù)的發(fā)展。在對其進行了進一步的功能細分后,利用圖形軟件對其進行了詳細的功能模塊設(shè)計,以便于更清楚地顯示其功能,并給出了相應的用戶界面和E-R圖表[3]。接下來,就是編寫程序了,按照軟件的不同,編寫出了一個完整的Android文字閱讀程序。最終,完成了該軟件的編寫,然后進行了調(diào)試。在進行軟件的調(diào)試過程中,要對整個軟件的各項性能進行一次測試,看看能否完成全部的工作,并發(fā)現(xiàn)BUG。并且一一糾正。1.4本文研究內(nèi)容在此基礎(chǔ)上,論文主要從六個方面來論述此系統(tǒng)。第一章為引言,介紹了此系統(tǒng)實現(xiàn)的目標和意義。還有在Android上開發(fā)文本閱讀程序的過程和本文的主要內(nèi)容。第二節(jié)主要是針對目前所采用的技術(shù),如Java、Android等,重點闡述了這些技術(shù)在軟件設(shè)計中的優(yōu)勢與不足。第三節(jié)對Android平臺上的文字閱讀進行了全面的剖析,包括可行性、功能、性能、用例等方面的研究,并給出了UML用例圖表,并對整個系統(tǒng)進行了描述。第四節(jié)主要是對該體系的設(shè)計,闡述了該體系架構(gòu)的重要意義,以及基于安卓平臺的文本閱讀器的各個結(jié)構(gòu)的劃分,要通過功能結(jié)構(gòu)圖對系統(tǒng)的整體結(jié)構(gòu)做出繪制。第五部分為系統(tǒng)的詳細設(shè)計與實現(xiàn),第五節(jié)是本論文的具體設(shè)計和實施,本節(jié)以實際運行中的圖像為例,介紹了本論文的研究結(jié)果。第六節(jié)為系統(tǒng)的測試,在闡述了測試的重要意義之后,對系統(tǒng)的一些性能進行了總結(jié)。
2關(guān)鍵技術(shù)2.1Android簡介在許多開放源碼操作系統(tǒng)中,安卓是世界上最流行、最受喜愛的操作系統(tǒng),自2008安卓1.0推出以來,安卓系統(tǒng)便風靡全國[4]。2013-2018年是Android發(fā)展最為迅猛的階段,用戶界面、續(xù)航能力、存儲能力、更新速度、安全性能等方面都有了長足的進步,并且在更新和更新中,總體結(jié)構(gòu)也得以維持。安卓是一種可以方便地進行軟體開發(fā)的開源項目,因為它可以讓開發(fā)者使用熟悉的、方便的框架和平臺,從而方便地實現(xiàn)這些問題;第二,它可以讓所有的第三方軟件都是自由的,而且是公開的。這樣一來,系統(tǒng)就能大大的減少成本,擺脫了網(wǎng)絡的限制[5]。2.2Java技術(shù)介紹Java是一種大學里最常用的一種語言,幾乎所有的高校都需要學習Java。只要是學Java的人,都會覺得Java很簡單,哪怕是剛剛學會了計算機的人,也能輕松掌握這種技術(shù),因為這種技術(shù)在一開始就很好掌握。更容易運用。因為這是一種非?;A(chǔ)的東西,所以很多人都會選擇這種語言,這也是為什么這款語言會變得更加普及的原因[6]。Java是一門面向?qū)ο蟮木幊陶Z言的代表。在軟件的研發(fā)中,對編譯時的資料進行校驗,可以有效地提高編程人員的編譯效率,減少后期Bug的產(chǎn)生。Java在執(zhí)行時,可以讓編程人員按照自己的需要修改操作系統(tǒng),并且可以對處理器進行更新,而不會對Java造成任何的干擾。造成錯誤。由于Java沒有對平臺的約束,使得用戶可以使用多個不同的應用程序。Java比C++更容易被用戶接受,因為它比C++更容易且不需要操作指針等復雜操作。在進行開發(fā)時,因為該語言是開放源代碼,限制較少,所以可以在很多通用的平臺上使用。所以在許多地方都能滿足軟件的發(fā)展需要。利用Java實現(xiàn)Android手機和Web后臺的開發(fā),具有很高的開發(fā)速度。而且這個模型符合人類的思考方式,所以Java的程序設(shè)計很有條理,易于理解,所以它更易于被開發(fā)人員所理解。Java最大的優(yōu)點就是不受平臺約束,Java虛擬機器的誕生,讓Java在程序設(shè)計時更加方便。甚至在改變或更新處理器時,也可以保持程式正常運作,并且沒有任何差錯。當使用Java程序時,Java虛擬機上JVM可以對其進行自動的解釋,并且可以在沒有任何差錯的情況下一直運行到結(jié)束[7]。2.3AndroidStudioAndroidStudio是由谷歌在2013年在I/O大會上,推出的開發(fā)環(huán)境——AndroidStudio,并對開發(fā)者控制臺進行了改進。使得運用此開發(fā)環(huán)境能夠完全勝任安卓全家桶,比如智能佩戴設(shè)備,手機手表等等,并且所有階段要用到的插件或者功能它都能滿足[8]。2.4系統(tǒng)開發(fā)環(huán)境操作系統(tǒng):Windows11;JDK環(huán)境:JavaDevelopmentKitVersion=1.8;開發(fā)工具:AndroidStudio;Android-softwareDevelopment-Kit-Version=5.1.1;Gradle:gradle-4.4;開發(fā)語言:Java;數(shù)據(jù)庫:SQLite。
3系統(tǒng)分析3.1可行性分析一般而言,每個系統(tǒng)在開發(fā)初期都要做一個可行性的評估,這是為了讓開發(fā)者們更好地了解到一個可以進行下去的必要因素,從而防止在以后的發(fā)展中出現(xiàn)一些問題。同時,在對該項目進行可行性研究的基礎(chǔ)上,對該項目的各項結(jié)構(gòu)進行進一步的了解和了解,讓系統(tǒng)的發(fā)展更加順暢[9]。本次基于安卓平臺的文本閱讀器,結(jié)合Java與安卓兩種技術(shù)語言。采用此技術(shù)的原因是因為本人對Java技術(shù)研究較多,并且安卓技術(shù)和Java有很多互通性,且成本為0,能夠為讓開發(fā)者省去很多配置環(huán)境,篩選技術(shù)上的時間,更專注于系統(tǒng)業(yè)務流程設(shè)計。在開發(fā)過程中,必須從技術(shù)發(fā)展和開發(fā)的環(huán)境需求兩方面來考量其經(jīng)濟性。在Android系統(tǒng)中,所有的文字閱讀技術(shù)都可以自由地被利用,并且全部都是開放源碼。一旦研發(fā)成功,用戶就可以在電腦上或者是電話上進行操作,不需要太多的設(shè)備,只需要普通的電腦和電話就可以了。所以,以Android為基礎(chǔ)的文字閱讀程序,可以很好地解決我們想要在手機上閱讀圖書這個問題。本次開發(fā)的文本閱讀器,界面頗為簡潔,并且沒有過的修飾,當使用者按下按鈕時,會自動彈出一個提示。該軟件反應迅速沒有卡頓,并且結(jié)構(gòu)清晰明了,可用性較強,用戶體驗感較好。開發(fā)一款完整的操作軟件,必須要有一定的時限,才能做出詳細的規(guī)劃。這款以Android為基礎(chǔ)的文字閱讀工具,將會在2個多月后正式上線。系統(tǒng)的建立,包括需求分析、文獻調(diào)查、系統(tǒng)結(jié)構(gòu)設(shè)計、編寫程序和測試等幾個步驟,經(jīng)過對系統(tǒng)的設(shè)計和開發(fā),最終確定了在Android系統(tǒng)中使用的文字讀取程序能夠在預定的時限內(nèi)實現(xiàn)。所以,從時間上來說,這款以Android為基礎(chǔ)的文字閱讀程序完全可以實現(xiàn)。經(jīng)過以上幾個角度的考慮,基于安卓平臺的文本閱讀器的開發(fā)是可行的,所有條件的符合開發(fā)需求。3.2系統(tǒng)功能分析UML是一種通用的模型語言,通常情況下,UML可以對整個軟件開發(fā)的流程進行可視性的模型分析,使整個軟件的結(jié)構(gòu)更具層次性。這款軟件不僅可以讓開發(fā)者更加清晰地看到系統(tǒng)中的每一個細節(jié),還可以為開發(fā)者指引一個大致的發(fā)展趨勢,讓開發(fā)的前期工作不至于浪費。所以,在軟件的早期階段,應用UML進行模型的分析是非常有益的UML,從事物的本質(zhì)出發(fā),從不同的角度進行剖析從而建立出關(guān)系實體模型,讓開發(fā)人員能更清楚的知道軟件開發(fā)過程中系統(tǒng)的各個形態(tài),通過UML建立出系統(tǒng)需求模型圖。這可以使得我們的開發(fā)思路更加清晰,便于后續(xù)的功能拓展以及維護,還有測試角度切入點更加準確。下面介紹了UML在Android平臺上的UML模型?;诎沧科脚_的文本閱讀器用戶UML用例圖3.1所示:圖3.1用戶用例圖3.3系統(tǒng)流程分析系統(tǒng)流程主要是對文本閱讀器的每一個流程、關(guān)系都進行的描述,記錄系統(tǒng)與各個模塊間的關(guān)系與結(jié)構(gòu),通過采用系統(tǒng)流程圖來進行描述管理業(yè)務邏輯,并進行制定具體實施方案與說明。主業(yè)務流程:啟動程序,進入主界面;進入主界面,顯示書架,可對書架書籍進行操作;查找界面,可對本地txt文件進行查找;閱讀界面,可進行文本閱讀;設(shè)置界面,可對文本字體,閱讀進度,編碼進行設(shè)置;目錄跳轉(zhuǎn)、書簽,可進行查看當前目錄以及跳轉(zhuǎn)目錄,添加書簽;主要功能為對閱讀過的書籍按照閱讀的時間順序來進行先后保存。業(yè)務流程圖如圖3.2所示:圖3.2主業(yè)務流程圖查找圖書功能流程如下所示:在線查找:進入系統(tǒng)主界面,點擊查找,進入本地查找;跳轉(zhuǎn)到搜索手機SDcard目錄界面,SDcard里的txt文件會被篩選出來,也可以直接點擊文件夾,進入文件所在位置進行查找,然后添加到文本閱讀器中,然后頁面會跳轉(zhuǎn)到書架;添加到書架后系統(tǒng)會根據(jù)圖書詳細信息插入到數(shù)據(jù)庫當中,并且根據(jù)ID對數(shù)據(jù)進行更新。查找流程圖如圖3.3所示:圖3.3查找流程圖設(shè)置流程操作:進入系統(tǒng)主頁面后,點擊設(shè)置按鈕,會彈出設(shè)置功能,讓用戶可以對文字,編碼格式進行選擇,選擇過后系統(tǒng)就會對此次修改進行保存。設(shè)置流程圖如圖3.4所示:圖3.4設(shè)置流程圖創(chuàng)建書簽操作:進入閱讀界面,輕點屏幕中間,點擊書簽設(shè)置;選擇添加書簽,輸入要添加的內(nèi)容,點擊確定,書簽添加成功,并保存到數(shù)據(jù)庫中。書簽流程如圖3.5所示:圖3.5書簽流程圖3.4系統(tǒng)性能分析便于操作:在Android平臺上編寫文字閱讀器,主要是為了適應讀者的脫機閱讀需要,以及提高系統(tǒng)的管理工作的有效性。它是為了方便人類的日常工作需求,所以它必須使用方便、簡單、易用、貼近現(xiàn)實的應用環(huán)境,讓用戶一開始就可以使用。利用該體系的所有功能進行體驗??蓴U充:在Android平臺上開發(fā)的文字閱讀程序主要是為了提高系統(tǒng)的管理能力和使用體驗,所以對其進行修改時,要求具有很高的可擴充能力。在確保不會對原有的功能模塊產(chǎn)生任何影響的前提下,為開發(fā)人員提供了必要的幫助。穩(wěn)定:這款基于Android的文字閱讀工具,必須要有一個完整的系統(tǒng),才能保證其穩(wěn)定,并且在整個系統(tǒng)的操作中,不管是什么,都可以在系統(tǒng)中工作。執(zhí)行函數(shù)的應用。如果使用者在進行作業(yè)時,輸入的資料有誤,則可以自行解決,而不會造成使用者的麻煩。安全性:在Android平臺上開發(fā)的文字閱讀軟件要有很強的安全性,不能被入侵,也不能被電腦感染,而且要有完備的安全體系。
4系統(tǒng)設(shè)計4.1系統(tǒng)概述通過自身使用熱門閱讀器,以及各大手機品牌商自帶的閱讀器的使用體驗來進行剖析,從而確定出此系統(tǒng)的主要功能,首先在用戶使用體驗上一定要極為簡潔,以簡約為主,不能讓用戶感覺操作過于復雜,一定要讓用戶覺得操作簡潔,能滿足自己本身需求。另一方面,不應該在文本閱讀器內(nèi)植入過多廣告,讓用戶視覺疲勞。而且功能按鈕不應該過多,核心功能保留,去掉一些不必要的功能,把日常使用最高的功能保留下來,增加用戶粘連性。概要設(shè)計也稱總體設(shè)計,主要任務是實現(xiàn)項目的整體設(shè)計構(gòu)思,確定系統(tǒng)整體的結(jié)構(gòu),劃分好每個功能模塊,確定好它們之間的關(guān)系。還要設(shè)計好數(shù)據(jù)庫以及界面的設(shè)計。詳細設(shè)計是根據(jù)概要設(shè)計的基礎(chǔ)上,進行各實現(xiàn)模塊細節(jié)的劃分,直到所有的內(nèi)容的過程描述足夠明朗,使得編寫代碼的時候更加明確等等。4.2系統(tǒng)結(jié)構(gòu)設(shè)計此系統(tǒng)是由多個單元組成的。在整個系統(tǒng)的開發(fā)過程中,其首要的工作就是將各種功能(用戶及其作用)進行分解,并將其分解成不同的體系。并將其表示為樹型。因此,這種系統(tǒng)的結(jié)構(gòu)可以讓開發(fā)者清楚地看到,同時也可以讓使用者了解到這些模塊和函數(shù),從而防止發(fā)生什么問題。對一個體系進行梳理,首先要把各個使用者的作用,以一個函數(shù)結(jié)構(gòu)圖的形式展現(xiàn),而在繪制結(jié)構(gòu)時,則要明確地進行分區(qū)。這可以幫助你在發(fā)展的時候,讓你的思維變得更加的清楚,而不會引起不必要的困惑。在對各功能模組進行分析時,應注重各個模塊的相互關(guān)系,減少模塊之間的相關(guān)性,盡量減少各模塊的相關(guān)性。而且,不能將所有的單元都分割開來,既不方便看,也不方便進行使用。功能模組圖表使開發(fā)人員對該體系的性能有了進一步的認識。在結(jié)構(gòu)設(shè)計的過程中,從各個方面進行分析,以市場上熱門的編輯器作為研究目標,從而細化功能。本次此系統(tǒng)的開發(fā)結(jié)構(gòu)圖如圖4.1所示:圖4.1系統(tǒng)結(jié)構(gòu)設(shè)計圖4.3數(shù)據(jù)庫設(shè)計4.3.1數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫層面采用SQLite,采用SQLite是因為它不怎么需要系統(tǒng)或者外部庫支撐,能廣泛的應用于各種軟件環(huán)境,而且就我們所知的其他數(shù)據(jù)庫來說都需要中間媒介,SQLite直接訪問數(shù)據(jù)庫本身,因此響應效率較快,并且SQLite數(shù)據(jù)庫擁有原子性操作,因此程序的問題或者系統(tǒng)終止都不會發(fā)生數(shù)據(jù)錯誤。最大特點:采用無數(shù)據(jù)類型,所以可以保存任何類型的數(shù)據(jù),SQLite采用的是動態(tài)數(shù)據(jù)類型,自給自足,不采用其他任何依賴,會自動根據(jù)傳入的參數(shù)進行判斷。SQLite具有以下五種數(shù)據(jù)類型:SQLite具有以下五種數(shù)據(jù)類型:NULL:和其他語言相同,為空的標識。INTEGER:帶符號的整型,具體取決有存入數(shù)字的范圍大小。REAL:浮點數(shù)字,存儲為8-byte-IEEE浮點數(shù)。TEXT:字符串文本。BLOB:存儲二進制對象。SQLite還支持多進程或者線程之間的安全訪問,沒有局限性。并且相較于MySQL來說SQLite免費的更徹底,沒有使用上的任何限制。并且非常小巧,并且在系統(tǒng)開發(fā)過程中無需單獨購買數(shù)據(jù)庫服務,從成本來看做到了免費開發(fā),而且從維護角度來看,數(shù)據(jù)庫所有數(shù)據(jù)都存在一個文件中,因此無論是數(shù)據(jù)備份還是恢復或者轉(zhuǎn)移,都是非常方便的。另一方面讀速度快,在數(shù)據(jù)量不是很大的情況下速度較快,打開就能操作。4.3.2實體聯(lián)系圖設(shè)計實體聯(lián)系圖關(guān)系對象模型的一種展示手段,通過實體聯(lián)系圖我們能很清楚的開發(fā)此系統(tǒng)時間的需要注意的要點,比如屬性之間的一對一,或者多對多應該如何展示,能更清楚地知道數(shù)據(jù)庫字段的設(shè)計,以及各個對象之間的綁定關(guān)系。實體聯(lián)系圖是對象實體模型的一種展示方式,通過實體聯(lián)系圖我們能清楚的知道數(shù)據(jù)對象與實體的關(guān)聯(lián)以及對象的各個屬性。實例圖是對象實體模型的一種展示方式,通過實例圖我們能清楚的知道數(shù)據(jù)對象與實體的關(guān)聯(lián)以及對象的各個屬性。根據(jù)此系統(tǒng)目的出發(fā),結(jié)合自身所見過的市面上的文本閱讀器的使用體驗,總結(jié)出此系統(tǒng)的主要功能,并且根據(jù)所需實體對象設(shè)計出相應數(shù)據(jù)對象模型下面我們列出本系統(tǒng)的應用開發(fā)主要的幾個實例圖。文本Book對象包含ID,名稱,路徑,編碼,簡介,大小,文字總數(shù),閱讀進度,上一次閱讀時間,最后閱讀段落。如圖4.2所示:圖4.2文本信息實體聯(lián)系圖屬性E-R圖章節(jié)Chapter對象包括ID,圖書ID,名稱,段落編號,閱讀位置,段落文字總數(shù)如圖4.3所示:圖4.3用戶信息實體屬性E-R圖總體E-R圖如圖4.4所示:圖4.4類型信息實體屬性E-R圖4.3.3數(shù)據(jù)庫表設(shè)計根據(jù)前面已完成的概念設(shè)計和邏輯設(shè)計,本文所使用的主要數(shù)據(jù)庫表有圖書信息表、章節(jié)段落表、文章段落表。文本閱讀器的圖書信息表主要記錄了書籍的基本信息以及用戶閱讀進度,上一次閱讀到什么位置,方便再次閱讀直接跳轉(zhuǎn)到上次閱讀的位置。文本Book對象包含ID、名稱、路徑、編碼、簡介、大小、文字總數(shù)、閱讀進度、上一次閱讀時間、最后閱讀段落組成表結(jié)構(gòu)如表4.1所示:表4.1圖書表字段名稱數(shù)據(jù)類型長度是否主鍵是否可空idLong11是否namevarchar50否是pathvarchar50否是encodevarchar64否是charCountvarchar100否是readProgressInByteint50否是lastReadTimeLong50否是lastReadParagraphvarchar100否是briefvarchar32否是文本閱讀器的閱讀信息表主要是記錄用戶所閱讀的書籍詳細信息,以及用戶閱讀到的位置信息,當用戶下一次進入軟件進行閱讀時,會自動跳轉(zhuǎn)到用戶上一次所閱讀到的位置。閱讀信息Chapter對象包括ID、圖書ID、名稱、段落編號、閱讀位置、段落文字總數(shù)·閱讀信息表如圖4.2所示:表4.2閱讀信息表字段名稱數(shù)據(jù)類型長度是否主鍵是否可空idLong11是否bookIdLong255否是namevarchar500否是numberint50否是positionInByteint11否是charCountint50否是文本閱讀器的文章段落表主要用來讓用戶直觀的看到每個章節(jié)信息,用戶選擇第幾章來進行跳轉(zhuǎn),方便用戶跳轉(zhuǎn)到相應的章節(jié)。圖書ID、段落編號、段落位置。文章段落表如圖4.3所示:表4.3文章信息表字段名稱數(shù)據(jù)類型長度是否主鍵是否可空BookIdint11是否ChapteriDvarchar50否是Positionint11否否數(shù)據(jù)庫中存儲的對象模型字段介紹如上所示,通過此塊我們可以更清楚地知道各個對象存儲的方式,便于數(shù)據(jù)庫的編寫。
5系統(tǒng)的詳細設(shè)計與實現(xiàn)5.1系統(tǒng)首頁界面當用戶進入此系統(tǒng)后,首先會進入首頁部分,此頁面會從我們數(shù)據(jù)庫中進行檢索所有已經(jīng)存儲到系統(tǒng)中的Book對象,并且采用List集合進行接收,并且在此處會進行一個根據(jù)最后更新時間的排序,以方便用戶查閱最近瀏覽的書籍。點擊頁面的加號,可以進行添加書籍。如圖5.1所示:圖5.1系統(tǒng)首頁界面5.2文本添加界面此功能需要獲取到系統(tǒng)權(quán)限,因為開發(fā)所使用的安卓虛擬機為Android10所以獲取文件權(quán)限被定義為危險權(quán)限自安卓6.0以后就需要去動態(tài)申請相應權(quán)限,及自定義權(quán)限訪問類繼承Activity,然后去調(diào)用ActivityCompat中的獲取權(quán)限方法,以達到對當前操作手機的存儲空間有權(quán)限掃描文檔這個目的。用戶可根據(jù)掃描的文檔進行添加到書架進行閱讀。點擊文件夾圖標可以按照書籍文件所在的具體文件夾位置進行查找添加。界面如圖5.2所示:圖5.2文本添加界面5.3在線閱讀界面此功能設(shè)計,當用戶點擊首頁展示的書籍當中后,會出發(fā)請求,由后臺BookDao接口攔截用戶點擊文章的id,然后去執(zhí)行查詢操作,此操作執(zhí)行完后,會去文章段落表中查詢當前段落位置,ChapterDao·中查詢到段落位置后·會進行一個判斷如果當前用戶操作的這本書籍的位置字段為空,那么將視為第一次閱讀,然后加載首章位置,如果不為空則去定位到上次閱讀章節(jié)內(nèi)容,跟你在在線閱讀界面,可預覽到文章的具體內(nèi)容,可在頁面進行字體大小的設(shè)置,其中時間顯示通過實例化Data對象獲取當前系統(tǒng)時間,電量則通過實例化廣播接受類BroadcastReceiverra然后通過Intent來獲取。具體界面如圖5.3所示:圖5.3在線閱讀界面5.4字體設(shè)置界面當用戶在文本閱讀器的閱讀界面,點擊屏幕中間,下方會出現(xiàn)設(shè)置界面,設(shè)置字體大小只需點擊縮小或者增大按鈕即可。此功能實現(xiàn)主要是通過點擊button按鈕后會觸發(fā)我們設(shè)置好的事件去調(diào)用canvas去重新繪制當前內(nèi)容當點擊文字縮小按鈕后會進行一個把當前文字大小乘以66%,并且x軸減去當前x軸所占長度的50%,y軸行高減去當前行高的34%,然后重新調(diào)用canvas去重新繪制達到文字縮小的目的,文字放大也是同樣操作按照相應比例去更改,主要基于canvas重新繪制實現(xiàn),文字跳轉(zhuǎn)功能主要依賴于數(shù)據(jù)庫中Book表以及chapter表實現(xiàn),當我們想要跳轉(zhuǎn)到文章的百分比進度時間后臺會進行一個計算,拿當前文章總數(shù)與百分比計算過后,加載計算后的位置的所處章節(jié)內(nèi)容,并且把currentPosition設(shè)置為當前章節(jié)的開始,縮小、增大界面如圖5.4、圖5.5所示:圖5.4字體縮小界面圖5.5字體增大界面5.5文章目錄界面此處就只做了手勢監(jiān)聽,以及根據(jù)Book的id對Book表以及chapter表進行聯(lián)合查詢,查詢出當前id的所有目錄,用戶在文本閱讀器的閱讀界面時,只需點擊屏幕中間,出現(xiàn)彈框后,選擇目錄,進入文章目錄界面,可進行文章章節(jié)標題內(nèi)容的預覽,選中便可快速切換到指定章節(jié)進行閱讀。右上方有一個搜索圖標,當目錄信息不準確的時候,可以進行索引更新目錄信息。并且在搜索圖標旁邊可以進行章節(jié)刪除功能,刪除則是在chapter根據(jù)當前章節(jié)id去操作。具體界面如圖5.6、圖5.7所示:圖5.6文章目錄界面圖5.7章節(jié)刪除界面5.6添加書簽界面在實現(xiàn)添加書簽功能時,需要用到Android系統(tǒng)的輕量級數(shù)據(jù)庫SQLite,將已添加書簽的詳細信息記錄到數(shù)據(jù)庫中。用戶可通過點擊書簽,進入書簽管理界面中,進行添加新的書簽。界面如圖5.8所示:圖5.8添加書簽界面從本章展現(xiàn)了本次基于安卓平臺的文本閱讀器的主要界面效果圖并以對應的文字進行了說明??梢愿M一步了解本系統(tǒng)功能組成,以及其中的具體操作是怎么樣的,對系統(tǒng)功能的解釋有一定的幫助。
6系統(tǒng)測試這款基于Android的文字閱讀設(shè)備剛剛成型,首先要進行的就是系統(tǒng)的檢測。只有通過了測試,才會將Android手機上的文字閱讀設(shè)備,讓使用者可以隨意的利用.只有在發(fā)現(xiàn)了這些漏洞的時候,他們才會發(fā)現(xiàn),怎么做,都沒有任何的錯誤。而且,當BUG被開發(fā)者們修改的時候,他們也會出現(xiàn)一些BUG,而BUG也會被重新檢查出來,而BUG也會被修復。也就是說,一個經(jīng)過全面的檢測,沒有任何差錯的體系,是可以投入使用的。通過此種操作步驟,讓我們對系統(tǒng)的開發(fā)有了詳細的認知,此步驟也方便我們后續(xù)進行維護或者功能拓展。系統(tǒng)測試是必不可少的,它和系統(tǒng)開發(fā)階段的比重是相通的,此階段能發(fā)現(xiàn)我們開發(fā)邏輯上的問題,避免上線后發(fā)生嚴重的問題,導致用戶體驗感下降。6.1測試方法6.1.1界面測試此款在Android平臺上開發(fā)的文字閱讀程序,是一款可以根據(jù)使用者要求進行操作的系統(tǒng)應用程序。所以,界面控件的方面會給使用者帶來一些線索,要求對接口控件的使用進行檢驗,以滿足公眾的思考。對使用者進行適當?shù)闹笇?,而不會讓使用者感到迷茫。當使用者在使用跳躍式的輸入法時,必須設(shè)定文字的輸入量僅限于數(shù)字,以降低使用者在使用時出錯的機率。當用戶輸入內(nèi)容時,必須要有限定的內(nèi)容時,比如使用者在鍵入標點時,就會受到約束。在用戶的界面上,用戶可以根據(jù)用戶的動作做出快速的反應,比如目錄,書簽按鈕等等,從而提升用戶的滿意程度。系統(tǒng)的界面設(shè)計很關(guān)鍵,好的系統(tǒng)接口不僅可以給玩家?guī)磔^佳的體驗感,還可以讓玩家更好的理解和使用。系統(tǒng)的錯誤提示也很關(guān)鍵,可以幫使用者找出問題所在[10]。6.1.2功能測試此次在Android平臺上對文字閱讀系統(tǒng)進行了性能檢測,主要采用了“白盒子”和“黑盒子”兩種方法。在此基礎(chǔ)上,我們可以對Android系統(tǒng)中的文字讀取程序進行較為詳盡的測試。該測試可以在不需要檢測到代碼的情況下,就可以檢驗程序的各項性能,并且不影響到程序的接受。即可以自主的檢測到系統(tǒng)的性能,根據(jù)預定的編程目的進行測試,在沒有出現(xiàn)任何不正常的情況下。所有的資料都是正確的,顯示了正確的輸入結(jié)果,正確的存取和不會在運行時被自動的結(jié)束和初始化。白盒測試和黑盒測試相輔相成是軟件的一種重要手段。白盒試驗可以采用動態(tài)分析和靜態(tài)分析,靜態(tài)分析即在沒有運行的情況下,該軟件的性能與使用說明書的要求一致。而動力解析則是對各種情況下的實際仿真進行的一種分析,以了解該軟件能否達到期望的效果。6.2測試目的其主要任務就是檢驗該體系能否滿足用戶需求,各項設(shè)定的指標能否一一落實,能否對使用者的動作作出迅速反應,工作是否平穩(wěn)。是否符合使用者要求。所以,在進行試驗的時候,要根據(jù)各個功能的按鍵,進行相應的測試。與此同時,也要注重一些細節(jié)。隨著時間的推移,所有的漏洞都會被一一暴露,而這個時候,開發(fā)者就必須要找到這些問題的根源。查找對應的程式碼并修正。所以,在編制程式時,應特別留意程式碼的書寫方式,并要確保每個欄位的字母正確,以免造成程式的程式測試困難。當程序在測試過程中發(fā)生了錯誤,它可以迅速地找到相應的區(qū)域,從而減少了檢測的速度。為了保證軟件的穩(wěn)定工作,首先要發(fā)現(xiàn)BUG,所以必須進行系統(tǒng)的測試。在這個測試的流程中,就是不停地進行著錯誤的實驗和糾正,而在每一次的實驗和糾正中,都會有相應的記錄,在電腦上記錄下實驗的結(jié)果。如果測試報告中出現(xiàn)了一個缺陷,那么開發(fā)人員就必須自己去查找這個缺陷的成因,并自己進行修正。一個很普通的黑箱試驗被用于Android的文字閱讀程序。一款優(yōu)秀的軟件可以樹立用戶對軟件的信心,用戶拿到經(jīng)過測試的軟件和沒經(jīng)過測試的軟件,對產(chǎn)品質(zhì)量的信心是不一樣的。所以測試可以樹立用戶對軟件的信心。6.3測試分析經(jīng)過以上的測試與分析主要是從以下幾個方面來進行的:本系統(tǒng)性能測試如表6.1所示:表6.1性能測試測試的具體內(nèi)容期望結(jié)果實際結(jié)果界面外觀UI簡潔,較為認可UI簡潔,較為認可功能實用性功能皆為用戶所需功能皆為用戶所需反應速度一點都不卡頓一點都不卡頓信息安全性保證信息安全保證信息安全操作是否簡便操作較為簡便操作較為簡便本系統(tǒng)可用性測試如表6.2所示:表6.2可用性測試測試項測試預期測試結(jié)果快速更改頁面大小及編碼,是否反應迅速是是從系統(tǒng)外觀進行評測,是否能讓人接受是是多次點擊相同按鈕是否能正常跳轉(zhuǎn)是是隨意切換頁面,切換是否迅速是是是否點擊按鈕后能相應做出響應是是使用外設(shè)測試系統(tǒng),比如鼠標鍵盤是是數(shù)據(jù)信息是否顯示正常顯示是是整體操作步驟是否簡單是是事件相應信息是否迅速是是6.4測試總結(jié)在經(jīng)過上述測試,軟件各項基本功能基本達標,所測設(shè)備HUAWEIP2OPro·和小米11手機運行均無不良反應,通過對系統(tǒng)性能、可用性和功能性的各種測試,對系統(tǒng)中的每一個部分進行了檢驗,并對系統(tǒng)的每一個接口進行了檢驗,并對其進行了詳細的記錄。通過對該軟件的性能進行了測試和分析,結(jié)果表明,Android平臺上的文字讀取程序不會被強行退出,而在Android平臺上開發(fā)的文字閱讀程序能
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漁船租賃業(yè)務合同協(xié)議
- 銀行信托計劃保管合同模板
- 供港農(nóng)產(chǎn)品購銷合同代理協(xié)議(樣本)
- 國有林權(quán)出讓合同
- 畢業(yè)生實習與勞動合同解析
- 渠道合作銷售合同范本
- 合同法視角:股東不履行義務糾紛案例分析
- 新車銷售團隊心理素質(zhì)訓練考核試卷
- 木制拼圖游戲考核試卷
- 世界音樂教育項目的策劃與實施考核試卷
- 部編版小學(2024版)小學道德與法治一年級下冊《有個新目標》-第一課時教學課件
- 稅法(第5版) 課件 第13章 印花稅
- 建加油站申請書
- 2024-2025學年廣州市高二語文上學期期末考試卷附答案解析
- 2025年山東鋁業(yè)職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年教育公共基礎(chǔ)知識筆記
- 《銷售合同執(zhí)行》課件
- 深夜地鐵7號線施工方案
- 山東2024年山東經(jīng)貿(mào)職業(yè)學院第二批招聘102人歷年參考題庫(頻考版)含答案解析
- 宮腔球囊止血護理常規(guī)
- 2024年湖南汽車工程職業(yè)學院單招職業(yè)技能測試題庫標準卷
評論
0/150
提交評論