畢業(yè)論文-基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文-基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文-基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文-基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文-基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(論文)論文題目論文題目:基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)系 所: 電子工程系 專 業(yè): 電子信息工程(嵌入式系統(tǒng)工程方向) 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 導(dǎo)師職稱: 教授 完成日期: 2014年 5月 2日 大連東軟信息學(xué)院Dalian 大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 摘要 V基于Android的單詞學(xué)習(xí)系統(tǒng)設(shè)計與實現(xiàn)摘 要英語作為全球的官方語言,在各行各業(yè)使用廣泛。在這樣的背景下英語學(xué)習(xí)較為普及。同時,近年來使用移動設(shè)備(手機(jī)、平板電腦等)的用戶越來越多。這為英語單詞學(xué)習(xí)提供了契機(jī)。Android以開放源代碼為基礎(chǔ),所以無論是誰都可以沒有任何限

2、制的訪問和使用。在程序開發(fā)方面它基于Java語言,相對于iOS簡單。由于這樣的優(yōu)點未來智能機(jī)的市場將被Android使用者或開發(fā)者占據(jù)的可能性很高。本文首先介紹了項目背景及國內(nèi)外發(fā)展現(xiàn)狀,闡述了該系統(tǒng)開發(fā)價值,然后詳細(xì)介紹了使用的相關(guān)技術(shù),分析了客戶的功能性以及非功能性需求。本系統(tǒng)的主要特點是用戶可以根據(jù)需求來設(shè)置鬧鈴從而提醒復(fù)習(xí)時間。同時用戶可以隨意導(dǎo)入相關(guān)詞庫進(jìn)行學(xué)習(xí)。根據(jù)客戶需求劃分模塊,最后進(jìn)行系統(tǒng)設(shè)計、實現(xiàn)以及測試。Android手機(jī)平臺是開放的,不需要任何費用。因此,本系統(tǒng)的開發(fā)只需要一臺標(biāo)準(zhǔn)配置的計算機(jī)即可,開發(fā)成本低,從經(jīng)濟(jì)可行性來看是可行的。Android平臺給我們提供了巨大

3、的自由空間,再運用Java面向?qū)ο笳Z言,使系統(tǒng)功能更加強(qiáng)大。SQLite是一個杰出的數(shù)據(jù)庫平臺,具有功能強(qiáng)大,安全可靠等特點。因此從技術(shù)層面來看,開發(fā)此系統(tǒng)是可行的。關(guān)鍵詞:Android,Java,SQLite,單詞學(xué)習(xí)大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) AbstractDesign and Implementation of Word Learning System Based on AndroidAbstractEnglish is used as the official language of the world, which language is widely used in al

4、l walks of life. In such a circumstance, learning English is more popular. At the same time, there more and more people using mobile devices, such as mobile phone, tablet PC. This provided an opportunity for learning English. Android open source project, so anyone can access without any restrictions

5、. In terms of program development, what is based on Java language, as opposed to simple iOS. Because of this advantage, the future of intelligent machines market is a high possibility that users and developers occupied.This paper describes the background of project and current development at home an

6、d abroad. The essay elaborated the development value, the details of technology and analysis customers functional and non-functional requirements. The main features of the system are user can on the basis of needs to set the bell in order to brush up the learning. Simultaneously, users can freely im

7、port-related thesaurus for learning. This system according to customers demand partitioning module, carry on the system design and testing. There is no charge for using Android mobile platform. Therefore, development of the system is only need a standard configuration computer, and from economic fea

8、sibility which possible. Android platform provide huge space to using of object-oriented language Java, which make the system function more powerful. SQLite is outstanding database platform. Its characteristic is powerful function, safe and reliable. So, from a technical perspective, the development

9、 of this system is feasible. Key words: Android, Java, SQLite, Word Learning大連東軟信息學(xué)院畢業(yè)設(shè)計(論文) 目錄目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc387006666 h IAbstract PAGEREF _Toc387006667 h II第1章緒 論 PAGEREF _Toc387006668 h 11.1 課題研究背景 PAGEREF _Toc387006669 h 11.1.1 英文的普遍性與重要性 PAGEREF _Toc387006670 h 11.1.2 單詞是英文學(xué)習(xí)的基

10、礎(chǔ) PAGEREF _Toc387006671 h 11.1.3 智能手機(jī)的趨勢 PAGEREF _Toc387006672 h 11.2 課題研究目的、意義 PAGEREF _Toc387006673 h 11.3 課題研究相關(guān)工作 PAGEREF _Toc387006674 h 21.3.1 教育用產(chǎn)品 PAGEREF _Toc387006675 h 21.3.2 Android市場 PAGEREF _Toc387006676 h 31.4 課題研究內(nèi)容與方法 PAGEREF _Toc387006677 h 31.5 論文組織結(jié)構(gòu) PAGEREF _Toc387006678 h 4第2章關(guān)

11、鍵技術(shù)介紹 PAGEREF _Toc387006679 h 52.1 SAX解析XML PAGEREF _Toc387006680 h 52.1.1 什么是XML PAGEREF _Toc387006681 h 52.1.2 SAX解析XML PAGEREF _Toc387006682 h 52.2 TTS機(jī)器語言合成技術(shù) PAGEREF _Toc387006683 h 52.3 SQLite數(shù)據(jù)庫 PAGEREF _Toc387006684 h 62.4 文件存儲 PAGEREF _Toc387006685 h 6第3章系統(tǒng)需求分析 PAGEREF _Toc387006686 h 73.1

12、系統(tǒng)設(shè)計目標(biāo) PAGEREF _Toc387006687 h 73.2 系統(tǒng)功能需求 PAGEREF _Toc387006688 h 73.2.1 主界面模塊 PAGEREF _Toc387006689 h 73.2.2 學(xué)習(xí)模塊 PAGEREF _Toc387006690 h 73.2.3 復(fù)習(xí)模塊 PAGEREF _Toc387006691 h 93.2.4 測試模塊 PAGEREF _Toc387006692 h 103.2.5 生詞庫模塊 PAGEREF _Toc387006693 h 103.2.6 詞庫導(dǎo)入模塊 PAGEREF _Toc387006694 h 113.2.7 個性化

13、模塊 PAGEREF _Toc387006695 h 123.3 系統(tǒng)非功能需求 PAGEREF _Toc387006696 h 123.4 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc387006697 h 123.5 系統(tǒng)可行性分析 PAGEREF _Toc387006698 h 123.5.1 技術(shù)可行性 PAGEREF _Toc387006699 h 133.5.2 經(jīng)濟(jì)可行性 PAGEREF _Toc387006700 h 13第4章系統(tǒng)設(shè)計 PAGEREF _Toc387006701 h 144.1 用戶界面設(shè)計 PAGEREF _Toc387006702 h 144.2 數(shù)據(jù)庫設(shè)計 P

