基于Android的書籍管理類APP設(shè)計_第1頁
基于Android的書籍管理類APP設(shè)計_第2頁
基于Android的書籍管理類APP設(shè)計_第3頁
基于Android的書籍管理類APP設(shè)計_第4頁
基于Android的書籍管理類APP設(shè)計_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于Android的書籍管理類APP設(shè)計摘要作為一種移動設(shè)備,手機的功能不僅限于通信,還可以作為人們在辦公室、娛樂和生活中的助手。隨著手機功能的不斷細化,筆記管理類app也越來越受到人們的歡迎。因此設(shè)計一款書籍管理類app勢在必行。本文主要介紹了該程序的設(shè)計思想、邏輯、體系結(jié)構(gòu)、數(shù)據(jù)庫設(shè)計和總體實現(xiàn)過程。本系統(tǒng)使用AndroidStudio為開發(fā)工具,Java語言進行開發(fā),使用LiteOrm數(shù)據(jù)庫,設(shè)計“天天學(xué)”App。該系統(tǒng)分為注冊模塊、登錄模塊、書籍模塊和個人模塊,實現(xiàn)閱讀書籍、倒計時、做計劃等功能。經(jīng)過系統(tǒng)測試,各個模塊完成了預(yù)期的各項功能。關(guān)鍵詞:Android,liteOrm數(shù)據(jù)庫、app

