




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科生畢業設計論文中文題目安卓電子詞典設計英文題目electronicdictionarydesignbasedonandroid學生姓名吳泳濤班級12通信2學號19學院電子信息與機電工程學院專業通信工程指導教師程緒信職稱副教授肇慶學院本科生畢業設計(論文)聲明本人鄭重聲明:所呈交的本科畢業設計(論文)是本人在肇慶學院學習期間,在指導教師指導下獨立完成,內容真實可靠,無抄襲、剽竊等學術道德不端行為,除文中已經注明引用的內容外,本文不包含任何其他個人或集體已經發表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。同時,本人完全了解并愿意遵守肇慶學院有關保存、使用
2、畢業論文(設計)的規定,其中包括:1 .學院有權保管并向有關部門遞交畢業設計(論文)的原件、復印件和電子文件。2 .學院可以采用影印、縮印、電子文件或其他復制方式保存畢業設計(論文)3 .學院可以以學術交流為目的,贈送和交換畢業設計(論文)。4 .學院可以允許畢業設計(論文)被查閱或借閱。5 .學院可以按著作權法的規定公布畢業設計(論文)的部分內容或全部內容保密畢業設計(論文)在解密后遵守此規定。6 .除另有科研合同或其他法律文書制約,本文的科研成果屬于肇慶學院。本聲明的法律結果將完全由本人承擔。作者簽名:日期:年月日本科生畢業論文(設計論文)學生簽名年月日指導教師簽名年月日評閱教師簽名年月日
3、中文摘要近幾年,智能手機一直處于高速發展狀態,智能手機操作系統份額的越來越高。智能操作系統與非智能操作系統最大的區別在于其多種多樣的應用功能。用戶只需拿出手機,點擊程序應用便能享受到上網,查詢,聊天,購物,訂餐,學習等服務。正如我們所見,智能操作系統極大地方便了人們的生活。因此,開發智能手機的應用程序將有廣闊的發展前景。在潛力如此巨大的市場中,開發一款便民利民的安卓應用成為了當務之急。在開發前,根據自己的能力,我給自己的畢業設計制定了設計目標并且提出了一些要求。從最初網上和圖書館查閱資料,到功能模塊設計,編碼設計再到編碼查錯,最后到系統測試,無一不是我學習成長的歷程。通過深入學習java語言技
4、術以及安卓開發基礎,我一步一步地朝著目標前進,逐漸地完成各個系統設計的功能。本英文詞典學習系統界面簡潔,功能多樣,具有良好的體驗。在使用一個月后,都沒有發現重大問題,滿足普通用戶查詢單詞,翻譯短句,記憶測試的需求,并為用戶提供方便快捷的服務。關鍵詞:安卓;電子詞典設計;智能手機平臺AbstractInrecentyears,thesmartmobilephonearedevelopinginahighspeed,whichthepercentageofthesmartphoneoperatingsystemisgrowinghigherandhigher.Thegreatestdifferen
5、cebetweensmartphoneoperatingsystemandtheusualoperatingsystemisthevarietiesofapplications.Weonlyneedtotakethephoneandopentheapplication,thenwewanttogetaccesstotheInternetforchatting,shopping,orderingmeals,learning,andsoon.Aswecansee,smartphoneoperatingsystemprovidespeople'slifewithgreatconvenienc
6、e.Thereforeitspromisingtodevelopthesmartphoneapplication.Insuchgreatpotentialmarketitispressingtodevelopanandroidapplicationthatserversforpeople.Beforedevelopingtheapplication,accordingtomyability,Ihavesettargetformydesignandputforwardsomerequirements.Atfirst,IsearchinformationfromthelibraryandtheIn
7、ternet.Itisagreatprocessfromfunctionmoduledesign,codingdesign,codingerrorchecking,andfinallytothesystemtesting,whicharemylearningprocess.Byin-depthstudyofthetechnologyofJavaskillsandthebasisofAndroiddevelopment,Istepbysteptowardsthegoalandgraduallycompletethefunctionofeachsystemdesign.TheEnglishdict
8、ionarylearningsystemownsexcellentexperiencebecausetheuseranterfaceisverysimpleandthefunctionisofgreatvarieties.Afterusingamonthlater,Icannotfindanyproblems.Ordinaryusersaresatisfiedwithqueryingwords,translatingphrasesandtestsofmemory.Inasense,itprovidesuserswithconvenientandefficientservices.Keyword
9、s:android;electronicdictionarydesign;smartphoneplatform第1章緒論11.1 研究現狀和發展趨勢11.2 研究意義31.3 研究內容31.4 研究目標3第2章系統分析42.1 需求分析42.2 業務流程分析42.3 數據流圖52.4 數據字典62.5 性能分析7第3章系統開發環境及相關技術83.1 系統開發環境83.2 JAVA技術介紹93.3 SQLite數據庫介紹93.4 Android系統平臺123.4.1 Android系統平臺的特點123.4.2 Android系統平臺的架構133.4.3 Android應用程序框架133.4.4
10、系統運行庫143.5 Android程序的結構和運行機制15第4章程序設計174.1 功能設計174.2 數據庫設計184.2.1 概念結構設計184.2.2 數據庫表設計19第5章程序開發215.1 文件結構與用途215.2 系統實現225.2.1 啟動頁235.2.2 首頁235.2.3 單詞查詢245.2.4 在線句子翻譯265.2.5 記憶測試265.2.6 生詞本27第6章系統測試296.1 系統測試的重要性296.2 系統測試的目的296.3 測試實例的研究與選擇296.4 測試環境與條件306.5 系統運行情況30總結參考文獻致謝附錄AI第1章緒論本章首先介紹了當今智能手機系統的
11、發展現狀以及英語全球化的發展趨勢,根據市場的需求分析得出需要研究的內容,目標以及意義。研究內容主要包括學生的需求分析和軟件系統設計。1.1 研究現狀和發展趨勢NetMarketShare分享了2015年9月份全球手機系統的數據,安卓手機操作系統市場份額位居第一位,達到了53.54%。緊隨其后白是蘋果的iOS智能手機操作系統,它的市場份額有37.60%,相比上月的40.82%下降了3個百分點。第三大智能手機系統雖然是WindowsPhone,但市場占有率只有2.48%,與塞班差距并不大,后者市場份額為2.44%。通過數據又t比得知,iOS系統平穩發展,不開源,屬于發燒級,是時尚年輕人選擇的iph
12、one手機時不可選擇的系統。黑莓系統目前應用受限,中國市場不大,只有黑莓熱愛者堅持著一代又一代。塞班系統常用應用的都有,但是游戲偏少,系統容易上手,操作簡單1owindowphone系統用戶體驗流暢度很好,界面簡潔,美觀。但是依然受限于軟件,和用戶操作權限問題(比如自定義鈴聲),如果解決這些問題,可能會有市場空間。至于安卓的發展,因為開源且免費的原因,將會一直作為大多數手機的系統存在下去。很明顯,智能手機將是社會通信發展的趨勢了。因為安卓平臺的智能機在手機市場中份額越來越重,所以越來越多人會選擇安卓手機。所以我選擇了安卓平臺進行開發。今天,英語作為主流國際通用語言廣泛應用于世界各地。在全球范圍
13、內,使用人數最多和流通率最高的語言便是英語。以英語作為母語的國家有十幾個,四十八個國家的官方語言是英語。世界上接近三分之一的人口(也就是二十多億人)講英語。在一些母語不是英語的國家,他們的第二語言一般是英語。如果是搞學1術研究,想要深造都得寫英文論文,至少要讀英文論文,要看明白英文,還得理解表達的內容。如果是從事軟件開發行業,許多軟件都是英文版,許多好的論壇都是英文的,比如stackoverflow等。IT企業許多是外資的,做生意的許多人喜歡和外國人做,郵件電話全是英文2。說到出國,不會英文比較麻煩,在國外還沒上飛機,各種英文標版要看懂,英文廣播要聽懂,有時候要問路也要講英文。還沒下飛機各種英
14、文表格要填寫,出關的時候關員問你一下問題,英文的。在各個景點旅館交流用英文都不錯。全世界使用范圍最廣泛的語言便是英語。全世界百分之六十的電視節目是講英語,百分之七十的e-mail是使用英語書寫,就連我們的電腦鍵盤是標志著各種英文單詞。一些官方的或比較重要的文件都是使用英語或者附帶英文注釋。還有,英語是外貿行業溝通的第一語言。此外,在醫學、建筑、科技,文化等領域,都與英語息息相關。我們國家的發展也需要英語。中國自改革開放以來確實發生了翻天覆地的變化,社會得到了全面的發展。但是,在很多技術層面,我們仍然是落后于西方先進國家。單靠自己搞研究是不可能的。清朝閉關鎖國的歷史是告訴我們要發展,要進步,要在
15、較短的時間內掌握各種技術,就必須學習引進發達國家先進的技術。而學習的必要條件便是要掌握通用的技術交流語言-英語。舉個例子,安卓軟件開發-盡管目前的許多編程軟件已經有漢化版,但要深入進行應用程序開發,就得學習國外的先進編程技術。然而高新技術資料很多都是用英語撰寫的,單憑翻譯還是難以理解的,只有自己理解了才會運用。同樣為發展中國家的印度,盡管在許多方面發展都中國落后,但是印度的軟件開發行業水平卻比中國高得多。其中一個重要原因就是印度程序開發者英語應用水平基本比中國程序開發者高。如今是全球化的時代,在學習別人先進技術,經驗的同時,我們也需要和其他國家展開各種技術上與經濟上的合作。假如我們不懂英語,便
16、無法與合作方溝通交流,也更不用說合作了。打比方,某公司創造性地開發了一個具有潛力巨大的產品,一旦進入國際市場,將是一片光明。但是偏偏公司沒人會說英語,不能很好地與國外客戶溝通,不能將產品的優良性能展示出來,結果造成了重大損失。可見,英語無處不在,一直存在我們身邊。英語對于我們而言,它是一種交流工具,是我們與世界先進技術,資源共享的重要橋梁1.2 研究意義在信息快速發展的今天,手機應用逐漸成為人們生活的必需品。英語在全球范圍多個領域被廣泛使用。作為一名通信專業的學生,我希望通過自己四年所學的知識,順應潮流發展趨勢,開發一款基于安卓平臺的英文學習系統,方便同學們英語單詞的學習。當我們在學習記憶英文
17、單詞時,只靠死記硬背往往難以記住,更何況還要翻越厚厚一本重達幾斤的牛津詞典。為了解決傳統學習英文單詞的難點,本人設計了單詞查詢,記憶測試等多個模塊,人們只需打開應用,輸入單詞,便能查詢到釋義,并且保存到生詞本以便學習。通過這款基于安卓系統的英文詞典學習系統來降低單詞記憶的難度,服務大眾,更好地發揮對社會發展的實際作用。1.3 研究內容1、根據學生英語學習情況,研究學生英語學習需求2、根據需求分析并研究軟件系統功能設計。3、研究系統的調試過程。1.4 研究目標(1)掌握英文詞典學習系統的設計流程(2)掌握多種組件在安卓開發中的作用(3)掌握英文詞典學習系統的調試運行過程。第2章系統分析本章主要介
18、紹了軟件系統的需求分析,業務流程分析,數據流圖,數據字典以及性能分析。主要的需求包括:在離線狀態對生僻單詞的查詢,在線句子翻譯,自由添加查看及刪除生詞本,能夠對添加進生詞本的單詞進行記憶測驗。2.1 需求分析基于對傳統單詞學習系統的了解,體驗了傳統單詞學習的過程,分析系統需求,概括了本系統所需求的功能:1 .實現在離線狀態對生僻單詞的查詢。2 .實現應用有道API傳輸方式進行在線句子翻譯。3 .實現自由添加查看及刪除生詞本。4 .能夠對添加進生詞本的單詞進行記憶測驗的測試功能。根據上述,基本了解系統的功能需求。本軟件是一個Android客戶端應用程序,只需打開應用程序便可在線句子翻譯。客戶端系
19、統的在線句子翻譯信息數據是調用有道API服務端應用程序獲取的,后臺服務器根據客戶端發出的請求,返回XML數據信息結果。2.2 業務流程分析業務流程分析指引著開發者前進的方向,有效地幫助開發者尋找業務處理中出現的問題并彌補業務缺漏。業務流程分析是一般用業務流程圖表示。具體業務流程如圖2-1所示::用戶)英譯漢,漢譯英在線句子翻譯一一一生詞本,記憶測試4詞庫信息,有道API-_LJ生詞本信息圖2-1業務流程圖2.3數據流圖數據流動過程反映了實際業務的數據處理模式。頂層數據流圖如圖2-2所示:單詞信息a/用戶K相關缶息圖2-2頂層數據流圖由于數據流圖過多,無法把數據流圖全部列舉出來,數據流圖,其它的
20、數據流圖以此類推。一:英語學習平臺所以本文只列出了頂層2.4數據字典數據字典描述數據流圖中使用到的一些重要參數,包括數據元素條目、數據流、處理過程、數據存儲和外部實體。3數據元素條目包括單詞信息,生詞本信息,英語句子信息,漢英信息。單詞信息數據元素如表2-3所示:表2-3單詞信息數據元素數據元素條目總編號:1-101編號:101名稱:單詞信息編號101說明:單詞信息的編號數據值類型:離散生詞本信息數據元素如表2-4所示:表2-4生詞本信息數據元素數據元素條目總編號:1-102編號:102名稱:生詞本信息編號102說明:生詞本信息的編號數據值類型:離散英語句子信息數據元素如表2-5所示:表2-5
21、英語句子信息數據元素數據元素條目總編號:1-103編號:103名稱:英語句子信息編號103說明:英語句子信息的編號數據值類型:離散漢英信息數據元素如表2-6所示:表2-6漢英信息數據元素數據元素條目總編號:1-104編號:104名稱:漢英信息編號104說明:漢英信息的編號數據值類型:離散2.5性能分析性能:系統程序響應速度和處理速度快,錯誤率低以及安全系數高第3章系統開發環境及相關技術本章主要介紹了系統的開發環境和android平臺架構和運行機制,主要使用的技術包括java技術。系統數據庫主要采用SQLite數據庫,本章還介紹了SQLite數據庫的建立,增加,查詢。3.1系統開發環境操作系統:
22、Windows10profession系統開發語言:JavaEE數據庫:SQLite開發平臺:Eclipse開發環境需要如下插件:(1)JavaSDK:JDK(JavaSoftwareDevelopmentKit),即java軟件開發工具包),它是開發調試運行所必不可缺少的工具。4(2)Eclipse:Eclipse是一個開放源代碼的,通過插件組件構建開發環境,基于Java的可擴展開發平臺。Eclipse附有了一個標準的插件集,包含Java開發工具。eclipse本身僅僅是一個框架和一組服務。5(3)ADT:是一個壓縮包文件,全稱為AndroidDevelopmentTools,它是基于ecl
23、ipse平臺用來開發安卓應用程序的插件。6(4)AndroidSDK:(androidsoftwaredevelopmentkit),即安卓軟件開發工具包。它是一個包含多種專用軟件包、框架包、插件等運行應用程序所需的開發工具集合。它包含開發應用所需要的jar文件、運轉環境及相關工具。73.2 JAVA技術介紹Java是發展至今仍然十分流行的一種高級計算機編程語言。之所能持續流行至今的原因非常之多,個人認為這得歸功于它的超高的可移植性、面向對象開發、跨平臺等優點。Java語言有說不盡的優點,它對人類歷史的影響不可一日而言。java是自由和開源的代名詞,成為全世界各種領域學習者為之瘋狂的語言。隨著
24、Java的不斷發展,慢慢衍生出了各種各樣豐富而實用性極強的框架。Java編程語言,對于那些第一次接觸軟件開發的人來說,想看懂Java編程語言的語法結構相對于iOS,C#和C+來說是非常容易的,而且通俗易懂,非常適合初學者和第一次接觸Java編程的學生。這也體現了Java語言對軟件開發者甚至軟件開發初學者來說十分通俗易懂,容易上手的特點。Java語言作為一種跨平臺應用的編程語言中的佼佼者,加上它是以面向對象的軟件開發方式進行軟件開發的一種編程語言,它極大地簡化了編程開發的思維方式,讓程序員可以利用更加清晰明了思維方式來進行邏輯程序編寫,由于Java具有太多其他操作平臺無法比擬的特性,使得Java
25、在各個領域得到了廣泛的運用。軟件開發者“用Java語言來編寫程序的時候,并不需要使用指針,相反而是使用引用來進行程序的編寫。Java將C+語言中的指針替換成了引用,從而減少了指針可能帶來的不好影響,這大大降低了編程的難度。在延續了C+面向對象開發的思想同時,java還改用接口替換了C+的多態繼承和運算符重載語言”綜上所述,說明Java編程語言是一種應用十分廣泛而且依舊是不可缺少的強力優秀編程語言。3.3 SQLite數據庫介紹對于開發者來說,假如說一定要找到一個最輕量級的數據庫的話,那么SQLite數據庫將會是首選。為什么說SQLite是最輕量級的數據庫呢?因為軟件開發者在使用這一數據庫之前,
26、一般都不用提前安裝任何驅動,也不用進行相應9的繁雜的參數配置。與別的數據庫相互對比之后,我們便可以輕松看出這個輕量級的SQLite數據庫,具有數不完的便利性和好處,這很大程度上減少了軟件開發者的代碼編譯量和減少了開發時間,從而提高程序員的軟件開發和代碼塊查看與修改的效率,也大大減少了程序調試過程中,可能會出現的錯誤幾率甚至會導致程序編譯奔潰的情況出現。SQLite被廣泛運用在各個領域,而且單線程讀寫性能和MySQL不相上下,并且保證了ACID性。SQLite數據庫廣泛運用于手機應用和桌面軟件。不僅如此,SQLite還是一個齊全的SQL系統,具有齊全的觸發器,反饋等。因為安卓在運行時集成了SQL
27、ite,故任何一個安卓應用均可用SQLite數據庫。對于SQL比較熟悉的開發者來說,在安卓開發中使用SQLite非常容易。但是,因為JDBC(javadatabaseconnectivity即java數據庫連接)會占用大量的系統資源,因而JDBC對于有內存限制的設備(例如手機)來說并不適合。所以,安卓為我們提供了許多新的API(applicationprogramminginterface,應用程序編程接口)以使用SQLite數據庫。在安卓開發中,這些API要求開發者學會運用。數據庫存放在data/®目文件夾/databases,目錄下。安卓開發中使用SQLite數據庫:Activi
28、ties能夠經過ContentProvider或者Service訪問數據庫。接下來詳細介紹如何創建數據庫,添加數據以及查詢數據庫。(1)創建數據庫安卓自身并不會主動提供數據庫。想要在安卓應用程序中運用SQLite,就需要自己創建數據庫,自己創建表格、引導并且自己填上相應的數據。安卓中提供了SQLiteOpenHelper類來為我們創建一個數據庫。想要創建數據庫,我們只需繼承SQLiteOpenHelper類網。SQLiteOpenHelper的子類,最少需要實現三個方法:構造函數法:調用父類SQLiteOpenHelper的構造函數。onCreate()法,這個辦法需要一個SQLiteData
29、base對象作為參數,根據需要對這個對象填充表并且初始化數據。onUpgrage()法,這個辦法需要三個參數,分別為新舊版本號和一個SQLiteDatabase對象。10(2)創建表和索引為了創建表和索引,需要調用SQUteDatabase的execSQL()方法來執行DDL語句。例如,可以執行如下代碼:db.execSQL("CREATETABLEmytable(_idINTEGERPRIMARYKEYAUTOINCREMENT,titleTEXT,valueREAL);");這條語句會創建一個名為mytable的表,表有一個列名為_id,并且是主鍵,這列的值是會自動增長
30、的整數(例如,當你插入一行時,SQLite會給這列自動賦值),另外還有兩列:title和value。SQLite會自動為主鍵列創建索引。通常情況下,第一次創建數據庫時創建了表和索引。如果不需要改變表的schema,不需要刪除表和索引,刪除表和索引,需要使用execSQL()方法調用DROPINDEX和DROPTABLE語句。(3)給表添加數據上面的代碼,已經創建了數據庫和表,現在需要給表添加數據。像上面創建表一樣,可以使用execSQL()方法執行INSERT,UPDATE,DELETE等語句來更新表的數據。execSQL()方法適用于所有不返回結果的SQL語句。例如:db.execSQL(&
31、quot;INSERTINTOwidgets(name,inventory)"+"VALUES('Sprocket',5)");(4)查詢數據庫類彳以INSERT,UPDATE,DELETE,有兩種方法使用SELECT從SQLite數據庫檢索數據。使用rawQuery()直接調用SELECT語句和使用query()方法構建一個查詢。RawQueries正如API名字,rawQuery()是最簡單的解決方法。通過這個方法你就可以調用SQLSELECT語句。例如:Cursorc=db.rawQuery("SELECTnameFROMsqlit
32、e_masterWHEREtype='table'ANDname='mytable'",null);在上面例子中,我們查詢SQLite系統表(sqlite_mastei)檢查table表是否存在。返回值是一個cursor對象,這個對象的方法可以迭代查詢結果。11如果查詢是動態的,使用這個方法就會非常復雜。例如,當你需要查詢的列在程序編譯的時候不能確定,這時候使用query()方法會方便很多。RegularQueriesquery()方法用SELECT語句段構建查詢。SELECT語句內容作為query()方法的參數,比如:要查詢的表名,要獲取的字段名,W
33、HERE條件,包含可選的位置參數,去替代WHERE條件中位置參數的值,GROUPBY條件,HAVING條件。3.3Android系統平臺3.3.1 Android系統平臺的特點(1)是一種應用程序框架,支持系統內部組件的重用與替換。(2)自帶有Dalvik虛擬機,負責把Android平臺的裝置進行集中統一優化處理,提高設備的運行流暢性。(3)系統平臺自帶有安卓原生瀏覽器。該瀏覽器是以開源瀏覽器搜索引擎作為基礎升級優化的新的瀏覽器,用戶使用起來更加得心應手。(4)可以對圖形庫進行優化處理。(5)數據與數據之間的存儲和交流是通過SQLite數據庫來進行。(6)多媒體支持現在主流格式的音頻、視頻和靜
34、態圖像。(7)帶有GSM通訊模組,可進行通訊功能。(8)軟件開發和運行需要“Android模擬器、調試工具、運行內存等等這些開發環境,手機軟件開發者主要利用Eclipse插件來進行軟件編程的開發工作”123.3.2 Android系統平臺的架構HomeContact!AwvityMahsfe'rMini出XMPPSerwceANDRQIQRUNTIMLSurtlrEMiiujpfOMTGLfFSC*nwraDrrtfierLocationMsmfwControlProvidersWndc*tijm.igrTelqahofrMwagerReiourEeManifer8luwx?diOdv
35、frbinder(IPCjDdvtrFluhMenxjry口rtwrDivpiDnwifNe5口tionMlftlgETUSBDdwrLiORARIESCoraLbnineiWflbKtWiF*DnwrAudioPowerMi?LTLjjcment圖3-1Android架構由圖可知,安卓系統框架主要分成了四個部分,分別是Applications(應用程序層)ApplicationFramework(應用程序框架層)LibrariesandAndroidRuntime系統運行庫層以及linux底層。3.3.3 Android應用程序框架由于Java語言具有廣泛先天優勢,具有可移植性、開源性、跨平
36、臺性等優點,吸引了大量的軟件開發者的目光。利用Java進行的程序編寫,程序開發者可以不用另外再自行修改代碼,以適配不同的設備,就可以直接編譯,可以在市場上的大多數設備平臺上進行運行,這就使得Java語言的可移植性、面向對象開發、兼容性優勢表現突出。13applicationframeworkActivityMiniverPrelateMftrmtfrWindowConttncMuidfcrProndcnIfe柜phocyReimrceHbtnaftrViewSytttnriLocacbonNwdkjODnM*na;erXMPPScwce圖3-2Android應用程序框架對于我們軟件開發者來說,
37、這個Android應用程序框架層,是進行軟件開發工作的重要步驟。該應用程序層,不但可以使各種代碼塊的重復調用這一繁瑣過程簡單化,還可以直接提供給軟件開發者該層帶有的各種各樣的功能模塊,有利于軟件開發者的應用程序開發工作的方便進行。3.3.4 系統運行庫程序庫程序庫里面包含了Bionic系統庫,多媒體庫,SGL圖形引擎庫,SSL軟件應用層協議,OpenGLES,SQLite數據庫,FreeType和Web瀏覽器引擎等。圖3-3程序庫運行庫層14AmdrqidRumtime白1ItMschrne圖3-4運行庫Dalvik虛擬機,是每個程序能正常運行的重要條件。Dalvi
38、k虛擬機具有下列主要特征:(1)專有的dex文件格式。(2)采用的是32位索引值,常量更快。(3)安卓系統里面運行的每個進程,都分別對應著一個虛擬機。通過和其他寄存器進行綜合性比較之后,我們從各種寄存器的比較之中可以了解到,基于寄存器實現的虛擬機,雖然表現差強人意,盡管如此,但是它有個比其它同系列寄存器所沒有的優點,程序執行代碼運行的效率很高。3.3.5 Linux內核層安卓系統的核心系統功能的實現,都依賴于Linux內核9。Linux內核內部自帶的驅動有很多,軟件程序開發的時候不需要另外添加驅動程序,Linux內核驅動程序自帶的有很多,這里就不全部介紹了。3.4Android程序的結構和運行
39、機制安卓軟件程序應用的組成結構,主要是由以下四種構造塊組成的:Activity,IntentReceiver,Service,ContentProvider經驗豐富的軟件開發者都會知道并不是每個Android應用程序都必須用到上15面所介紹的四種結構,在軟件開發當中,我們只要用到其中的幾種組合,就可以完成我們的軟件開發工作了。已經了解過4種構造塊和確定了應該使用哪幾種組合的構造塊之后,接下來的就是,在Android/Manifest.xml中把這些準備用上的構造塊記錄在一份清單上面。androiaManirasLmi16第4章程序設計本章主要介紹了系統的功能設計,數據庫設計。其中系統功能設計包
40、括單詞翻譯,生詞本添加和刪除,在線句子翻譯以及單詞的記憶測試功能。數據庫的設計包括概念結構設計和數據庫表設計。4.1功能設計系統功能設計是一個將軟件需求轉換成使用軟件系統表達的過程。在對詞典學習系統的全方位剖析調查的基礎上,我制定了英文詞典學習系統的總體規劃。通過之前的數據流圖,我對數據流圖進行分析,得到層次化的英文詞典學習系統功能模塊結構圖如圖4-1所示:英文學習系統單詞翻譯漢譯英查詢生詞本在線句子翻譯記憶測驗圖4-1英文學習系統功能模塊圖174.2數據庫設計數據庫是系統設計的基礎與核心。數據庫設計的好壞直接影響系統運行的品質。數據是所有系統設計的基礎,數據庫設計如金字塔底層一般,假如設計的
41、不合理、不全面,則在開發后期功能增刪時將出現許許多多的問題。4.2.1概念結構設計由數據需求分析,可得到系統的實體屬性圖。英漢實體屬性圖如圖4-2所示:(生詞本實體屬性圖如圖-UO單詞圖4-2英漢實體屬性圖4-3所小:18圖4-3生詞本實體屬性圖4.2.2數據庫表設計因為SQUte易便攜,使用方便,結構緊湊,高效等優點。所以我彳門選用SQLite數據庫作為存放數據的方法,建立數據庫b_xuexi,并且建立表。如表4-1所示:表4-1生詞本的數據庫表a_notes的結構屬性數據類型長度說明idinteger11主鍵id自增nametext英文contenttext中文note_datetext日
42、期1920表4-2漢英詞庫信息的數據結構屬性數據類型長度說明Yinyuvarchar100英語Hanyuvarchar100漢語第5章程序開發本章主要介紹了程序開發的文件結構以及系統的實現過程。系統的實現主要體現在包括啟動頁,首頁,單詞查詢,在線句子翻譯,記憶測試以及生詞本等功能的綜合實現。5.1文件結構與用途在程序開發時,應先確定“基于安卓平臺英文詞典學習系統”的工程名為b_xuexi,根據程序模塊設計內容,建立b_xuexi工程。使用eclipse打開工程代碼的結構如下圖。ULJ"典田com.bb.db:J_DbControl.jav.由com.bb.mynote:匕MyNate
43、.javaJMyINoleEditActivity.javsJjMyNoteListActivity.javaJMylNoteViewActivityjava工Se-archListActivity.java以用cotnbb.uit>由com.bb.util目gerGeneratedJavaFiles百Android4.2.2&assets»盟bin巫Andr&idMperties圖5-1b_xuexi工程的代碼文件b_xuexi工程設計多個命名空間,分別用于保存用戶界面、后臺、數據庫以21及工具等
44、代碼文件。為了代碼文件結構看起來一目了然。代碼文件的名稱及說明如表5.1所小:表5-1b_xuexi工程的文件用途說明包名稱說明備注Com.bb項目的ActivityCom.bb.pojoPOJO對象封裝了數據庫表Com.bb.util項目公共服務類安卓所有資源文件都保存在文件res的子目錄中。具體各個資源文件用途如表5-2所小:表5-2資源目錄文件說明資源目錄文件說明drawable-hdpi/ldpi/mdpi*.png,*.jpg這個文件夾是b_xuexi工程所用的高,低,中分辨率圖片。layout*.xml貝聞的布局文件valuescolor.xml,dimens.xml,String
45、s.xml,styles.xml分別為保存顏色,尺度,字符串,顯小樣式的xml文件5.2系統實現英文詞典學習系統實現包括啟動頁,首頁以及單詞查詢,生詞本,在線句子查詢,記憶測試四大功能模塊。225.2.1啟動頁啟動應用后,我們來到了英文學習系統的啟動頁面。如圖5-2所示:炊迎使用手機英文學習系統圖5-2系統啟動頁5.2.2首頁啟動頁3秒后自動來到了英文詞典學習系統的首頁界面。我們可以清晰地看到英文詞典學習系統首頁主要包含四大模塊:單詞查詢,生詞本,在線句子翻譯以及記憶測試。具體如圖5-3所示:23圖5-3系統首頁5.2.3 單詞查詢點擊首頁的“單詞查詢”,我們進入了英文詞典學習系統的單詞查詢界
46、面。單詞查詢界面主要由兩個按鈕組成:取消和OK。具體如圖5-4所示:24單詞查詢圖5-4單詞查詢頁面輸入單詞,點擊提交,界面,如圖5-5所示:即來到了英文詞典學習系統的離線查詞返回結果列表手機英文學習系統追詢結果如下英語pork漢語指苣添加到生詞本返回圖5-5查詢結果頁面255.2.4 在線句子翻譯點擊”在線句子翻譯”按鈕,即來到了英文學習系統的在線句子翻譯界面如圖5-6所示:手機英文學習系統5-726thisisabird查詢ThisIsaBirdTil是一只鳥”弼塔釋義:<1>ThisIsaBM唱片費”】<2>ISTHISABIRD13是口嗎圖5-6在線查詢句子翻譯
47、5.2.5記憶測試點擊“記憶測試”按鈕,即來到了英文學習系統的記憶測試界面。如圖所示:135手機英文學習系統英語】sentences下一題圖5-7記憶測試點擊“下一題”后,顯示下一題。如果想要退出,點擊“返回主頁”,跳轉到首頁。5.2.6生詞本點擊“生詞本”按鈕,即來到了英文學習系統的生詞本信息管理界面。生詞本包含刷新和自助添加生詞功能。具體如圖5-8所示:27手機英文學習系統刷li添加sentences圖5-8生詞本28第6章系統測試系統測試是開發時期最后十分重要的階段,它是確保軟件質量的重要前提。本章主要介紹了系統測試的目的,方法,環境以及環境的運行情況6.1 系統測試的重要性軟件測試很重
48、要,但是軟件開發過程中的其他階段同樣很重要,而且很多要比軟件測試更重要。軟件測試的重要性體現在幫助開發組織交付能被用戶接受的產品上。6.2 系統測試的目的系統測試的目的,從我個人角度來看,系統測試這個活動最直接的目的是降低風險。從結果來看的話,其實測試的目的就是發現軟件的缺陷。6.3 測試實例的研究與選擇程序測試的主要方法有:(1)按是否查看程序內部分為:黑盒測試:只看輸入和輸出。白盒測試:探究程序源碼和結構(2)按是否運行程序分為:靜態測試,動態測試29(3)按階段分為:單元測試,集成測試,系統測試,驗收測試。鑒于本人能力范圍,所以本設計只看功能測試的輸入和輸出。6.4 測試環境與條件處理器
49、:英特爾酷睿I32348m內存:4GB硬盤:128GB操作系統:微軟Windows10professionaleditionAndroid虛擬機版本:4.1JellyBean6.5 系統運行情況經過全部的系統測試,單詞查詢,生詞本,在線句子翻譯,記憶測試模塊都可以穩定運行。30總結一分耕耘一分收獲,經過一個學期的努力,我完成安卓英文詞典學習系統軟件的設計開發。安卓英文詞典學習系統設計的功能基本都能實現,符合大眾手機用戶的日常使用需求。今天是個資源全球化的時代,英語作為世界第一語言,學好英語是非常有意義的事情,而學英語又得從最基本的單詞學起,為了能夠有效解決學單詞難的問題,我設計出了這款英文詞典
50、學習軟件,即安卓中英詞典。該軟件系統具有查詢單詞,句子翻譯,記憶測試等模塊,基本上可以為手機用戶提供良好的單詞學習環境。起初本人對JAVA的濃厚的興趣引發了我對安卓開發的好奇心。從一開始懵懵懂懂地看視頻學習,到后來查閱圖書,摸索方法,學習了很多開發技術,接著動手寫代碼,最后完成了這個軟件的制作。軟件開發的過程,其實是對學過知識的運用實踐的過程。比如在學習安卓環境搭建、環境參數配置,代碼增刪查改的過程中,學會運用已有的豐富知識去解決未知的問題,網絡資源。歷史經驗往往會告訴我們如何更好地去學習新知識。雖然軟件能夠正常運行,但是我覺得還存在一些不夠完善的地方。首先,全局設計還不夠完善,其次用戶界面比
51、較單一,功能設計比較簡單,還有一些問題需要今后逐一解決。另外,我認為本系統還可以作升級擴展,例如添加例如“每日一句”“新聞資訊”等模塊,使功能更加強大,為用戶提供舒適優質便捷的服務。31參考文獻:1楊豐盛.Android應用開發揭秘M第一版.北京:機械工業出版社.2010.2427.2朱桂英.Android開發應用從入門到精通M.第1版.中國鐵道出版社,2011.125-128.3扶松柏,于秀青.Android開發從入門到精通M.第1版.北京希望電子出版社,2012.30-40.4Barra,Hugo."Android:momentum,mobileandmoreatGoogleI/
52、O”.TheOfficialGoogleBlog.Retrieved10May2015.5靳巖,姚尚朗.Android入門開發與實踐M第一版.北京:人民郵件出版社.2013.6yizhi237.Android開發從入門到精通學習文檔EB/OL.201338.7ShaneConder.Android移動應用開發從入門到精通M.第1版.人民郵電出版社.2015.8埃克爾.ThinkinginjavaM.第2版.機械工業出版社.2016.9CadenheadR.JaveAH經典M.第1版.人民郵電出版社.2013致謝本課題的設計和論文撰寫過程中,我的指導老師給予了極大的幫助,為我提供了大量的相關資料
53、。在完成課題設計的過程中,老師在總體設計思想上給予了許多重要的實際指導,拓展了我的思路,使得我得以完成了任務。在此,我對老師的指導表示衷心的感謝。同時,我也衷心的感謝大學四年來對我的精心栽培,良好的校園環境、精良的師資隊伍、濃厚的校園文化都讓我深深懷念,都為我進入社會提供了莫大的幫助。行文至此,我的這篇論文已接近尾聲;歲月如梭,我四年的大學時光也即將敲響結束的鐘聲。離別在即,站在人生的又一個轉折點上,心中難免思緒萬千,一種感恩之情油然而生。生我者父母。感謝生我養我,含辛茹苦的父母。是你們,為我的學習創造了條件;是你們,一如既往的站在我的身后默默的支持著我。沒有你們就不會有我的今天。謝謝你們,我
54、的父親母親!在這四年中,老師的諄諄教導、同學的互幫互助使我在專業技術和為人處事方面都得到了很大的提高。感謝肇慶學院在我四年的大學生活當中對我的教育與培養,感謝電子信息與機電工程學院的所有專業老師,沒有你們的辛勤勞動,就沒有我們今日的滿載而歸,感謝大學四年曾經幫助過我的所有同學。在制作畢業設計過程中我曾經向老師們和同學們請教過不少的問題,老師們的熱情解答和同學們的熱心幫助才使我的畢業設計能較為順利的完成。在此我向你們表示最衷心的感謝。附錄A啟動頁主要代碼:superonCreate(savedlnstanceState);requestWindowFeature(WindowFEATURE_NO_TITLE);setContentView(R.layout.welcom®/啟動畫面運行3秒后開始newHandler().postDelayed(iewRunnable()Overridepublicvoidrun()Intenti=newIntent(WelcomeActivity.this,MainActivity.clasS;startActivity(i);WelcomeActivity.this.finish();,3000);首頁界面主要代碼:super.onCreate(savedInstanceState);setContentView(R.la
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路旅客運輸服務鐵路旅客運輸服務質量監管課件
- 鐵路的管理體制鐵道概論課件
- 鐵路市場營銷市場營銷發展的新趨勢課件
- 鐵路貨物運輸保險YourSiteHere83課件
- 鐵路信號與通信設備-接發列車工作-1738488352028
- 中醫文化課件培訓教材
- 權威二手房成交合同匯編
- 部分時間工作的合同
- 四川輕化工大學《應用分析化學》2023-2024學年第二學期期末試卷
- 江西省高安市吳有訓實驗校2025屆初三中考仿真模擬卷(一)數學試題含解析
- 醫美診所院感知識培訓課件
- 河北省氣象部門招聘筆試沖刺題2025
- 糖尿病患者飲食指導課件
- 倉庫規劃目標管理
- 【MOOC】宇宙簡史-南京大學 中國大學慕課MOOC答案
- 【MOOC】現代養殖設施與設備-河南牧業經濟學院 中國大學慕課MOOC答案
- 論文后期檢查報告范文
- 汽輪機課件完整版本
- 《電子商務數據分析》教學大綱
- 醫療面試自我介紹
- 紅色家書課件背景
評論
0/150
提交評論