14、AGEREF _Toc387006703 h 174.3 程序模塊設(shè)計 PAGEREF _Toc387006704 h 184.3.1 主界面模塊設(shè)計 PAGEREF _Toc387006705 h 184.3.2 學(xué)習(xí)模塊設(shè)計 PAGEREF _Toc387006706 h 194.3.3 復(fù)習(xí)模塊設(shè)計 PAGEREF _Toc387006707 h 204.3.4 測試模塊設(shè)計 PAGEREF _Toc387006708 h 204.3.5 個性化模塊設(shè)計 PAGEREF _Toc387006709 h 20第5章系統(tǒng)實現(xiàn) PAGEREF _Toc387006710 h 215.1 系統(tǒng)開

15、發(fā)環(huán)境 PAGEREF _Toc387006711 h 215.2 主界面模塊功能實現(xiàn) PAGEREF _Toc387006712 h 215.2.1 主界面模塊流程圖及核心代碼 PAGEREF _Toc387006713 h 215.2.2 主界面模塊界面的實現(xiàn) PAGEREF _Toc387006714 h 225.3 學(xué)習(xí)模塊功能實現(xiàn) PAGEREF _Toc387006715 h 235.3.1 學(xué)習(xí)模塊流程圖及核心代碼 PAGEREF _Toc387006716 h 235.3.2 學(xué)習(xí)模塊界面的實現(xiàn) PAGEREF _Toc387006717 h 245.4 復(fù)習(xí)模塊功能實現(xiàn) PA

16、GEREF _Toc387006718 h 265.4.1 復(fù)習(xí)模塊流程圖及核心代碼 PAGEREF _Toc387006719 h 265.4.2 復(fù)習(xí)模塊界面的實現(xiàn) PAGEREF _Toc387006720 h 275.5 測試模塊功能實現(xiàn) PAGEREF _Toc387006721 h 305.5.1 測試模塊流程圖及核心代碼 PAGEREF _Toc387006722 h 305.5.2 測試模塊界面的實現(xiàn) PAGEREF _Toc387006723 h 315.6 生詞庫模塊功能實現(xiàn) PAGEREF _Toc387006724 h 335.6.1 生詞庫模塊流程圖及核心代碼 PAG

17、EREF _Toc387006725 h 335.6.2 生詞庫模塊界面的實現(xiàn) PAGEREF _Toc387006726 h 345.7 個性化模塊功能實現(xiàn) PAGEREF _Toc387006727 h 355.7.1 個性化模塊流程圖及核心代碼 PAGEREF _Toc387006728 h 355.7.2 個性化模塊界面的實現(xiàn) PAGEREF _Toc387006729 h 365.8 系統(tǒng)在手機(jī)中運行 PAGEREF _Toc387006730 h 38第6章系統(tǒng)測試 PAGEREF _Toc387006731 h 396.1 測試概述 PAGEREF _Toc387006732 h

18、 396.2 測試用例 PAGEREF _Toc387006733 h 396.2.1 主界面模塊測試 PAGEREF _Toc387006734 h 396.2.2 學(xué)習(xí)模塊測試 PAGEREF _Toc387006735 h 396.2.3 復(fù)習(xí)模塊測試 PAGEREF _Toc387006736 h 406.2.4 測試模塊測試 PAGEREF _Toc387006737 h 406.2.5 生詞庫模塊測試 PAGEREF _Toc387006738 h 416.2.6 個性化模塊測試 PAGEREF _Toc387006739 h 42第7章結(jié)論 PAGEREF _Toc3870067

19、40 h 44參考文獻(xiàn) PAGEREF _Toc387006741 h 45致 謝 PAGEREF _Toc387006742 h 46大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)- 第1章緒 論1.1 課題研究背景隨著人們的生活越來越好,電子設(shè)備的發(fā)展、網(wǎng)絡(luò)的發(fā)展,在空閑的時間里都會不由得拿出口袋里的手機(jī)來進(jìn)行電子交互事件。大部分人會看看社交網(wǎng)絡(luò)上新鮮事,如朋友發(fā)的新消息、親友發(fā)的新照片等等。也有些人還會玩玩游戲、聽聽音樂輕松輕松。城市的步伐越來越快,真的能浪費這些空閑的小時間嗎?1.1.1 英文的普遍性與重要性全世界75的電視節(jié)目是英語,四分之三的郵件是用英語書寫,電腦鍵盤是英語鍵盤,許多國際場合也使

20、用英語作為基本溝通媒介,也是聯(lián)合國的正式工作語言。同時英語也是與計算機(jī)聯(lián)系密切的語言,大多數(shù)編程語言都以英語作為基礎(chǔ)。各大企業(yè)在招聘人才的過程中也將英語水平作為重要的衡量標(biāo)準(zhǔn)。為培養(yǎng)學(xué)生的英文能力,在義務(wù)教育階段就開始進(jìn)行英語課程的學(xué)習(xí),從小學(xué)、初中、高中到大學(xué)等各種階段都在學(xué)習(xí)英語。幾乎每一個本科畢業(yè)生都具有10年以上的英語學(xué)習(xí)史。在這樣的市場需求下英語顯得格外重要。1.1.2 單詞是英文學(xué)習(xí)的基礎(chǔ)英文學(xué)習(xí)包括聽、說、讀、寫幾個方面。一門語言的基礎(chǔ)是當(dāng)然是單詞,跟語法。如果單詞是一顆顆珍珠,則語法是把這些珍珠串起來的線。幾乎每個英文單詞都有許多個不同的意思。在的記憶中單詞不斷的更新,如果不進(jìn)

21、行復(fù)習(xí),久而久之一些不經(jīng)常使用的單詞就會從的記憶里消失。所以說單詞需要不斷的鞏固,使之熟練掌握。1.1.3 智能手機(jī)的趨勢在這高科技迅速發(fā)展的21世紀(jì),人們要求的生活品質(zhì)也越來越高。智能機(jī)、平板電腦等產(chǎn)品也與人們形影不離。在空閑的小時間里可以進(jìn)行一些與電子交互的學(xué)習(xí)事件。目前市面上的智能機(jī)主要分為兩種。一種是Apple的iOS系統(tǒng),另一種就是Google的Android系統(tǒng)。其中Android以開放源代碼為基礎(chǔ),所以無論是誰都可以沒有任何限制的訪問和使用。在程序開發(fā)方面它基于Java語言,相對于iOS簡單。由于這樣的優(yōu)點,未來智能機(jī)的市場將被Android平臺占據(jù)的可能性很高。1.2 課題研究