Abstract根據(jù)中文摘要翻譯根據(jù)中文摘要翻譯Asamobiledevice,thefunctionofmobilephoneisnotonlylimitedtocommunication,butalsocanbeusedasanassistantinoffice,entertainmentandlife.Withthecontinuousrefinementofmobilephonefunctions,note-takingmanagementappsarebecomingmoreandmorepopular.Therefore,itisimperativetodesignabookmanagementapp.Thispapermainlyintroducesthedesignidea,logic,architecture,databasedesignandoverallimplementationoftheprogram.ThissystemUSESAndroidStudioasthedevelopmenttool,Javalanguagefordevelopment,USESLiteOrmdatabase,anddesigns"learneveryday"App.Thesystemisdividedintoregistrationmodule,loginmodule,bookmoduleandpersonalmodule,whichrealizesreadingbooks,countingdown,makingplansandotherfunctions.Afterthesystemtest,eachmodulehascompletedtheexpectedfunctions.Keywords:Android,liteOrmdatabase,RecyclerViewlist,Reader目錄摘要 2Abstract 3目錄 4第1章緒論 11.1研究目的和意義 11.2國內(nèi)外研究現(xiàn)狀 21.3本文的內(nèi)容及結(jié)構(gòu) 3第2章開發(fā)平臺與數(shù)據(jù)庫 42.1Android開發(fā)語言 42.1.1使用版本10.0 42.1.2體系架構(gòu) 42.1.3應(yīng)用組件 52.1.4平臺優(yōu)勢 62.2AndroidStudio編譯器 72.2雷電模擬器 82.2.1模擬器功能 82.2.2軟件特色 92.3liteOrm 102.3.1特色 112.3.2設(shè)計理念 11第3章系統(tǒng)設(shè)計核心技術(shù) 133.1框架所用技 術(shù) 133.2布局及控件 143.2.1Android六大布局 143.2.2常用控件 14第4章系統(tǒng)分析與設(shè)計 174.1系統(tǒng)流程和功能模塊分析 174.2模塊設(shè)計 184.2.1登錄模塊 184.2.2代辦模塊 204.2.3書籍模塊 244.2.4注冊模塊 264.2.5個人模塊 284.3結(jié)構(gòu)設(shè)計 304.3.1類結(jié)構(gòu) 304.3.2主要函數(shù)及變量 31第5章系統(tǒng)測試 355.1登錄模塊 355.2注冊模塊 365.3代辦模塊 375.4書籍模塊 385.5個人模塊 39結(jié)論 41參考文獻 42致謝 44附錄系統(tǒng)設(shè)計部分源代碼 45第1章緒論1.1研究目的和意義由于現(xiàn)在好多供應(yīng)商都是撈一筆就走人的態(tài)度去對待軟件產(chǎn)品。而現(xiàn)在學(xué)習(xí)軟件主要是年輕人們?nèi)ナ褂茫瑢W(xué)習(xí)軟件可能伴隨他們整個在校學(xué)習(xí)階段。設(shè)計一款實用的學(xué)習(xí)軟件是很重要的。簡約清新的任務(wù)管理,簡單高效管理你的習(xí)慣和目標,豐富的計時功能,使用有效的結(jié)構(gòu)書籍和組織內(nèi)容的大綱,這種更有組織的寫作風(fēng)格將帶給你一種新的體驗,隨時隨地獲取、整理、分享書籍,讓靈感時刻伴隨你,讓生活更有序、工作更高效、協(xié)作更便捷。它幫助個人和團隊保存高價值信息、組織知識和有效協(xié)作。無論是靈感、待辦事項、會議記錄、項目材料,還是高價值的文章,都可以及時保存下來。從圖片、文本、音頻記錄、列表到網(wǎng)頁、文檔和附件,它支持豐富的文件格式,以幫助您正確保存。通過智能搜索,文本、圖片甚至附件都可以快速鎖定。人們將需要這樣的一個簡單可靠的軟件。作為一種移動設(shè)備,手機的功能不僅限于通信,還可以作為人們在辦公室、娛樂和生活中的助手。隨著手機功能的不斷細化,移動應(yīng)用開發(fā)成為嵌入式軟件開發(fā)中最受歡迎和最具挑戰(zhàn)性的方向。為了應(yīng)對不斷增長的應(yīng)用需求,不同的移動操作系統(tǒng)和移動設(shè)備制造商都在不斷升級自己的產(chǎn)品,以在激烈的市場競爭中獲得一席之地。1.2國內(nèi)外研究現(xiàn)狀隨著手機app制作技術(shù)的進步,現(xiàn)在進行制作一款手機app軟件已相對簡單了很多。企業(yè)已經(jīng)成為了對手機app制作的最大需求群體,手機app可以成為企業(yè)的信息管理平臺,同時也可以成為企業(yè)的產(chǎn)品移動展銷平臺。在移動互聯(lián)網(wǎng)年代,手機app制作軟件的作用正在被進一步挖掘。同時,除了企業(yè)的手機app制作,目前也出現(xiàn)了個人手機app制作。對于很多企業(yè)而言,進行制作手機app軟件會耗費不少的時間。而大多企業(yè)都不具備自建app制作的資質(zhì):一來企業(yè)沒有專業(yè)的app開發(fā)制作團隊以及專業(yè)知識支持,二來企業(yè)自建app開發(fā)存在不可控制的風(fēng)險。在與專業(yè)手機app制作公司進行合作的過程里,在產(chǎn)品的設(shè)計、功能、定位等方面都要花大量的時間進行溝通。而開發(fā)一款手機軟件也不是一朝一夕便可以完成的事情。有不少的企業(yè)在此時會顯得不耐心,急于想利用手機app爭取實現(xiàn)移動平臺的運作。但是往往會弄巧成拙,出現(xiàn)一些可以避免的失誤。手機APP制作工具把企業(yè)APP開發(fā)技術(shù)難度降低了,這些操作簡單的APP制作工具似乎也讓開發(fā)工程師專業(yè)的編程思想、字符、專業(yè)術(shù)語等都變成了浮云。如今也有初級開發(fā)工程師通過這些簡單的APP應(yīng)用制作軟件幫助企業(yè)創(chuàng)建簡單的手機APP程序,更有行業(yè)人員認為這樣的“傻瓜式”APP開發(fā)軟件工具可以讓對程序一竅不通的網(wǎng)民也可以創(chuàng)建一個個人APP,同時還可以對這種簡單的應(yīng)用程序進行更新和維護以及開展營銷類活動。全球化的發(fā)展,不單“中國制造”受到海外用戶的歡迎,國內(nèi)自主研發(fā)的一些APP軟件,在走出國門之后,發(fā)展之勢也是非常喜人。以往在聊到國外APP軟件的時候,大家討論更多的是Facebook、Instagram、Twitter等軟件,國內(nèi)的軟件好像很難占據(jù)到一定的市場,但是隨著最近幾年的一個發(fā)展,國內(nèi)的微信、微博、CleanMaster、王者榮耀等手機應(yīng)用軟件,不僅打開了市場擁有一批忠實的粉絲,也為未來國內(nèi)移動軟件走出國門,提供了方向。國內(nèi)手機APP走出國門,對于國內(nèi)手機應(yīng)用軟件商來說,當然是一件值得開心的事情,但是想要走出國門的應(yīng)用軟件獲得海外用戶的認可,開拓更大的海外市場,在其功能需求上還是一個著重點。1.3本文的內(nèi)容及結(jié)構(gòu)本文共分5章,在第1章緒論中,簡述了AndroidAPP開發(fā)研究意義和重要應(yīng)用。第2章是介紹使用的編譯器、Android模擬器和數(shù)據(jù)庫。第3章JavaforAndroid制作軟件過程中系統(tǒng)的分析和設(shè)計。第4章是設(shè)計App過程中所運用到的技術(shù)。第5章是在真機上測試App實際運行效果。第2章開發(fā)平臺與數(shù)據(jù)庫2.1Android開發(fā)語言Android一詞的原意是“機器人”,也是谷歌于2007年11月5日發(fā)布的基于Linux平臺的開源移動操作系統(tǒng)的名稱。該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。2.1.1使用版本10.0從Android10開始,谷歌將提供系統(tǒng)級的暗模式,大多數(shù)預(yù)裝的應(yīng)用程序、抽屜、設(shè)置菜單、谷歌Feed流和按鈕都將變?yōu)楹谏拖衲阍趍acOSMojave中看到的那樣。支持新的保護,以確保用戶隱私和安全。具有高性能的編解碼器,更好的生物識別技術(shù),更快的應(yīng)用啟動,Vulkan1.1,NNAPI1.2,可折疊設(shè)備,5G等!谷歌宣布了Android系統(tǒng)的一個重大變化,有了一個新的logo和新的命名方式。2019年AndroidQ的官方名稱將是Android10。2.1.2體系架構(gòu)Android的架構(gòu),就像它的操作系統(tǒng)一樣,是分層的。根據(jù)架構(gòu)圖,Android分為4層,從頂層到底層,分別是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運行時層和Linux內(nèi)核層。Android將發(fā)布一系列核心應(yīng)用程序包,包括客戶端、短信、日歷、地圖、瀏覽器、聯(lián)系人管理器等。所有應(yīng)用程序都是用JAVA語言編寫的。開發(fā)人員還可以完全訪問核心應(yīng)用程序使用的API框架。應(yīng)用程序的體系結(jié)構(gòu)設(shè)計簡化了組件的重用;任何應(yīng)用程序都可以發(fā)布其功能塊,任何其他應(yīng)用程序都可以使用其發(fā)布的功能塊(受框架安全性的限制)。此外,應(yīng)用程序重用機制允許用戶輕松替換應(yīng)用程序組件。2.1.3應(yīng)用組件Android開發(fā)的四個主要組件是:activity:表示功能。服務(wù):在后臺運行服務(wù),不提供接口渲染。BroadcastReceiver:用于接收廣播的接收器。內(nèi)容提供程序:支持在多個應(yīng)用程序中存儲和讀取數(shù)據(jù),相當于一個數(shù)據(jù)庫。(1)Activity:一個Android應(yīng)用程序通常由多個活動組成。這些活動可以從一個活動跳轉(zhuǎn)到另一個活動,例如,當按下按鈕按鈕時,它可能會跳轉(zhuǎn)到另一個活動。與web頁面跳轉(zhuǎn)稍有不同,活動之間的跳轉(zhuǎn)可能返回一個值。例如,從活動A跳到活動B可能會在活動B的運行結(jié)束時給活動一個返回值。這在很多情況下都很方便。(2)Service:服務(wù)是android系統(tǒng)中的一個組件。它類似于活動級別,但是它不能自己運行,只能在后臺運行,并且可以與其他組件交互。服務(wù)是沒有接口的長生命周期代碼。服務(wù)是一個可以長時間運行的程序,但是它沒有用戶界面。這么說有點無聊。舉個例子。打開音樂播放器程序,這個時候如果你想上網(wǎng),那么,打開Android瀏覽器,這個時候雖然你已經(jīng)進入了瀏覽器程序,但是歌曲并沒有停止播放,而是在后臺一個接一個的繼續(xù)播放。事實上,這種回放是由播放音樂的服務(wù)控制的。當然,播放音樂的服務(wù)也可以停止,例如,當播放列表中的所有歌曲結(jié)束時,或當用戶按下快捷鍵停止播放音樂時,等等。服務(wù)可以在多個應(yīng)用程序中使用。例如,當用戶在播放多媒體的同時開始其他活動時,程序應(yīng)繼續(xù)在后臺播放,如檢測SD卡上文件的變化,或在后臺記錄地理信息位置的變化等??偠灾?,服務(wù)總是藏在背后。當打開一個新屏幕時,前一個屏幕將進入暫停狀態(tài)并推入歷史堆棧。用戶可以使用回退操作返回先前打開的屏幕。您可以選擇刪除不需要保留的屏幕,因為Android會將每個應(yīng)用程序的開始保存到堆棧上的當前屏幕。2.1.4平臺優(yōu)勢1.開放性就優(yōu)勢而言,Android平臺首先是開放的。開發(fā)的平臺允許任何移動終端制造商加入Android聯(lián)盟。顯著的開放性將允許它擁有更多的開發(fā)人員,并且隨著用戶和應(yīng)用程序變得更加豐富,一個全新的平臺將很快成熟起來。對于Android的發(fā)展來說,開放性有利于人氣的積累,包括消費者和制造商。對于消費者來說,最大的利益就是豐富的軟件資源。開放的平臺也會帶來更多的競爭,這樣消費者就可以以更低的價格買到他們想要的手機。同時,也可以使用一些第三方優(yōu)化的系統(tǒng)來實現(xiàn)更好的用戶體驗,如MIUI、Flyme等。2.豐富的硬件這一點與Android平臺的開放性有關(guān),由于Android平臺的開放性,很多廠商都會推出各種功能各異的奇怪產(chǎn)品。功能和特性的差異將不會影響到數(shù)據(jù)同步、甚至軟件的兼容,就像諾基亞symbian-style手機改變了蘋果的iPhone,和出色的塞班軟件可以帶到iPhone使用,和聯(lián)系人等數(shù)據(jù)很容易被轉(zhuǎn)移。3.方便開發(fā)Android平臺為第三方開發(fā)者提供了一個非常廣泛和自由的環(huán)境,不受各種規(guī)則的限制??梢韵胂?,將會有許多新的和獨特的軟件產(chǎn)品。4.Google應(yīng)用谷歌在互聯(lián)網(wǎng)上經(jīng)歷了10年的歷史,從搜索巨頭的全面滲透互聯(lián)網(wǎng),谷歌服務(wù),如地圖、郵件、搜索等等已經(jīng)成為一個重要的用戶和互聯(lián)網(wǎng)之間的聯(lián)系,和Android手機將無縫地把這些優(yōu)秀的谷歌服務(wù)。2.2AndroidStudio編譯器 AndroidStudio是谷歌推出的Android集成開發(fā)工具?;贗ntelliJIDEA。與EclipseADT類似,AndroidStudio提供用于開發(fā)和調(diào)試的集成Android開發(fā)工具?;贗DEA,AndroidStudio提供了:(1)Android特有的重構(gòu)和快速修復(fù)(2)捕捉性能、可用性、版本兼容性等的工具提示(3)支持ProGuard和應(yīng)用程序簽名(4)基于模板的向?qū)砩赏ㄓ玫腁ndroid應(yīng)用程序設(shè)計和組件(5)強大的布局編輯器,允許您拖放UI控件和預(yù)覽效果AndroidStudio是谷歌新的Android開發(fā)環(huán)境,開發(fā)人員在這里可以看到他們的應(yīng)用程序在編寫應(yīng)用程序時在不同大小的屏幕上的樣子。谷歌改進了開發(fā)人員控制臺,增加了5個新特性,包括優(yōu)化小貼士、應(yīng)用翻譯服務(wù)、推薦跟蹤、營收曲線圖、用版測試和階段性展示。(1)優(yōu)化小貼士:打開你的應(yīng)用程序,點擊提示,你會得到這樣的建議:開發(fā)一個平板版本的應(yīng)用程序。(2)應(yīng)用翻譯服務(wù):允許開發(fā)人員直接從開發(fā)機構(gòu)獲得專業(yè)翻譯。上傳您的要求,選擇翻譯,它將顯示翻譯和價格,并發(fā)送回翻譯一周內(nèi)。(3)推薦跟蹤:允許開發(fā)者找到最有效的廣告(4)營收曲線圖:按國家顯示開發(fā)者的應(yīng)用收入(5)用版測試和階段性展示:開發(fā)人員可以測試應(yīng)用程序,然后將其發(fā)布給測試用戶,測試結(jié)果不會發(fā)布給公眾。當一個版本的測試結(jié)束時,開發(fā)人員可以將它推出給一定比例的用戶。AndroidStudio是第一個為開發(fā)者發(fā)布的基于Android平臺的開發(fā)工具。最先解決的問題之一是多分辨率。Android設(shè)備有各種各樣的屏幕尺寸和分辨率,有了新的Studio,開發(fā)人員可以輕松地調(diào)整他們的應(yīng)用程序以適應(yīng)每個分辨率。與此同時,Studio還解決了語言問題,提供了多語言版本(但沒有中文版本)和翻譯支持,使開發(fā)人員能夠更好地適應(yīng)全球開發(fā)環(huán)境。工作室還提供收入記錄。最大的變化是Beta測試的功能。Studio提供了Beta測試,開發(fā)人員可以很容易地試用。2.2雷電模擬器雷電模擬器是一個軟件,它允許移動應(yīng)用程序和游戲在電腦上運行。通過虛擬android手機操作界面,玩家可以通過lightning模擬器在電腦上玩手機游戲。在電腦上模擬android手機系統(tǒng)安裝、使用和卸載android應(yīng)用程序。2.2.1模擬器功能1.支持多開批量操作在多開模式中增加批量操作功能,實現(xiàn)多開、關(guān)閉模擬器、自動排窗、批量新建、復(fù)制等功能。數(shù)十個甚至數(shù)百個用戶可以管理模擬器。2.虛擬定位內(nèi)置虛擬定位功能,一步即可完成虛擬定位。3.操作錄制錄制操作,按下播放按鈕將自動播放錄制的操作,可以無限期播放。4.支持宏指令操作點擊“一鍵宏”(按鍵名是如此)按鈕,通過宏命令設(shè)置,實現(xiàn)組合、循環(huán)、語音等功能,多個按鍵功能被轉(zhuǎn)移到一個按鍵上,減少了操作。(例如,可以設(shè)置按一個鍵后就開始循環(huán)實現(xiàn)多個按鍵點擊事件,不必反復(fù)按三次鍵。)5.小磁盤模式降低磁盤占用空間小磁盤模式簡介:在小磁盤模式下掛機,經(jīng)測試,120g的固態(tài)硬盤可以永久25開。(注意:小磁盤模式要2.0.51以上版本才能使用)2.2.2軟件特色1.Android5.1.1內(nèi)核雷電android模擬器是國內(nèi)成熟的android模擬器。自2016年6月第一版發(fā)布以來,平均15天的更新,2.0版采用了android內(nèi)核5.1.1。2.兼容優(yōu)化雷電安卓模擬器2.0開始,可以兼容Intel、AMD、x86等多種廠商硬件,WindowsXP/WindowsVista/Windows7/Windows8/Windows8.1/Windows10等多樣系統(tǒng)?;贏ndroid5.1.1內(nèi)核的雷電安卓模擬器兼容市面上99%的游戲和應(yīng)用。3.按鍵自定義在手游的按鍵上增加了控制行程和旋轉(zhuǎn)角度的按鍵,實現(xiàn)了3D手游360°的平滑旋轉(zhuǎn)和一鍵連接點。最初的支持句柄是即插即用的,不需要其他映射軟件。帶有按鈕要求的游戲配備了一組默認鍵。當游戲打開時,會彈出一個提示。用戶可以直接使用這些密鑰,也可以根據(jù)自己的習(xí)慣在清除它們之后重新配置它們。4.一鍵操作多開雷電android模擬器的多開優(yōu)化方案中增加了批量操作功能,實現(xiàn)了一鍵多開、關(guān)閉模擬器、自動排列窗口、批量創(chuàng)建、復(fù)制等功能。方便幾十個甚至上百個開放的用戶管理模擬器。2.3liteOrm(1)LiteOrm是Github上的一個開源Android數(shù)據(jù)庫框架。(2)LiteOrm是一個快速、小巧、強大的androidORM框架類庫,它允許你用一行代碼添加、刪除、更改和檢查數(shù)據(jù)庫,以及持久化和自動映射實體關(guān)系。(3)Android自帶的sqlite存儲已經(jīng)很好了,但是涉及太多sql語句,為了方便操作,這里使用數(shù)據(jù)庫框架LiteOrm。LiteOrm是一個小巧、強大、比系統(tǒng)自帶數(shù)據(jù)庫操作性能快1倍的androidORM框架類庫,開發(fā)者一行代碼實現(xiàn)數(shù)據(jù)庫的增刪改查操作,以及實體關(guān)系的持久化和自動映射。1.特點(1)效率比Android原始數(shù)據(jù)庫sqlite更高(2)增刪改查可以直接操作對象2.目標簡單,強大,最有用的androidORM框架庫3.原則(1)輕量級、關(guān)注性能、優(yōu)先于線程、關(guān)注數(shù)據(jù)及其關(guān)系存儲和操作。(2)沒有工具支持,沒有無參數(shù)構(gòu)造,沒有多個注釋,約定優(yōu)于配置。(3)使用極簡主義2.3.1特色(1)支持多個庫:每個數(shù)據(jù)庫文件對應(yīng)于LiteOrm管理類的一個實例。(2)SD卡存儲:你可以把DB文件放在你認為合理的地方。(3)自動構(gòu)建表:開發(fā)人員不需要擔心數(shù)據(jù)庫和表的細節(jié)。(4)關(guān)系存儲和恢復(fù):要真正實現(xiàn)實體關(guān)系映射持久性和恢復(fù),只需在實體的關(guān)聯(lián)屬性上標記關(guān)系類型。(5)獨立性和級聯(lián)性:切換順暢,獨立操作性能高,僅保存對象數(shù)據(jù);級聯(lián)操作更強大,關(guān)聯(lián)對象和關(guān)系一起保存。(6)智能列檢測:App升級或模型更改,添加新的屬性字段,該字段將被檢測并添加到數(shù)據(jù)庫中,因此無需擔心新字段不被存儲。(7)富API支持:保存(替換)、插入、更新、刪除、查詢、映射等。(8)自動識別類型:轉(zhuǎn)換為幾種數(shù)據(jù)類型的文本,實數(shù),整數(shù)和BLOB支持sqlite。(9)自動構(gòu)建對象,通過反射和探測構(gòu)造函數(shù)參數(shù)等方法創(chuàng)建新對象,大多數(shù)情況下不需要無參數(shù)構(gòu)造函數(shù)。(10)更新指定的列以進行靈活、強制和批量分配,這會忽略被操作對象的實際值。(11)存儲序列化字段:日期、ArrayList、Vector等容器被智能保存和讀取。(12)約束語法支持:NOTNULL,UNIQUE,DEFAULT,COLLATE,CHECK,PRIMARYKEY,supportconflictalgorithm。(13)靈活的查詢和刪除:列,其中,羅德,限制,有組等。2.3.2設(shè)計理念(1)LiteOrm的主要思想是約定優(yōu)于配置,因此可以用很少的注釋存儲復(fù)雜的數(shù)據(jù)。(2)大多數(shù)情況下,開發(fā)人員不需要向每個對象添加無參數(shù)構(gòu)造,這看起來很愚蠢且多余。(3)關(guān)注性能,我仔細考慮了代碼的每個模塊。每個函數(shù)的實現(xiàn)都繞過了android提供的直接接口,更接近底層實現(xiàn)。(4)超級集中,你甚至看不到任何其他的特性,包括線程,你也不必擔心項目的負擔和引入大的負載。(5)簡單的背后,往往是復(fù)雜的。而這一切,都是為了還原面向?qū)ο蟮捏w驗,讓添加的部分,不添加。