22、目的、意義擬開發(fā)一個基于Android的單詞學(xué)習(xí)系統(tǒng),為學(xué)習(xí)語言帶來方便。人們在空閑的小時間里可以進(jìn)行一些與電子設(shè)備交互的學(xué)習(xí)事件。其基本目的是開發(fā)一個可以在智能機(jī)上實現(xiàn)單詞學(xué)習(xí)的應(yīng)用程序。將攜帶性和使用性同步,使用約束最小化。讓學(xué)生可以隨時隨地進(jìn)行單詞學(xué)習(xí),提高學(xué)習(xí)興趣以及學(xué)習(xí)效率。1.3 課題研究相關(guān)工作1.3.1 教育用產(chǎn)品近年以iPhone,Google等智能機(jī)為對象開發(fā)的外語學(xué)習(xí)軟件很多。 智能機(jī)環(huán)境下學(xué)習(xí)外國語的軟件如表1.1所示,該軟件具有聽、說、讀、寫、翻譯等多種功能。其中,基于移動設(shè)備的英語、日語、漢語學(xué)習(xí)軟件很多,但大多很復(fù)雜,開發(fā)一個簡單的專門背單詞軟件具有一定的實用價值

23、。表1.1 教育用產(chǎn)品列舉軟件名畫面功能My Word = 1 * GB3 可讀。 = 2 * GB3 詞匯與發(fā)音的學(xué)習(xí)。 = 3 * GB3 提供多國語服務(wù)。Stanza = 1 * GB3 E-book圖書館應(yīng)用程序。 = 2 * GB3 提供100000種圖書。Essay Writing Wizard = 1 * GB3 可寫。 = 2 * GB3 習(xí)得英文書寫要領(lǐng)。 = 3 * GB3 可寫中文、日文。I parrot = 1 * GB3 翻譯服務(wù)。 = 2 * GB3 多過于基礎(chǔ)。1.3.2 Android市場現(xiàn)市場上最暢銷的智能機(jī)是蘋果公司的iPhone。iPhone以iOS作為操

24、作系統(tǒng),除此之外還有Symbian,RIM,MS widow Mobile等其它操作系統(tǒng)的智能機(jī)被開發(fā)。其中Android操作系統(tǒng)開發(fā)較為廣泛。Android是Google公司發(fā)布的基于Linux的開源手機(jī)平臺。Google公司為了提高Android應(yīng)用程序的開發(fā)效率、減少開發(fā)周期而提供Android SDK。開發(fā)者可以使用Java語言開發(fā)應(yīng)用程序。Android與Java虛擬機(jī)不同,使用Dalvik虛擬機(jī)。本論文將構(gòu)現(xiàn)可以在Android OS平臺運行的單詞學(xué)習(xí)軟件的設(shè)計與實現(xiàn)。圖1.1是Android平臺的主要構(gòu)成。圖1.1 Android體系結(jié)構(gòu)Android最底層使用Linux內(nèi)核。提

25、供安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議堆棧、電源管理和驅(qū)動程序等功能。內(nèi)核上層是應(yīng)用程序共同使用的函數(shù)庫,提供基于C/C+的函數(shù)庫。Android運行時使用在移動設(shè)備中可以最簡化的Dalvik虛擬機(jī)。Dalvik虛擬機(jī)是Android專用的虛擬機(jī),所以不能直接運行Java Class文件。文件必須轉(zhuǎn)化成.dex才能運行。之上一層是Android API(應(yīng)用程序框架層)。應(yīng)用程序不能直接使用下層的數(shù)據(jù)庫,所以需要通過API來邀請。而體系的最上層是應(yīng)用者可以直接使用的應(yīng)用程序?qū)印?.4 課題研究內(nèi)容與方法主要研究基于Android的單詞學(xué)習(xí)系統(tǒng)功能各模塊的設(shè)計及實現(xiàn)。該系統(tǒng)具有單詞的發(fā)音、拼寫

26、、意思、詞性的學(xué)習(xí),已學(xué)習(xí)或未學(xué)習(xí)單詞的復(fù)習(xí),手動或自動添加生詞庫,單詞詞意測試,單詞學(xué)習(xí)進(jìn)度提醒,擬定學(xué)習(xí)計劃,詞庫導(dǎo)入等功能。系統(tǒng)應(yīng)確保單詞讀音英音或美音的正確性,學(xué)習(xí)進(jìn)度百分比計算的準(zhǔn)確性,加入生詞庫的單詞具有手動和自動等方式,生詞庫單詞不得重復(fù),發(fā)現(xiàn)重復(fù)時應(yīng)有相應(yīng)的反饋。該系統(tǒng)應(yīng)具有友好的圖形界面,良好的可擴(kuò)展性。系統(tǒng)開發(fā)采用Eclipse軟件,數(shù)據(jù)庫使用SQLite,開發(fā)語言是Java。主要研究方法有文獻(xiàn)研究法、案例分析法、軟件設(shè)計法等。下面詳細(xì)說明個研究方法。(1)文獻(xiàn)研究法通過網(wǎng)絡(luò)搜索引擎搜索各種資料、圖書閱覽查詢相關(guān)知識、分析大量相關(guān)論文,了解了歷史問題和現(xiàn)狀、幫助確定了研究課

27、題。(2)案例分析法通過運行相關(guān)應(yīng)用程序分析出各程序的優(yōu)缺點使本程序有理想的單詞學(xué)習(xí)界面和功能。(3)軟件設(shè)計法運用常規(guī)的軟件設(shè)計流程。需求分析,概要設(shè)計,詳細(xì)設(shè)計,編碼,測試,調(diào)試等步驟研究。1.5 論文組織結(jié)構(gòu)第1章:緒論。闡述選題背景,研究目的、意義,國內(nèi)外現(xiàn)狀,研究內(nèi)容介紹與研究方法說明。第2章:相關(guān)技術(shù)介紹。介紹相關(guān)技術(shù)或規(guī)范簡介、主要技術(shù)的原理等。第3章:系統(tǒng)需求分析。詳細(xì)分析該系統(tǒng)應(yīng)具備的功能與運行環(huán)境。第4章:系統(tǒng)設(shè)計。根據(jù)各模塊建模,設(shè)計該系統(tǒng)。第5章:系統(tǒng)實現(xiàn)。系統(tǒng)開發(fā)環(huán)境下使各模塊功能實現(xiàn)。使各模塊在一個工程下完成。第6章:系統(tǒng)測試。測試各系統(tǒng)的完整度、準(zhǔn)確度等。第7章:

28、結(jié)論。對整個系統(tǒng)成果與不足進(jìn)行總結(jié)。提出不足之處及日后要改進(jìn)的方向。 大連東軟信息學(xué)院畢業(yè)設(shè)計(論文)第2章關(guān)鍵技術(shù)介紹2.1 SAX解析XML2.1.1 什么是XML在Android開發(fā)中離不開可擴(kuò)展標(biāo)記語言(XML,eXtensible Markup Language)。XML用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,用XML語言描述用戶界面,相關(guān)布局等。在的工程里有很多.xml。下圖2.1是一個XML文檔的片段。圖2.1 “main.xml”片段范例中,第一行是XML文檔版本號和編碼。第二行代表這是線性布局與第八行對應(yīng)。第三行說明該文件存儲地址。第四行、第五行代表寬度和高度。第六行代表引用drawab

29、le里的login。由此可以知道XML主要用元素和屬性來描述數(shù)據(jù)。2.1.2 SAX解析XML解析XML就是意味著將文檔中的元素的數(shù)據(jù)內(nèi)容提取出來,構(gòu)建后可以進(jìn)行相應(yīng)的操作。XML的解析就是實現(xiàn)文檔里的相關(guān)程序。Android主要有三種解析技術(shù)。如DOM、PULL和所要用的SAX。用于處理XML事件驅(qū)動的推模型(SAX,Simple API for XML)雖然不是W3C標(biāo)準(zhǔn),但得到了廣泛認(rèn)可。它不需要建立完整的文檔樹,只需在讀取文檔時激活這些事件串。這些事件串被推給事件處理器,然后處理器對該內(nèi)容進(jìn)行訪問。而且SAX提供對XML內(nèi)容的低級訪問。SAX消耗較小的內(nèi)存,因為整個文檔不是一次加載到內(nèi)

30、存的。但它的缺點是雖然沒有必要一次性將文檔加載到內(nèi)存中,但仍需要解析整個文檔。SAX解析,支持XML文件的讀取,不支持寫入,速度快,占用內(nèi)存小所以適合用在手機(jī)和移動設(shè)備上。所以選用SAX解析XML。2.2 TTS機(jī)器語言合成技術(shù)語音合成技術(shù)(TTS,Text to Speech)是讓機(jī)器說話的一種技術(shù),在語音系統(tǒng)開發(fā)中經(jīng)常用到。將文字轉(zhuǎn)化成語音的技術(shù)是由三星綜合技術(shù)院開發(fā)。約有10萬單詞和5000多個語法規(guī)則,能將文字自動分析轉(zhuǎn)化成合成音,所以可以聽到文本發(fā)音。Android系統(tǒng)從1.6版本開始支持這個語音合成技術(shù)。主要支持英語、法語、德語、意大利語和西班牙語等,可以隨意轉(zhuǎn)化成以上五種語音的輸

31、出。TTS引擎對于資源采取預(yù)加載的方法,根據(jù)一系列的參數(shù)從庫中提取相應(yīng)的資源加載到當(dāng)前系統(tǒng)中。在單詞學(xué)習(xí)系統(tǒng)中可以運用TTS語音合成技術(shù)讓單詞發(fā)音。2.3 SQLite數(shù)據(jù)庫SQLite與MySQL相同都是數(shù)據(jù)庫管理系統(tǒng)。它不是服務(wù)系而是放在應(yīng)用程序里使用的比較輕量級的數(shù)據(jù)庫。與一般的RDBMS相比它不適用于大規(guī)模工程,但是對于中小型規(guī)模的工程有速度較快的優(yōu)點。另API有只要有一個可調(diào)用的庫,數(shù)據(jù)存儲只使用一個文件的特點。SQLite是Google Android 運營體制的基本數(shù)據(jù)庫。SQLite占用資源非常少,且支持Linux操作系統(tǒng)。使用基本語言是C語言。由于這種特點選用嵌入式數(shù)據(jù)庫SQ

32、Lite。但是Android不會自動提供數(shù)據(jù)庫。必須首先創(chuàng)建數(shù)據(jù)庫,然后建表,填充數(shù)據(jù)??梢岳^承SQLiteOpenHelper類來創(chuàng)建一個數(shù)據(jù)庫。這個類根據(jù)程序的需要調(diào)用子類。這樣就可以從數(shù)據(jù)庫中調(diào)用所需要的數(shù)據(jù)。2.4 文件存儲在Google的Android中使用Linux的文件系統(tǒng),可以創(chuàng)建并且訪問系統(tǒng)自身的私有文件,當(dāng)然也可以訪問目錄中的原文件,而且還可以將它們存到內(nèi)部設(shè)備或外部設(shè)備中。比如SD卡。下面簡單介紹一下內(nèi)部存儲和外部存儲的方式。(1)內(nèi)部存儲Android系統(tǒng)中程序允許建立僅自身可以訪問的私有文件。則文件就保存在內(nèi)部的存儲器內(nèi)。此時使用的目錄是Linux系統(tǒng)的/data/d

33、ata/files這個目錄。在Android內(nèi)部存儲中經(jīng)常使用openFileoutput()和openFileInput()。openFileoutput()函數(shù)為寫入數(shù)據(jù)時使用的函數(shù)。相反openFileInput()函數(shù)為讀取數(shù)據(jù)時使用的函數(shù)。無論寫入還是讀出首先要打開文件,如果文件存在則直接打開,如果不存在則需創(chuàng)建。(2)外部存儲外部存儲主要指的是存儲在SD卡等可拆卸的小型記憶卡中。這種存儲方式不能進(jìn)行訪問模式以及權(quán)限控制,但可以使用Linux文件系統(tǒng)進(jìn)行訪問確保文件的安全。多數(shù)情況下,由于內(nèi)部存儲空間不充裕的情況下使用該存儲方式。第3章系統(tǒng)需求分析3.1 系統(tǒng)設(shè)計目標(biāo)在高科技迅速發(fā)展