第3章系統(tǒng)設(shè)計核心技術(shù)3.1框架所用技術(shù)RecyclerView是一個更強大的控件,它不僅可以達到與ListView相同的效果,還可以優(yōu)化ListView中的各種不足之處。它可以垂直或水平滾動數(shù)據(jù)(ListView不能這樣做)。RecyclerView屬于新增的控件,Android將RecyclerView定義在support庫里??蓴U展標記語言,標準通用標記語言的子集,簡稱XML。是一種標記語言,用于標記電子文件以使其具有結(jié)構(gòu)。在電子計算機中,符號是計算機能理解的信息符號。它可以用于標記數(shù)據(jù)、定義數(shù)據(jù)類型,并且是一種允許用戶定義自己的標記語言的源語言。它非常適合web傳輸,提供了一種統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。它是互聯(lián)網(wǎng)環(huán)境下的一種跨平臺、內(nèi)容相關(guān)的技術(shù),是處理分布式結(jié)構(gòu)信息的有效工具??蓴U展標記語言不同于Access、Oracle和SQLServer等數(shù)據(jù)庫,可擴展標記語言提供更強大的數(shù)據(jù)存儲和分析能力,如數(shù)據(jù)索引、排序、搜索、相關(guān)性一致性等,而可擴展標記語言只存儲數(shù)據(jù)。事實上,與其他數(shù)據(jù)表示形式最大的區(qū)別之一是可擴展標記語言非常簡單,這是一個看似微不足道的優(yōu)點,但卻是它與眾不同的地方。XML簡單容易的讀/寫數(shù)據(jù)在任何應(yīng)用程序中,它使XML很快成為唯一的公共數(shù)據(jù)交換語言,盡管不同的應(yīng)用軟件也支持其他數(shù)據(jù)交換格式,但很快他們會支持XML,這意味著程序可以更容易地與Windows,MacOS、Linux和其他平臺的信息,然后你可以很容易地加載XML數(shù)據(jù)程序和分析,并以XML格式的輸出。3.2布局及控件3.2.1Android六大布局(1)線性布局(LinearLayout):按照垂直或者水平方向布局的組件