34、的當(dāng)今社會,智能機(jī)、平板電腦等產(chǎn)品也與人們形影不離。人們在空閑的小時間里可以進(jìn)行一些與電子設(shè)備交互的學(xué)習(xí)事件。擬開發(fā)一個基于Android的單詞學(xué)習(xí)系統(tǒng),為學(xué)習(xí)語言帶來方便。該系統(tǒng)具有單詞的發(fā)音、拼寫、意思、詞性的學(xué)習(xí),單詞的復(fù)習(xí),手動或自動添加單詞到生詞庫,單詞的測試,單詞學(xué)習(xí)進(jìn)度提醒,擬定學(xué)習(xí)計劃,詞庫導(dǎo)入等功能。系統(tǒng)應(yīng)確保單詞讀音的正確性,學(xué)習(xí)進(jìn)度百分比計算的準(zhǔn)確性,加入生詞庫的單詞具有手動和自動等方式,生詞庫單詞不得重復(fù),發(fā)現(xiàn)重復(fù)時應(yīng)有相應(yīng)的反饋。該系統(tǒng)應(yīng)具有友好的圖形界面,良好的可擴(kuò)展性。3.2 系統(tǒng)功能需求3.2.1 主界面模塊根據(jù)多數(shù)英語單詞學(xué)習(xí)者們的學(xué)習(xí)需求,畫出如下簡易的界面

35、。用戶點擊應(yīng)用程序,將看到如圖3.1所示的主界面。圖3.1 主界面組成界面由學(xué)習(xí)模塊、復(fù)習(xí)模塊、測試模塊、生詞庫模塊、導(dǎo)入詞庫模塊、個性化設(shè)計模塊組成。用戶通過點擊以上功能模塊進(jìn)入相應(yīng)的具體操作界面。3.2.2 學(xué)習(xí)模塊用戶點擊后,進(jìn)入圖3.2所示的學(xué)習(xí)模塊主界圖3.2 學(xué)習(xí)模塊主界面用戶進(jìn)入學(xué)習(xí)模塊后可以看到以上界面。界面中與是兩個分頁之間的切換界面(TabHost)。當(dāng)點擊時會出現(xiàn)未學(xué)習(xí)過的單元列表。例如:,擇會彈出一個消息框提示是否開始學(xué)習(xí),點擊則進(jìn)入該單元的學(xué)習(xí),點擊則返回之前界面。當(dāng)進(jìn)入到具體的學(xué)習(xí)界面內(nèi)部之后,如圖3.3具體學(xué)習(xí)單詞界面。圖3.3 具體學(xué)習(xí)單詞界面如上界面可以看到該

36、單元的單詞,點擊則發(fā)出該單詞的讀音。點擊該單詞就會加入到另一個模塊生詞本當(dāng)中,這時會有個反饋顯示等消息框提示。如果重復(fù)點擊則會給予另一個反饋等字樣。而是按順序選擇該單元的單詞的功能。在該界面點擊手機(jī)上的鍵,在未完成該單元的學(xué)習(xí)的情況下彈出一個消息框。消息框內(nèi)容是讓用戶確認(rèn)是否要結(jié)束學(xué)習(xí)?點擊則返回到之前圖3.2中的界面,點擊則返回到3.3界面。在單元最后一個單詞學(xué)習(xí)完成后彈出一個消息框告知用戶該單元學(xué)習(xí)已經(jīng)完成。請用戶。此時學(xué)習(xí)模塊主界面上中不會再出現(xiàn)之前學(xué)習(xí)過的單元。而中還會有該單元的單詞。以上就是學(xué)習(xí)模塊的用戶需求分析。3.2.3 復(fù)習(xí)模塊當(dāng)用戶在主界面進(jìn)入復(fù)習(xí)模塊時希望有如下功能的界面。

37、圖3.4是復(fù)習(xí)模塊主界面圖。圖3.4 復(fù)習(xí)模塊主界面希望在進(jìn)入該模塊界面可以看到以上界面效果,主要分為、等三大TabHost。當(dāng)選擇時,就能看到已經(jīng)學(xué)習(xí)過的單元的復(fù)習(xí)情況。如:已經(jīng)復(fù)習(xí)這個單元,則該單元會在這個界面上顯示,而且根據(jù)用戶是否復(fù)習(xí)過該單元會有一個復(fù)習(xí)次數(shù)的提示。點擊此列表時會彈出一個消息框提示用戶是否開始復(fù)習(xí)?如用戶選擇將進(jìn)入該單元的復(fù)習(xí),選擇則返回上一層。圖3.5是具體復(fù)習(xí)單詞的界面。圖3.5 具體復(fù)習(xí)單詞界面點擊則該單詞直接加入到生詞庫模塊。點擊上面文本區(qū)顯示該單詞的中文意思,而下面跟按鈕相應(yīng)的變成跟。再一次讓用戶選擇。如用戶選擇按鈕,則繼續(xù)復(fù)習(xí)下一個單詞。點擊按鈕則此單詞復(fù)習(xí)

38、無效,進(jìn)入下一個單詞的選擇。如果在復(fù)習(xí)過程中該單詞實在記不得則需點擊,直接進(jìn)入下一個單詞的復(fù)習(xí)。只有在該單元的所有單詞完全記得時才算該單元復(fù)習(xí)完成。在中將顯示所有單元的列表。如果該單元已經(jīng)學(xué)習(xí)過即可復(fù)習(xí)。未學(xué)習(xí)過的單詞必須首先學(xué)習(xí)才可以進(jìn)行復(fù)習(xí)。而則是根據(jù)用戶使用該軟件的時間,學(xué)習(xí)過的單元等算法給用戶提供具體的學(xué)習(xí)計劃。顯示兩周內(nèi)該復(fù)習(xí)的計劃。3.2.4 測試模塊進(jìn)入測試模塊則是所有單元的列表。用戶可以選擇測試哪個單元。而且列表旁邊顯示出完成測試后的正確率。具體測試界面如圖3.6所示。圖3.6 具體測試單詞界面希望做出如上圖所示的功能界面。用戶可在顯示出的中文意思中選擇正確的中文詞義。當(dāng)選擇正

39、確時下面會給予一個反饋,告知用戶選擇是否正確。用戶可以根據(jù)自己的需要決定要不要將該單詞加入到生詞庫中。在該單元的所有單詞測試結(jié)束后彈出一個消息框告知用戶該單元的測試已結(jié)束。3.2.5 生詞庫模塊進(jìn)入生詞庫模塊后,用戶將看見自動加到生詞庫中的單詞列表。生詞庫編輯單詞界面如圖3.7所示。圖3.7 具體測試單詞界面長按每個單詞可以進(jìn)行該單詞的編輯或者刪除。用戶還可以手動添加詞庫以外的生詞,此時需要使用Menu鍵。可在文本框中輸入單詞以及中文意思,且文本內(nèi)容不能為空,點擊按鈕保存單詞。點擊按鈕則返回到生詞庫所有列表當(dāng)中。3.2.6 詞庫導(dǎo)入模塊在主界面選擇導(dǎo)入詞庫模塊,進(jìn)入詞庫的選擇以及新詞庫的導(dǎo)入界

40、面。此軟件預(yù)設(shè)GRE單詞書,把該單詞書分為上、中、下等三部分,以便用戶在學(xué)習(xí)具體單詞時候的方便。而導(dǎo)入新詞庫功能則是可以根據(jù)用戶需求來完成。具體導(dǎo)入詞庫界面如圖3.8所示。圖3.8 導(dǎo)入新詞庫界面如上圖所示當(dāng)導(dǎo)入手機(jī)卡中的詞庫時,選擇要導(dǎo)入的文件后詞庫文件信息將自動加載進(jìn)去。詞庫名稱是讓輸入在該系統(tǒng)中該詞庫的名稱,每個列表的容量則由用戶自己確定。用戶在導(dǎo)入詞庫的過程中可以確定該詞庫單詞的順序是還是。點擊則根據(jù)用戶選擇導(dǎo)入新的詞庫,但此時詞庫的格式應(yīng)適合該系統(tǒng)。點擊則取消該操作。3.2.7 個性化模塊在用戶按Menu建時會出現(xiàn)一些個性化的功能,如圖3.9所示。圖3.9 個性化模塊界面此模塊主要是

41、根據(jù)用戶的要求來個性化定制自己的復(fù)習(xí)時間以及在學(xué)習(xí)單詞中是否自動朗讀單詞的功能。當(dāng)用戶選擇設(shè)定每天提醒時間時可以根據(jù)自己所定的時間來進(jìn)行長期按時的復(fù)習(xí)。設(shè)置好此功能每到該時間就會提示用戶到了該復(fù)習(xí)的時間。個性化設(shè)計還包括主界面上的重置功能。點擊重置按鈕所有的學(xué)習(xí)記錄,復(fù)習(xí)記錄將會消失。相當(dāng)于初始化。3.3 系統(tǒng)非功能需求在一個系統(tǒng)的開發(fā)中功能性需求是重點關(guān)心的,卻忽略了系統(tǒng)非功能需求。但是往往由于忽略的非功能需求而影響系統(tǒng)的質(zhì)量跟功能。在該系統(tǒng)中將注意如下非功能需求。(1)性能實現(xiàn)該系統(tǒng)功能完整,無程序錯誤。系統(tǒng)反應(yīng)速度快,準(zhǔn)確。界面美、友好。(2)成本由于本系統(tǒng)為純軟件開發(fā),在開發(fā)過程中無需

42、任何成本。只需要一臺電腦和一部Android手機(jī)即可。3.4 系統(tǒng)開發(fā)環(huán)境 軟件環(huán)境:Eclipse Android SDK硬件環(huán)境:Android手機(jī)3.5 系統(tǒng)可行性分析在進(jìn)行可行性分析時,采用分心兩大部分來判斷該系統(tǒng)是否可行。即為技術(shù)可行性與經(jīng)濟(jì)可行性。3.5.1 技術(shù)可行性該系統(tǒng)采用Linux內(nèi)核作為底層構(gòu)架,采用Java語言,數(shù)據(jù)庫使用支持Linux系統(tǒng)的SQLite。在Android中使用SAX解析XML進(jìn)行文檔的讀取。用TTS技術(shù)實現(xiàn)單詞的發(fā)音功能。使用文件存儲方式進(jìn)行數(shù)據(jù)的存儲。Android SDK提供很多需要的包以及調(diào)試、仿真工具。可使用Android模擬器DDMS,也可以

43、直接使用Android手機(jī)進(jìn)行真機(jī)調(diào)試。3.5.2 經(jīng)濟(jì)可行性由于本系統(tǒng)為純軟件開發(fā),在開發(fā)過程中無需任何成本。在軟件的開發(fā)過程中可以使用Eclipse進(jìn)行軟件編輯。在調(diào)試過程中也可以使用Android自帶的模擬器DDMS進(jìn)行調(diào)試。當(dāng)然也可以使用自己手里的Android智能手機(jī)來進(jìn)行直接真機(jī)調(diào)試。在此過程中用到的僅僅只用了一臺電腦跟一部智能手機(jī)。所以該系統(tǒng)開發(fā)可行。第4章系統(tǒng)設(shè)計4.1 用戶界面設(shè)計根據(jù)對界面顯示內(nèi)容的分析,繪制出所有用戶界面的草圖。實際開發(fā)過程中將根據(jù)需要繼續(xù)修改UI圖。表4.1詳細(xì)介紹此系統(tǒng)用到的所有UI界面設(shè)計。分為main、studyword、reviewlayout、

44、test、editword、import_book_dialog等6個UI界面圖??梢钥吹皆摻缑嬗心男┎季?,哪些控件組成。在Eclipse實際使用過程中將根據(jù)需要具體修改,以及添加。該表里的圖是使用Visio軟件繪制的真實有效的圖片。表4.1 UI界面詳細(xì)介紹名稱UI界面main續(xù)表4.1 UI界面詳細(xì)介紹名稱UI界面studywordreviewlayout續(xù)表4.1 UI界面詳細(xì)介紹名稱UI界面testeditword續(xù)表4.1 UI界面詳細(xì)介紹名稱UI界面import_book_dialog4.2 數(shù)據(jù)庫設(shè)計根據(jù)系統(tǒng)的功能需求,本系統(tǒng)需要用到4個表結(jié)構(gòu)。下面詳細(xì)介紹一下每個表。主界面中,

45、使用如下表4.2所示數(shù)據(jù)庫表結(jié)構(gòu)。該表主要是將預(yù)置的書分為上、中、下冊,方便用戶的使用。而且會相應(yīng)的在學(xué)習(xí)進(jìn)度以及復(fù)習(xí)進(jìn)度提示中起到作用。表4.2 BOOKS的數(shù)據(jù)庫表結(jié)構(gòu)屬性數(shù)據(jù)類型說明性質(zhì)IDtext區(qū)分上、中、下冊主鍵NAMEtext區(qū)分上、中、下冊的名稱外來建GENERATE_TIMEtext創(chuàng)建詞庫的日期外來建NUMOFLISTtext該冊書中單元列表總數(shù)外來建NUMOFWORDtext該冊書中單詞總數(shù)外來建下面在來介紹一下每冊書的數(shù)據(jù)庫結(jié)構(gòu)。如下表4.3“book1的數(shù)據(jù)庫表結(jié)構(gòu)”。該表主要是將單詞的拼寫、中文詞義、音標(biāo)、所屬單元列出來以便在學(xué)習(xí)、復(fù)習(xí)、測試等模塊使用。預(yù)先將該系統(tǒng)