(2)幀布局(FrameLayout):組件從屏幕左上方布局組件

(3)表格布局(TableLayout):按照行列方式布局組件

(4)絕對布局(AbsoluteLayout):按照絕對坐標來布局組件

(5)相對布局(RelativeLayout):相對其它組件的布局方式

(6)約束布局(ConstraintLayout):按照約束布局組件3.2.2常用控件1.文本類控件TextViewTextView是Android程序開發(fā)中最常用的控件之一。它的主要功能是向用戶顯示文本的內(nèi)容。它是不可編輯的,只能在程序中初始化或修改。2.文本類控件EditText與TextView相比,EditText是可編輯的,可用于與用戶交互,其用法與TextView類似3.按鈕類控件Button按鈕控件也是在使用過程中最常用的控件之一,所以需要很好地掌握。用戶可以通過點擊按鈕來觸發(fā)一系列事件,然后注冊按鈕的監(jiān)聽器來實現(xiàn)按鈕的監(jiān)聽事件。4.按鈕類控件ImageButtonImageButton類似于Button,它是一個按鈕,ImageButton可以實現(xiàn)任何我們想要的ImageButton的效果,比如我們租一個下載按鈕等等。它看起來比button的實現(xiàn)更好,體驗也更好,但是它有一個圖片作為背景,沒有文本。使用屬性android:SRC="imagelocation"設(shè)置圖像背景。5.按鈕類控件RadioButton與RadioGroupRadioButton在Android平臺上也很常見,因為一些選項使用單選按鈕。它是一個單圓形單框雙狀態(tài)按鈕,可以選擇或不選擇。當未選中RadioButton時,用戶單擊以選擇它。但是,在選中它之后,您不能單擊以取消選中它。電臺組是一個電臺組合框,用來框起電臺按鈕。在多個RadioButton由RadioGroup包含的情況下,同時只能選擇一個RadioButton,RadioGroup由setOnCheckedChangeListener來監(jiān)聽。6.按鈕類控件CheckBox復(fù)選框,顧名思義,是一個可以被多次選中的按鈕,默認情況下,它被表示為一個矩形。與RadioButton一樣,它已選中和未選中狀態(tài)。我們可以先在布局文件中定義多個按鈕,然后對事件監(jiān)聽器的每個備選setOnCheckedChangeListener按鈕,通過isChecked判斷該選項是否被選中,相應(yīng)的事件響應(yīng)。7.圖片控件ImageViewImageView是一個圖像控件,負責顯示圖像。圖像的來源可以是系統(tǒng)提供的資源文件,也可以是可繪制對象。相對來說,圖像空間是比較容易把握的,因為正如前面提到的ImageButton,許多屬性是相同的。8.進度條控件ProgressBarProgressBar用于在界面上顯示一個進度條,表示我們的程序正在加載一些數(shù)據(jù),運行程序,會看到屏幕中有一個圓形進度條正在旋轉(zhuǎn)。這幾個組件是相互獨立的,它們可以相互調(diào)用并一起工作,從而形成一個真正的Android應(yīng)用程序。在這些組件之間的通信中,Intent主要起輔助作用。Intent負責描述應(yīng)用程序中操作的操作、操作中涉及的數(shù)據(jù)和其他數(shù)據(jù)。Android負責查找相應(yīng)的組件,將Intent傳遞給調(diào)用組件,并根據(jù)Intent的描述完成組件的調(diào)用。因此,Intent在這里充當媒介中介,提供有關(guān)相互調(diào)用的組件的信息,并將調(diào)用方與被調(diào)用方解耦。例如,在聯(lián)系人維護應(yīng)用程序中,當我們單擊聯(lián)系人列表屏幕上的聯(lián)系人時(假設(shè)對應(yīng)的活動是listActivity),我們希望看到聯(lián)系人的詳細信息屏幕(假設(shè)對應(yīng)的活動是detailActivity)。要做到這一點,listActivity需要構(gòu)造一個Intent,用來告訴系統(tǒng)我們要做一個“view”操作,它對應(yīng)于一個“contact”,然后調(diào)用startActivity(IntentIntent)。當構(gòu)造的Intent傳入時,系統(tǒng)將根據(jù)Intent中的描述在清單中找到滿足Intent需求的活動。系統(tǒng)將調(diào)用找到的活動,即detailActivity。最后,意圖被傳入,detailActivity將根據(jù)Intent中的描述執(zhí)行相應(yīng)的操作。第4章系統(tǒng)分析與設(shè)計4.1系統(tǒng)流程和功能模塊分析系統(tǒng)流程主要是對“天天學(xué)”App進行詳細描述,通過采用系統(tǒng)流程圖形來描述管理業(yè)務(wù)活動、進行規(guī)范化說明,主業(yè)務(wù)流程介紹,如圖4-1所示:(1)啟動程序,登錄界面,輸入手機號與密碼登錄進入代辦界面,點擊注冊進入注冊界面;(2)進入注冊界面后,出現(xiàn)五個窗口,分別是用戶名、手機號、密碼、密碼2,輸入完成點擊注冊,將信息傳入數(shù)據(jù)庫;(3)進入代辦界面后,點擊右上角加號添加事件,輸入名稱和時間后點擊添加將在代辦界面上出現(xiàn)代辦項,點擊加號可添加子代辦項,點擊垃圾桶可刪除代辦項,點擊代辦項名字進入倒計時時鐘;(4)倒計時時鐘根據(jù)設(shè)定的時間,點擊開始即開始倒計時,倒計時完成會彈出“完成”;(5)點擊底部“讀書”進入書籍模塊,頂部輸入書籍名,再點擊放大鏡,即可模糊搜索出書籍,點擊右下角加號導(dǎo)入手機中的書籍文檔,點擊星號收藏書籍,點擊垃圾桶刪除書籍;(6)點擊底部“我的”進入個人模塊,點擊頭像進入個人信息,可查看用戶名和手機號;點擊“我的收藏”查看收藏的書籍;點擊“外觀設(shè)置”可將其中某主題替換當前主題;點擊“回收站”可查看已刪除的書籍。下面對給個功能模塊進行介紹:(1)注冊模塊:注冊賬號傳入數(shù)據(jù)庫。(2)登錄模塊:用賬號登錄軟件。(3)代辦模塊:管理個人計劃。(4)書籍模塊:管理和查看導(dǎo)入的書籍。(5)個人模塊:查看個人信息、收藏、回收站,更換主題。圖4-1功能模塊圖4.2模塊設(shè)計4.2.1登錄模塊登錄界面:對比數(shù)據(jù)庫檢測手機號與密碼是否對應(yīng),若對應(yīng)則進入,若錯誤則給出提示。initView初始化界面,onClick觸發(fā)事件,對比數(shù)據(jù)庫,檢查手機號是否有誤、密碼是否有誤,賬號是否存在,密碼與賬號是否匹配,如圖4-2所示。圖4-2手機號、密碼校驗圖校驗方法為CommonUtil中g(shù)etBooleanValue方法判斷輸入數(shù)值是否為空,如圖4-3所示。圖4-3校驗方法圖isMoblieNo方法校驗手機號碼,如圖4-4所示。圖4-4校驗手機號圖4.2.2代辦模塊代辦模塊:可以添加一級欄目,設(shè)置任務(wù)時間,點擊欄目名稱觸發(fā)事件,進入倒計時模塊,點擊加號為該欄目添加子一級欄目,設(shè)置任務(wù)時間,之后同理。進入倒計時模塊后,時鐘部分進度條的最大值為剛剛設(shè)置的時間,當前的角度alphaAngle=(currentValue/maxValue)*360。設(shè)置時鐘的顏色、文字的顏色、背景等,倒計時完畢顯示完成。recyclerview主目錄相當于一個列表,每個主目錄下對應(yīng)一個二級目錄,