46、置成上、中、下冊。每冊說的數(shù)據(jù)庫表結(jié)構(gòu)如表4.3完全一樣。在這里只說明其中一冊書的數(shù)據(jù)庫表結(jié)構(gòu)。表4.3 book1的數(shù)據(jù)庫表結(jié)構(gòu)屬性數(shù)據(jù)類型說明性質(zhì)IDtext該冊書中所有單詞按順序標(biāo)號主鍵SPELLINGtext單詞的拼寫外來建MEANNINGtext單詞的中文意思外來建PHONETIC_ALPHABETtext單詞的發(fā)音外來建LISTtext單詞所在的單元信息外來建下面說明個系統(tǒng)判斷已學(xué)習(xí)單元、未學(xué)習(xí)單元等功能時所用的數(shù)據(jù)庫結(jié)構(gòu)。如表4.4數(shù)據(jù)庫表結(jié)構(gòu)所示。表4.4 PLAN的數(shù)據(jù)庫表結(jié)構(gòu)屬性數(shù)據(jù)類型說明性質(zhì)BOOKIDtext顯示區(qū)分該書究竟是哪一冊書外來鍵LISTtext書中所有單元

47、的列表主鍵LEARNEDtext已學(xué)習(xí)單元的顯示外來建另有在個性化設(shè)置里的選擇英音,或者美音是所要調(diào)用的表。表4.5是為了讓系統(tǒng)判斷當(dāng)前所選擇是英音還是美音。表4.5 android_metadata的數(shù)據(jù)庫表結(jié)構(gòu)屬性數(shù)據(jù)類型說明性質(zhì)localetext判斷英音或美音的元數(shù)據(jù)主鍵以上就是在本項目中要用到的所有的數(shù)據(jù)表結(jié)構(gòu)。4.3 程序模塊設(shè)計根據(jù)前一章節(jié)系統(tǒng)功能需求將本系統(tǒng)分為7大模塊。分別為:主界面模塊、學(xué)習(xí)模塊、復(fù)習(xí)模塊、測試模塊、生詞庫模塊、詞庫導(dǎo)入模塊、個性化等模塊。它們之間的關(guān)系如圖4.1系統(tǒng)模塊結(jié)構(gòu)圖所示。圖4.1 系統(tǒng)模塊結(jié)構(gòu)圖由上圖可以清楚的知道該系統(tǒng)的模塊結(jié)構(gòu)。根據(jù)該系統(tǒng)功能

48、需求可以知道其實每個模塊之間都有內(nèi)部直接或者間接的聯(lián)系。下面詳細(xì)介紹一下其中幾個模塊的設(shè)計過程。4.3.1 主界面模塊設(shè)計已知Android系統(tǒng)中每一個.java文件都會對應(yīng)一個.xml文件??梢愿鶕?jù)上面設(shè)計的UI界面以及數(shù)據(jù)庫來完成該模塊的設(shè)計。每個Activity啟動后首先調(diào)用的函數(shù)就是onCreate()回調(diào)函數(shù)。該函數(shù)常用來進(jìn)行Activity的初始化。該入口函數(shù)里需要寫當(dāng)點擊這個系統(tǒng)軟件時會出現(xiàn)的第一個顯示界面。該界面的顯示需要調(diào)用名為.login的xml。該xml使用的是一張名為login的圖片。在該系統(tǒng)設(shè)置2000毫秒即2秒的延時來顯示login圖片。在主界面的UI設(shè)計中有很多控

49、件,在點擊這些控件時界面應(yīng)該有相應(yīng)的反應(yīng)。因此要用到一些監(jiān)聽事件。使用OnClickListener()函數(shù)來實現(xiàn)該功能。當(dāng)主界面中的圖標(biāo)選中或者被單機(jī)時觸的發(fā)事件使用setOnItemClickListener()函數(shù)。在主界面中還有一個功能則是需要顯示出當(dāng)前詞庫的信息以及學(xué)習(xí)進(jìn)度、復(fù)習(xí)進(jìn)度。此時使用私有方法initWidgets()函數(shù)。在點擊學(xué)習(xí)、復(fù)習(xí)、測試、生詞庫、刪除詞庫、重置詞庫等功能模塊的空間時使用onClick()函數(shù)。在主界面使用menu建時使用onCreateOptionMenu()函數(shù)。在這里設(shè)置三個部分,分別為設(shè)置、說明、關(guān)于等三個部分。使用onOptionsItemS

50、elected()函數(shù)來處理選擇的具體內(nèi)容。最后使用onDestroy()函數(shù)終止Activity,進(jìn)入非活動狀態(tài)。4.3.2 學(xué)習(xí)模塊設(shè)計當(dāng)進(jìn)入學(xué)習(xí)模塊可以看到兩部分內(nèi)容。一是部分是,另一部分是。此部分使用TabHost。該模塊的入口函數(shù)同樣是onCreate()函數(shù)。通過getTabHost()函數(shù)獲得了Tab標(biāo)簽頁的容器,用以繼承可以點擊的Tab標(biāo)簽和分頁的界面布局。在點擊分頁中的一個選項時,使用OnItemClickListener()函數(shù)。來處理事件。當(dāng)長所選列表時則可以把當(dāng)前單元置為。此時使OnIntemLongClickListener()函數(shù)。在處理該事件的過程中還需要用到一個

51、消息框提示。此時使用onClick(DialogInterface dialog,int wich)這個函數(shù)。在進(jìn)入具體學(xué)習(xí)界面時使用私有方法startstudy()。使用私有方法來讓用戶判斷是否進(jìn)入該內(nèi)容的學(xué)習(xí)。在用戶確定進(jìn)入后則進(jìn)入到具體學(xué)習(xí)界面。在具體單詞學(xué)習(xí)模塊中同樣入口函數(shù)也是onCreate()函數(shù)。studyWord是公有的,它繼承與Activity類。同樣使用OnClickListener()函數(shù)處理事件。在這個下面設(shè)置所需的私有變量。使用intWidgets這種私有方法來處理具體單詞學(xué)習(xí)界面的內(nèi)容顯示。此時還需要調(diào)用.TTF語音轉(zhuǎn)化文件。在具體單詞學(xué)習(xí)界面中點擊的按鈕則使用O

52、nClick()函數(shù)來判斷選擇的究竟是哪一個按鈕,根據(jù)具體按鈕進(jìn)行具體操作。在單詞未完成學(xué)習(xí)時會有個判斷界面,提示用戶在當(dāng)前未完成學(xué)習(xí)的基礎(chǔ)上是否退出該學(xué)習(xí)界面。此時使用onKeyDown()函數(shù)來判斷是否確定退出該界面。在完成該單元單詞的學(xué)習(xí)情況下使用UpdateView()私有函數(shù)來更新已學(xué)習(xí)跟未學(xué)習(xí)單詞的列表。同樣onDestroy()函數(shù)終止當(dāng)前Activity。4.3.3 復(fù)習(xí)模塊設(shè)計復(fù)習(xí)模塊的主界面也同樣使用的是TabHost來進(jìn)行分頁的選擇。在分頁下入口函數(shù)同樣是onCreate()函數(shù),在該函數(shù)下寫下三個分頁的名稱。使用createTabContent()函數(shù)來對具體選擇的分頁

53、進(jìn)行處理。分別為、等三個分頁。在選擇具體復(fù)習(xí)單元后則進(jìn)入具體復(fù)習(xí)界面startReview模塊。在該模塊中使用監(jiān)聽事件來處理點擊控件的事件。使用UpdateView()函數(shù)處理已復(fù)習(xí)與未復(fù)習(xí)列表的更新。用onKeyDown()函數(shù)來提醒在未完成當(dāng)前復(fù)習(xí)時是否退出該單元。用intWidgets()中寫好所有的控件所用的圖片等。使用onClick()處理點擊的控件事件的處理。使用onDestroy()函數(shù)結(jié)束當(dāng)前Activity。4.3.4 測試模塊設(shè)計在此模塊中除了使用基本的監(jiān)聽事件之外,還將使用私有productQues()函數(shù)來判斷選擇的詞義是否正確。根據(jù)數(shù)據(jù)庫的wordId來判斷該單詞的詞

54、義是否正確。按單詞的字母逐個排查是否一致。如果正確廣播消息顯示正確,否則提示錯誤,正確答案應(yīng)該是哪一個。在測試列表中g(shù)etDate()函數(shù)來判斷正確率。在一個單元的測試結(jié)束后會統(tǒng)計該單元的正確率,并顯示出。在用戶輸入時調(diào)用onResume()函數(shù),此時的Activity位于Activity棧的棧頂。4.3.5 個性化模塊設(shè)計該模塊使用一個構(gòu)造函數(shù)timePreference()繼承與DialogPreference()。在個性化模塊中需要設(shè)置單詞復(fù)習(xí)時間,此時就使用該構(gòu)造函數(shù)。在該模塊中使用三個受保護(hù)的方法。分別為onPrepareDialogBuilder(Builder)、onBindDi

55、alogView(View)、onDialogClosed(boolean)。用以上受保護(hù)的三個函數(shù)來完成在設(shè)定復(fù)習(xí)時間提醒中的時間的設(shè)定功能。在復(fù)習(xí)時間的通知模塊中會使用onReceive()函數(shù)。確定復(fù)習(xí)時間。這是根據(jù)用戶選擇是否提醒操作來進(jìn)行提示。第5章系統(tǒng)實現(xiàn)5.1 系統(tǒng)開發(fā)環(huán)境本項目的軟件環(huán)境:Eclipse Android SDK Version 3.7.1數(shù)據(jù)庫開發(fā)環(huán)境:SQLite Database Browser Version 1.3硬件環(huán)境:Android手機(jī)5.2 主界面模塊功能實現(xiàn)該模塊為進(jìn)入該系統(tǒng)后第一個看到的界面。在這里可以進(jìn)入其它具體模塊。該界面為用戶提供學(xué)習(xí)、

56、復(fù)習(xí)、測試、生詞庫、個性化等功能。5.2.1 主界面模塊流程圖及核心代碼主界面模塊流程圖如圖5.1所示。圖5.1 主界面模塊流程圖核心代碼如下所示。public void onClick(View v) if (v=reviewBu)Intent intent = new Intent();intent.setClass(Main.this, ReviewMain.class);this.startActivity(intent);if (v=testBu)Intent intent = new Intent();intent.setClass(Main.this, TestList.clas

57、s);this.startActivity(intent);if (v=this.resetBu)Dialog dialog = new AlertDialog.Builder(this) .setIcon(R.drawable.dialog_icon) .setTitle(重置當(dāng)前詞庫) .setMessage(確定要將這個詞庫重置嗎?它將失去所有學(xué)習(xí)記錄) .setPositiveButton(確定, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whichButt

58、on) DataAccess data = new DataAccess(Main.this); data.ResetBook(); Toast.makeText(Main.this, 該詞庫已被重置, Toast.LENGTH_SHORT).show(); initSpinner(); ) .setNegativeButton(取消, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whichButton) ).create();dialog.show();if (v=

59、learnBu)Intent intent = new Intent();intent.setClass(Main.this, study.class);this.startActivity(intent);以上代碼是該模塊進(jìn)入其他具體模塊時候的判斷。如果滿足條件則進(jìn)入該模塊。5.2.2 主界面模塊界面的實現(xiàn)該模塊提供給用戶學(xué)習(xí)、復(fù)習(xí)、測試、生詞庫、導(dǎo)入詞庫、個性化設(shè)置等功能。下圖5.2是該系統(tǒng)實現(xiàn)后的界面。圖5.2 主界面模塊界面的實現(xiàn)圖5.3 學(xué)習(xí)模塊功能實現(xiàn)該模塊分為學(xué)習(xí)主界面跟學(xué)習(xí)單詞界面。可以根據(jù)所選擇的單元進(jìn)行單詞的學(xué)習(xí)??梢詫?yīng)英文單詞、中文意思、單詞發(fā)音等功能進(jìn)行學(xué)習(xí)。5.3.

60、1 學(xué)習(xí)模塊流程圖及核心代碼核心代碼如下所示。public void onClick(View v) Log.i(3, 3); this.UpdateView(); Log.i(3, 3);if (v=nextone)if(currentnumnumoflist) currentnum+; this.UpdateView();else if (v=add)DataAccess data = new DataAccess(studyWord.this);ArrayList attention = new ArrayList();attention=data.QueryAttention(SPEL

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論