二級目錄也是一個列表,所以在二級目錄里也聲明了一個recyclerview,如圖4-5所示。圖4-5列表圖

數(shù)據(jù)保存使用:初始化數(shù)據(jù)庫圖4-6,用的liteOrm(封裝了sqllite數(shù)據(jù)庫),其中聲明了插入或者更新對象圖4-7(有則更新,無則插入),更新數(shù)據(jù)圖4-7,刪除對象圖4-8,查詢數(shù)據(jù)總數(shù)圖4-9。查詢列表與倒序查詢圖4-10,根據(jù)ID查詢數(shù)據(jù)圖4-11,查詢某字段等于value值圖4-12,模糊查詢getQueryByData圖4-13。全名查詢(查詢某字段=value值)用的queryByWhere。圖4-6初始化數(shù)據(jù)庫圖圖4-7插入、更新圖圖4-8刪除圖圖4-9查詢數(shù)據(jù)總數(shù)圖圖4-10查詢列表、倒序查詢圖圖4-11查詢ID數(shù)據(jù)圖圖4-12校驗字段是否正確圖圖4-13模糊查詢圖書的列表用注解@Table("booktable")表示一個表。@PrimaryKey(AssignType.BY_MYSELF)為聲明自增長的主鍵,圖4-14圖4-14建立書表格

倒計時:initData方法是主界面,用到ProgressView控件,在其基礎(chǔ)上進行參數(shù)的修改,涉及到自定義view。dataTime是上一個界面?zhèn)鬟^來的設(shè)置的時間。時間是1~60。1代表1分鐘,60代表60分鐘.1分鐘60秒,每秒1000毫秒。所以duration的值為1000*60*dataTime。再將duration的值傳回initData。initData中封裝了一個方法setDuration。其作用是判斷,設(shè)置的時間與倒計時的時間是否相等,如果相等的話那么就倒計時完成,之后把中間顯示時間的數(shù)值置換為完成。按進度顯示百分比,可選擇是否啟用數(shù)字動畫,如圖4-15所示。圖4-15倒計時算法圖4.2.3書籍模塊書籍模塊:點擊右下角加號可以觸發(fā)讀取SD卡中文本的活動,讀取成功后顯示書籍圖片及書籍名稱,點擊右上角可以刪除書籍。點擊星號可以收藏當前書籍,再次點擊可以取消收藏。頂部有搜索框,可以使用模糊查找,查找到已經(jīng)導(dǎo)入的書籍,并進入。進入書籍后,可以滑動查看書籍,緩存后可離線閱讀。左上角顯示章節(jié),左下角顯示閱讀進度,右下角顯示設(shè)置,點擊設(shè)置,可以快速跳轉(zhuǎn)到上一章或者下一章,選擇字體加粗或是普通,選擇翻頁模式滑蓋、平移、剪切。調(diào)節(jié)背景顏色。onActivityResult方法圖4-16,拿到手機上txt文件的URL,然后用setOnItemListener對此路徑進行判斷,是否存在,有沒有出路徑錯誤。如果錯誤,就會用CommonUtil下的showToast方法顯示“文件不存在”圖4-17。如果是正確的路徑,那么通過loadTextFile加載該路徑下的txt文件,使用HwTxtPlayActivity插件,加載文件,用getBookName方法得到書名圖4-18。圖4-16校驗路徑圖圖4-17返回校驗路徑結(jié)果圖圖4-18加載文件圖4.2.4注冊模塊注冊界面:檢測手機號形式是否合法,檢測該用戶是否注冊過,若未注冊過,將新的用戶信息上傳liteOrm數(shù)據(jù)庫。若注冊過則返回提示信息。初始化界面后對比用戶名稱是否符合標準,如果不符合則彈出“昵稱輸入有誤”,用戶名標準后檢查手機號是否符合標準,不符合則彈出“手機號輸入有誤”,檢查兩次密碼是否相同,若不相同則彈出“確認密碼有誤”,如圖4-19所示。若相同,點擊注冊后彈出“注冊成功”,如圖4-20所示圖4-19信息檢測圖圖4-20注冊成功圖4.2.5個人模塊個人模塊,點擊頭像查看用戶名和手機號,頭像通過剪裁,為原型置于正中。我的收藏界面可以查看之前點擊星號收藏的書籍。外觀設(shè)置默認為白色,可換位黑色?;厥照究梢圆榭磩h除過的書籍名稱和圖像。使用GlideUtil插件制作圓形頭像,使用glideCircleLoader2方法加載本地圖片如圖4-21,再用CircleCrop方法對圖像進行裁剪。點擊頭像激發(fā)MinePersonActivity進入個人信息圖4-22界面。點擊我的收藏觸發(fā)MineSCActivity如圖4-22。點擊背景修改觸發(fā)MineBcgActivity如圖4-23。點擊回收站觸發(fā)MineLjActivity如圖4-24。圖4-21加載本地圖片圖圖4-22我的收藏圖圖4-23背景圖圖4-24回收站圖4.3結(jié)構(gòu)設(shè)計4.3.1類結(jié)構(gòu)本學(xué)習(xí)軟件名為“天天學(xué)”,存儲活動類的包activity其中的類為點擊或加載、讀取等事件響應(yīng),存儲布局規(guī)劃類的adapter包,存儲數(shù)據(jù)操作類的bean包,存儲各模塊框架類的fragment包,存儲數(shù)據(jù)庫操作類的liteOrm包,存儲圖片裁剪,倒計時運算等工具類的Util包。事件活動類下包含創(chuàng)建代辦類HomeAddActivity,登錄事件類LoginActivity,背景設(shè)置事件類MineBcgActivity,回收站類MineLjActivity,個人信息事件類MinePersonActivity,我的收藏類MineSCActivity,注冊界面類RegisterActivity,任務(wù)開始活動類TaskStartActivity,加載js類WebViewActivity。存儲布局規(guī)劃類adapter包,包含網(wǎng)絡(luò)布局分割線類MyGridItemDecoration,線性布局分割線類MyLinearItemDecoration存儲數(shù)據(jù)操作類的包bean,其中有書籍操作類BookBean,書籍路徑檢查是否規(guī)范類BookDelBean,用戶個人信息操作類UserBean,選項卡類TabItem,任務(wù)操作類TaskBean,任務(wù)界面操作類TaskMenuBean。存儲各模塊框架類的fragment包,其中閱讀模塊類DataFragment,代辦事件類HomeFragmen,個人中心類MineFragment存儲數(shù)據(jù)庫操作類的liteOrm包包含數(shù)據(jù)庫的增刪改查操作封裝類DBHelper。存儲工具類的Util包,其中有,判斷手機號、判斷書籍路徑是否正確的工具類CommonUtil,加載圖片類GlideUtil,自定義網(wǎng)絡(luò)加載框類MyProgressDialog,文件儲存類SPUtils。存儲資源文件res包,其中包含drawable,drawable-v24,layout,mipmap-anydpi-v26,mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi,mipmap-xxhdpi,mipmap-xxxhdpi,values,xml。4.3.2主要函數(shù)及變量1.WebViewActivityonDestroy()注銷WebView,防止內(nèi)存泄漏2.MyGridItemDecoration圓點不能作為序號,下面的用(1)(2)圓點不能作為序號,下面的用(1)(2)網(wǎng)絡(luò)布局分隔線MyGridItemDecoration(inthorizonSpan,intverticalSpan,intcolor,booleanshowLastLine)計算偏移量getItemOffsets(RectoutRect,Viewview,RecyclerViewparent,RecyclerView.Statestate)getSpanCount(RecyclerViewparent)獲取列數(shù)isLastRaw(RecyclerViewparent,intpos,intspanCount,intchildCount)判斷最后一行g(shù)etResult(intpos,intspanCount,intchildCount)Builder(Contextcontext)使用builder構(gòu)造setColorResource(@ColorResintresource)通過資源文件,設(shè)置分割線顏色setColor(@ColorInt

intcolor)設(shè)置顏色setVerticalSpan(@DimenResintvertical)通過dp設(shè)置垂直問題setVerticalSpan(floatmVertical)通過px設(shè)置垂直問題setHorizontalSpan(@DimenResinthorizontal)通過dp設(shè)置水平問題setHorizontalSpan(floathorizontal)通過px設(shè)置水平問題setShowLastLine(booleanshow)是否最后一條顯示分割線3.MyLinearItemDecoration線性布局分割線MyLinearItemDecoration(intspan,intleftPadding,intrightPadding,intcolor,booleanshow)Builder(Contextcontext)builder模式setSpan(floatpixels)設(shè)置分割線寬度setSpan(@DimenRes

intresource)setPadding(floatpixels)設(shè)置左右間距setPadding(@DimenRes

intresource)setLeftPadding(floatpixelPadding)設(shè)置左間距setRightPadding(floatpixelPadding)設(shè)置右間距setLeftPadding(@DimenResintresource)通過資源id設(shè)置左間距setRightPadding(@DimenResintresource)通過資源id設(shè)置右間距setColorResource(@ColorResintresource)通過資源id設(shè)置顏色setColor(@ColorInt

intcolor)設(shè)置顏色setShowLastLine(booleanshow)是否最后一條顯示分割線4.BasePresenterattachView(Vview,BaseActivitycontext)弱引用detachView()解除綁定cancelRequest(){OkGo.getInstance().cancelTag(this);}取消網(wǎng)絡(luò)請求5.BaseActivityinitView()初始化控件initData()為控件添加點擊事件getPresenter()實例化PresentergetLayoutId()傳遞用戶創(chuàng)建的LayoutId值6.BaseFragmentinitView()初始化控件initData()為控件添加點擊事件getPresenter()實例化PresentergetLayoutId()傳遞用戶創(chuàng)建的LayoutId值7.BaseViewshowLoading()網(wǎng)絡(luò)請求加載框hideLoading()取消網(wǎng)絡(luò)請求加載框8.DataFragmentchooseFile()checkSearchTv()判斷輸入框是否有內(nèi)容9.DBHelperDBHelper()數(shù)據(jù)庫get()initDB(Contextcontext)初始化數(shù)據(jù)庫insertOrUpdate(Objectobject)插入或更新對象update(Objectobject)更新數(shù)據(jù)insert(Objectobject)插入或者更新對象delete(Objectvar1)刪除對象deleteAll(Class<T>var1)刪除所有對象queryCount(Class<T>var1)查詢數(shù)據(jù)總數(shù)queryDesc(Class<T>var1)查詢列表——倒序query(Class<T>var1)查詢列表queryById(longvar1,Class<T>var2)根據(jù)ID查詢數(shù)據(jù)queryByWhere(Class<T>cla,Stringfield,Stringvalue)查詢某字段是否等于Value值queryByWhere2(Class<T>cla,Stringfield,Stringvalue)模糊查詢getQueryByData(Class<T>cla,Stringfield,Object[]value)模糊查詢10.MainPresentergetLogin(Stringphone,Stringpwd)測試網(wǎng)絡(luò)接口11.ProgressViewmaxValue=60*60進度條最大值currentValue當前進度值alphaAngle每次掃過的角度,用來設(shè)置進度條圓弧對應(yīng)的圓心角firstColor底部圓弧的顏色secondColor進度條圓弧塊的顏色centerTextColor=Color.BLUE中間文字顏色(默認藍色)centerTextSize中間文字的字體大小(默認40px)circleWidth圓環(huán)的寬度circlePaint畫圓弧的畫筆textPaint畫文字的畫筆isShowGradient=false是否使用漸變色colorArray=newint[]{Color.parseColor("#2773FF")漸變圓周顏色數(shù)組drawCircle(Canvascanvas,intcenter,intradius)繪制進度圓弧drawText(Canvascanvas,intcenter)繪制文字setCircleWidth(intwidth)設(shè)置圓弧的寬度setFirstColor(intcolor)設(shè)置圓環(huán)的底色,默認為亮灰色setSecondColor(intcolor)設(shè)置進度條的顏色,默認為藍色setColorArray(int[]colors)設(shè)置進度條漸變色顏色數(shù)組setDuration(intduration,OnFinishListenerlistener)按進度顯示百分比,可選擇是否啟用數(shù)字動畫,動畫時長stopAnimator()退出界面時關(guān)閉動畫,防止自定義view一直繪畫第5章系統(tǒng)測試5.1登錄模塊點擊軟件圖標進入“天天學(xué)”APP,首先出現(xiàn)如圖5-1所示登錄界面,輸入手機號、密碼,如果與數(shù)據(jù)庫正確匹配,點擊登錄即可進入主界面。若匹配對應(yīng)匹配失敗,則顯示“用戶名不存在”或“密碼不正確”。測試步驟及結(jié)果如表5-1所示。圖5-1登錄界面圖序號操作場景描述測試預(yù)期測試結(jié)果1手機號與密碼匹配進入主界面與預(yù)期一致2手機號與數(shù)據(jù)庫不匹配手機號不存在與預(yù)期一致3密碼與手機號不匹配密碼錯誤與預(yù)期一致4點擊注冊進入注冊模塊進入注冊模塊與預(yù)期一致表5-1登錄模塊測試步驟及結(jié)果5.2注冊模塊進入注冊模塊如圖5-2,填寫用戶名、手機號、密碼,并再次確認密碼,點擊注冊,將以上數(shù)據(jù)聯(lián)合保存入數(shù)據(jù)庫,顯示“注冊成功”。如果用戶名在數(shù)據(jù)庫中存在,則顯示用戶名已存在。如果手機號不符合手機號長度,則顯示手機號有誤。如果兩次密碼不一致,則顯示密碼不一致。測試步驟及結(jié)果如表5-2所示。圖5-2注冊界面圖序號操作場景描述測試預(yù)期測試結(jié)果1各部分數(shù)據(jù)符合規(guī)定注冊成功與預(yù)期一致2用戶名在數(shù)據(jù)庫中存在用戶名已存在與預(yù)期一致3手機號不符合規(guī)定手機號有誤與預(yù)期一致4密碼1與密碼2不一致密碼不一致與預(yù)期一致表5-2注冊模塊測試步驟及結(jié)果5.3代辦模塊代辦集模塊及時鐘模塊如圖5-3,右上角的加號按鈕,點擊觸發(fā)添加事件,輸入名稱和時間,成功添加代辦時間,時間為60min以內(nèi)。父代辦時間右方加號可添加子代辦,過程同父代辦。右方垃圾桶圖標,點擊觸發(fā)刪除事件,刪除子代辦或父代辦。點擊代辦名稱,進入倒計時界面,點擊開始,即時鐘開始倒計時,倒計時完畢顯示任務(wù)完成。測試步驟及結(jié)果如表5-3所示。圖5-3代辦圖序號操作場景描述測試預(yù)期測試結(jié)果1添加代辦事件成功添加并顯示與預(yù)期一致2添加子代辦事件成功添加并顯示與預(yù)期一致3刪除代辦/子代辦事件成功刪除與預(yù)期一致4點擊開始,開始倒計時,倒計時精確,完成后顯示事件完成成功開始,時間準確,結(jié)束顯示事件完成與預(yù)期一致表5-3代辦模塊測試步驟及結(jié)果5.4書籍模塊書籍模塊如圖5-4所示,點擊加號進入SD卡,可添加TXT文件,添加完成后點擊書的圖片即可進入閱讀。五角星點擊后變成金色為收藏成功并在收藏夾中顯示,再次點擊觸發(fā)取消收藏事件,垃圾桶圖標點擊觸發(fā)刪除事件,刪除書籍及有關(guān)信息。搜索框可以搜索已經(jīng)添加的圖書名,模糊搜索,點擊右邊放大鏡開始搜索。測試步驟及結(jié)果如表5-4所示。圖5-4書籍界面圖序號操作場景描述測試預(yù)期測試結(jié)果1點擊加號,添加書籍成功添加,并顯示書籍及其封面與預(yù)期一致2點擊星號,收藏書籍成功收藏,并在收藏夾中顯示與預(yù)期一致3點擊垃圾桶,刪除書籍刪除成功與預(yù)期一致4放大鏡,模糊搜索書籍顯示書籍與預(yù)期一致表5-4書籍模塊測試步驟及結(jié)果5.5個人模塊個人模塊的界面如圖5-5所示,點擊頭像,進入個人信息模塊,可查看用戶名、手機號,如圖5-5所示。點擊我的收藏,查看星文件,如圖5-6中1圖所示。點擊外觀設(shè)置,可以調(diào)節(jié)軟件整體主題,如圖5-6中2圖所示。點擊回收站,可以看到刪除的書籍及封面,如圖5-6中3圖所示。測試步驟及結(jié)果如表5-5所示。圖5-5個人界面圖序號操作場景描述測試預(yù)期測試結(jié)果1點擊頭像,查看個人信息成功查看手機號和ID與預(yù)期一致2點擊我的收藏,查看收藏書籍成功查看收藏與預(yù)期一致3點擊外觀設(shè)置,查看主題類型,其中其一可以改變主題成功查看并改變主題與預(yù)期一致4點擊垃圾站,查看刪除的書籍成功查看刪除的書籍與預(yù)期一致表5-5個人模塊測試步驟及結(jié)果圖5-6收藏、背景、回收站界面圖

結(jié)論隨著手機在學(xué)生中的普及,手機中的學(xué)習(xí)軟件可能伴隨他們學(xué)習(xí)階段。設(shè)計一款實用的學(xué)習(xí)軟件是很重要的,它可以提供簡約清新的任務(wù)管理,簡單高效管理習(xí)慣和目標,豐富的計時功能,本文設(shè)計了一款書籍管理類app,包括注冊模塊、登錄模塊、書籍模塊和個人模塊。登陸模塊實現(xiàn)手機號、密碼、登錄、注冊按鈕,頭像顯示;注冊模塊實現(xiàn)用戶名、手機號、密碼、確認;代辦模塊實現(xiàn)增加、刪除代辦,主目錄下增加刪除子目錄,倒計時時鐘、時鐘背景圖片插入;書籍模塊實現(xiàn)書名模糊搜索,書本、書籍導(dǎo)入,收藏、取消收藏和刪除;個人模塊實現(xiàn)頭像點擊進入詳細信息,收藏夾、回收站、主題更改。該app可以隨時隨地獲取、整理、分享書籍,讓生活更有序、工作更高效、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論