馬崢嶸(渤海大學(xué) 大學(xué)外語(yǔ)教研部,遼寧 錦州 121013)
基于J2ME的英語(yǔ)詞匯移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)
馬崢嶸
(渤海大學(xué) 大學(xué)外語(yǔ)教研部,遼寧 錦州121013)
針對(duì)英語(yǔ)詞匯意義錯(cuò)綜復(fù)雜,可以利用零碎時(shí)間進(jìn)行學(xué)習(xí)的特點(diǎn),本文基于J2ME技術(shù)展開(kāi)研究。運(yùn)用軟件工程和結(jié)構(gòu)化設(shè)計(jì)的思想和方法,通過(guò)對(duì)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、開(kāi)發(fā)環(huán)境搭建、數(shù)據(jù)庫(kù)連接、核心程序開(kāi)發(fā)等方面的研究與設(shè)計(jì),解決了平臺(tái)設(shè)計(jì)開(kāi)發(fā)的核心技術(shù)問(wèn)題。結(jié)果表明,依據(jù)本文研究成果開(kāi)發(fā)的英語(yǔ)詞匯移動(dòng)學(xué)習(xí)平臺(tái),具有結(jié)構(gòu)簡(jiǎn)化、移植性強(qiáng)、易于維護(hù)等特點(diǎn),對(duì)促進(jìn)英語(yǔ)詞匯學(xué)習(xí)具有重要作用。
J2ME;英語(yǔ)詞匯;移動(dòng)學(xué)習(xí);學(xué)習(xí)平臺(tái);系統(tǒng)設(shè)計(jì)
現(xiàn)代信息技術(shù)特別是移動(dòng)通信技術(shù)的發(fā)展,使人們的學(xué)習(xí)方式發(fā)生的根本性轉(zhuǎn)換。移動(dòng)學(xué)習(xí)(Mobile Learning)是以移動(dòng)教育(Mobile Education)為基礎(chǔ),是繼數(shù)字學(xué)習(xí)(E-Learning)之后發(fā)展起來(lái)的一種新的學(xué)習(xí)方式,學(xué)習(xí)者可以在任何時(shí)間、任何地點(diǎn)訪問(wèn)學(xué)習(xí)資源,獲取知識(shí)和技能[1-2]。詞匯是學(xué)習(xí)英語(yǔ)的基礎(chǔ),如果沒(méi)有詞匯,任何形式的交流都無(wú)從談起。詞匯量不足成為英語(yǔ)學(xué)習(xí)過(guò)程中遇到的“攔路虎”。影響詞匯學(xué)習(xí)困難的原因,但最重要的是缺乏正確的學(xué)習(xí)策略和學(xué)習(xí)方法。移動(dòng)學(xué)習(xí)要求時(shí)間短暫、內(nèi)容精悍,并且具有松散性和實(shí)用性,英語(yǔ)詞匯學(xué)習(xí)正好滿足這些特點(diǎn)[3]。目前移動(dòng)設(shè)備特別是智能手機(jī)在學(xué)生的應(yīng)用非常普遍,因此,開(kāi)發(fā)英語(yǔ)詞匯移動(dòng)學(xué)習(xí)平臺(tái),利用零碎時(shí)間進(jìn)行學(xué)習(xí),為學(xué)生提供新的英語(yǔ)詞匯學(xué)習(xí)手段,增加英語(yǔ)詞匯學(xué)習(xí)的機(jī)會(huì)。文中基于J2ME平臺(tái)進(jìn)行設(shè)計(jì),充分發(fā)揮J2ME平臺(tái)的結(jié)構(gòu)簡(jiǎn)化、可移植性強(qiáng)、重用性好、易于維護(hù)、開(kāi)發(fā)效率高、穩(wěn)定性好、伸縮性強(qiáng)等優(yōu)點(diǎn),為軟件系統(tǒng)開(kāi)發(fā)提供優(yōu)秀的解決方案。
J2ME平臺(tái)由4層構(gòu)成,分別是主機(jī)操作系統(tǒng)層(HostOperating System)、配置層(Configuration)、簡(jiǎn)表層(Profiles)和可選包層(Optional Packages)。其中,主機(jī)操作系統(tǒng)層的作用是處理設(shè)備硬件底層的響應(yīng),配置層是提供給設(shè)備使用的最小類庫(kù)集合,簡(jiǎn)表層是針對(duì)一系列設(shè)備提供的開(kāi)發(fā)包集合,可選包層是針對(duì)特定設(shè)備提供的類庫(kù)。配置層和簡(jiǎn)表層是J2ME平臺(tái)結(jié)構(gòu)的核心部分,每個(gè)配置代表一種低水平的基本應(yīng)用程序接口,在兩個(gè)相似基礎(chǔ)之上是簡(jiǎn)表,用于特殊設(shè)備額外的應(yīng)用程序接口[4]。配置和簡(jiǎn)表的體系結(jié)構(gòu)如圖1所示。
配置層 Configuration定義了一個(gè)基本的 J2ME運(yùn)行環(huán)境,滿足設(shè)備的JavaVM虛擬機(jī)功能的最小子集和針對(duì)設(shè)備的Java類庫(kù)的最小集合,主要針對(duì)的是系統(tǒng)級(jí)特性。J2ME定義兩個(gè)配置,連接設(shè)備配置(Connected Device Configuration,CDC)和限制性更強(qiáng)的有限連接設(shè)備配置(Connected Limited Device Configuration,CLDC)。
簡(jiǎn)表層Profiles是構(gòu)建在配置層Configuration之上的一層類庫(kù),提供配置層中所缺失的功能以支持特定設(shè)備,提供了應(yīng)用程序級(jí)的接口。簡(jiǎn)表的實(shí)現(xiàn)是Java應(yīng)用程序接口的一個(gè)集合,用于適應(yīng)被定義配置的應(yīng)用程序接口提供的服務(wù),簡(jiǎn)表是一個(gè)完整的運(yùn)行環(huán)境,一個(gè)在簡(jiǎn)表上執(zhí)行的應(yīng)用程序不需要額外的支持類。
圖1 配置和簡(jiǎn)表的體系結(jié)構(gòu)
數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)是數(shù)據(jù)元素與元素之間在計(jì)算機(jī)中的一種表示,目的是解決空間問(wèn)題,或者是通過(guò)空間間接地解決時(shí)間問(wèn)題。由于英語(yǔ)詞匯量非常多,為了提高數(shù)據(jù)的存儲(chǔ)效率和讀取效率,采用數(shù)據(jù)庫(kù)系統(tǒng)的方式存儲(chǔ)數(shù)據(jù)。為了進(jìn)行全方位的英語(yǔ)詞匯學(xué)習(xí),向?qū)W習(xí)者提供全面的詞匯信息,同時(shí)減少信息冗余和數(shù)據(jù)獨(dú)立性,將存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)為“詞性、詞匯和例句”3個(gè)實(shí)體,實(shí)體間存在一個(gè)一對(duì)多聯(lián)系和一個(gè)多對(duì)多聯(lián)系,即“類別”與“詞匯”之間是一對(duì)多聯(lián)系,一個(gè)“類別”包含多個(gè)“詞匯”,一個(gè)“詞匯”只能屬于一個(gè)“類別”;一個(gè)“詞匯”存在多個(gè)“例句”,一個(gè)“例句”又可以屬于多個(gè)“詞匯”。用實(shí)體聯(lián)系圖(E-R,Entity Relationship Diagram)表示的詞匯存儲(chǔ)結(jié)構(gòu)概念結(jié)構(gòu)設(shè)計(jì)如圖2所示。
圖2 詞匯存儲(chǔ)E-R圖
按照數(shù)據(jù)庫(kù)概念結(jié)構(gòu)到邏輯結(jié)構(gòu)的轉(zhuǎn)換規(guī)則[5],一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,可以轉(zhuǎn)換為“詞性”、“詞匯”和“例句”3個(gè)關(guān)系模式;一個(gè)一對(duì)多的聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式也可以與多端合并,本文與多端合并,即“包含”聯(lián)系合并到“詞匯”關(guān)系模式;一個(gè)多對(duì)多聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,即“存在”轉(zhuǎn)換為一個(gè)關(guān)系模式。為了便于編程實(shí)現(xiàn),關(guān)系模式中的對(duì)象(表名、字段名)采用英文表示,字段采用“中文注釋,字段名,類型,存儲(chǔ)字節(jié)數(shù)”的格式?;贛ySQL數(shù)據(jù)庫(kù)管理系統(tǒng)轉(zhuǎn)換的關(guān)系模式如下:
1)詞性表,字段為E-R圖中“詞性”實(shí)體的所有屬性,結(jié)構(gòu)為:VocabularyNature[(詞性名稱,Nature,Varchar,20)、(縮寫(xiě) 形 式 ,AbbreviatedForm,Varchar,10)、(詞 性 代 碼 ,NatureCode,Varchar,2)、(詞性例詞,NatureExampleWords,Varchar,20)、(詞性意義,NatureSignificance,Varchar,100)、(漢語(yǔ)名稱,ChineseName,Varchar,20)]。
2)詞匯表,字段除了E-R圖中“詞匯”實(shí)體的屬性外,還有一對(duì)多聯(lián)系“包含”對(duì)應(yīng)的一方“詞性”的主碼,結(jié)構(gòu)為:Vocabulary[(詞匯名稱,VocabularyName,Varchar,20)、(詞匯代碼,VocabularyCode,Smallint,2)、(詞性代碼,NatureCode,Varchar,2)、(音標(biāo)標(biāo)注,PhoneticSymbols,Varchar,20)、(英文解 釋 ,EnglishExplanation,Varchar,100)、(漢 文 解 釋 ,ChineseExplanation,Varchar,100)、(語(yǔ) 音 文 件 ,VoiceFile,Blog)、(詞匯分級(jí),VocabularyLevel,Smallint,2)]。
3)例句表,字段為E-R圖中“例句”實(shí)體的所有屬性,結(jié)構(gòu)為:ExampleSentence[(例句代碼,SentenceCode,Smallint,2)、(命 名 內(nèi) 容 ,SentenceContent,Text)、(中 文 翻 譯 ,ChineseTranslation,Text)、(內(nèi)容來(lái)源,ContentSource,Varchar,100)、(作者姓名,AuthorName,Varchar,50)、(語(yǔ)音文件,VoiceFile,Blog)]。
4)存在表,字段為E-R圖中“存在”聯(lián)系兩端的主碼,結(jié)構(gòu)為:ExistenceRelation[(詞匯代碼,VocabularyCode,Smallint,2)、(例句代碼,SentenceCode,Smallint,2)]。
J2ME開(kāi)發(fā)環(huán)境搭建分為以下5個(gè)步驟:
1)安裝JDK。首先,從http://java.sun.com下載并安裝JDK;然后,設(shè)置環(huán)境變量path,classpath。環(huán)境變量告訴操作系統(tǒng)、應(yīng)用程序、腳本程序等需要資源的位置。只需要把c: jdk1.3in目錄加到path環(huán)境變量里面,就可以在系統(tǒng)中的任何地方運(yùn)行java應(yīng)用 程 序。set classpath=.;c: jdk1.3lib ools.jar;c:jdk1.3libdt.jar將dt.jar和tools.jar兩個(gè)jar包加入到classpath環(huán)境變量,讓java解釋器找到這個(gè)類。
2)安裝WTK。WTK是Sun J2ME Wireless Toolkit—Sun的無(wú)線開(kāi)發(fā)工具包,下載地址是http://java.sun.com/javame/ downloads/index.jsp,WTK安裝目錄的文件夾內(nèi)容分別為:bin,WTK下應(yīng)用程序需要運(yùn)行的學(xué)用的exe文件;apps,系統(tǒng)上自帶的示例程序;docs,WTK文檔,即各種幫助與說(shuō)明文件;wtklib,存放WTK用到的類庫(kù)以及一些資源文件;lib,Java運(yùn)行環(huán)境的一些核心庫(kù)。
3)安裝Eclipse。Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。在地址http://www.eclipse.org/downloads/下載eclipse-java-europa-winter-win32.zip文件,將該文件解壓縮,雙擊eclipse目錄有的eclipse.exe就可以完成安裝。在Eclipse中打開(kāi)Windows-Preferences界面,選擇Java-Installed JREs,實(shí)現(xiàn)Eclipse與JDK綁定。
4)將Eclipse與Eclipse ME綁定。Eclipse ME直是強(qiáng)大的Java開(kāi)發(fā)工具,集成了J2EE Eclipse插件集,為項(xiàng)目開(kāi)發(fā)帶來(lái)方便。在地址 http://www.eclipse.org下載 eclipse.feature_ 1.7.9_site.zip文件,在Eclipse中打開(kāi)插件安裝菜單Help->Software Updates->Find and Install...->Search for new features to install->New Archived Site...搜索要安裝的新功能插件,選擇New Archived Site,輸入EclipseME1.7.9所在目錄完成安裝。
5)Eclipse中導(dǎo)入WTK。打開(kāi) Eclipse,進(jìn)行Windows-Preferences界面,選擇Java-Device Management,點(diǎn)擊Import,再點(diǎn)擊Browse,選擇WTK安裝目錄,點(diǎn)擊Refresh,即可將WTK中的模擬設(shè)備導(dǎo)入,實(shí)現(xiàn)Eclipse與WTK的整合。
JDBC(Java Data Base Connectivity)是Java連接和操作數(shù)據(jù)庫(kù)的傳統(tǒng)方法,雖然運(yùn)行效率較高,但需要編程人員書(shū)寫(xiě)復(fù)雜冗長(zhǎng)的SQL語(yǔ)句,因此逐漸被ORM (Object Relational Mapping)的持久化方法所取代。Hibernate是ORM最常用的技術(shù),是對(duì)JDBC的輕量級(jí)封裝,解決了數(shù)據(jù)庫(kù)對(duì)象與Java對(duì)象之間的映射關(guān)系,提高了軟件開(kāi)發(fā)效率和維護(hù)效率。
配置文件Hibernate.cfg.xml文件中定義了和數(shù)據(jù)庫(kù)連接信息,包括數(shù)據(jù)庫(kù)方言、JDBC驅(qū)動(dòng)、用戶名、密碼和URL等。Configuration類借助dom4j的XML解析器進(jìn)行XML的解析設(shè)置環(huán)境,然后使用這些環(huán)境屬性來(lái)生成sessionfactory。這樣sessionfactory生成的session就能夠成功獲得數(shù)據(jù)庫(kù)的連接。使用配置文件具有功能強(qiáng)大、操作方便、良好的格式檢查機(jī)制、文件自動(dòng)加載等優(yōu)點(diǎn)。本系統(tǒng)的Hibernate.cfg.xml文件需要配置的信息如下:
<!--標(biāo)準(zhǔn)的XML文件的起始行,包括XML的版本和XML文件的編碼方式-->
<!--表明解析本 XML文件的 DTD (Document Type Definition)文檔位置。DTD是文檔類型的定義,XML解析器使用DTD文檔來(lái)檢查XML文件的合法性。-->
<!--聲明Hibernate配置文件的開(kāi)始-->
<!--表明以下的配置是針對(duì) session-factory配置的,SessionFactory是Hibernate中的一個(gè)類,負(fù)責(zé)保存HIbernate的配置信息,以及對(duì)Session的操作-->
<!--配置數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序,Hibernate在連接數(shù)據(jù)庫(kù)時(shí),需要用到數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序-->
<!--設(shè)置數(shù)據(jù)庫(kù)的連接 url:jdbc:mysql://localhost/ hibernate,其中l(wèi)ocalhost表示MySql服務(wù)器名稱,hibernate是數(shù)據(jù)庫(kù)名-->
<!--連接數(shù)據(jù)庫(kù)的用戶名-->、<!--連接數(shù)據(jù)庫(kù)的密碼-->、<!--數(shù)據(jù)庫(kù)連接池的大小-->
<!—以下配置是可選項(xiàng):是否后臺(tái)顯示Hibernate的SQL語(yǔ)句,Hibernate每次從數(shù)據(jù)庫(kù)中取出并放到 JDBC的Statement中的記錄條數(shù),Hibernate每次批量操作的記錄數(shù),是否允許Hibernate用JDBC的可滾動(dòng)結(jié)果集,連接數(shù)據(jù)庫(kù)時(shí)是否使用Unicode編碼等-->
<!配置映射文件(hbm文件列表)”-->
核心程序是指運(yùn)用在移動(dòng)設(shè)備上的用于詞匯學(xué)習(xí)應(yīng)用程序。系統(tǒng)提供的功能包括:用戶注冊(cè)、用戶登錄、新詞匯學(xué)習(xí)、舊詞匯復(fù)習(xí)、學(xué)習(xí)記錄查詢。其中,新詞匯學(xué)習(xí)和舊詞匯復(fù)習(xí)包括詞匯相關(guān)信息顯求、讀音、詞性信息顯示、例句信息顯示、例句讀音等。
移動(dòng)設(shè)備由于屏幕界面較小,沒(méi)有鼠標(biāo)和鍵盤,主要采用手指觸摸的方式,因此在界面設(shè)計(jì)時(shí)要充分考慮到這些問(wèn)題[6]。J2ME使用的官方GUI類包括在Profiles里,其中的重要內(nèi)容就是移動(dòng)信息設(shè)備模式(MIDP,Mobile Information Device Profile)。MIDP用戶接口的基本抽象圖形是屏幕,Screen類對(duì)面向設(shè)備的圖形和用戶交互進(jìn)行了封裝,每次應(yīng)用只能顯示一個(gè)屏幕,而且只能瀏覽或使用屏幕上的條目。MIDP針對(duì)移動(dòng)設(shè)備定義了新的用戶界面(UI,User Interface)包,包含低級(jí)和高級(jí)兩種類型的API,并且分別定義的各自的事件處理模式。MIDP UI的類層次關(guān)系如圖3所示。
圖3 MIDP UI的類層次關(guān)系
核心程序開(kāi)發(fā)基于Display(系統(tǒng)顯示與輸入設(shè)備的管理器),在Screen的子類Form中放置相應(yīng)的GUI控件,包括顯示詞匯及音標(biāo)等的TextField控件、顯示圖型的ImageItem控件、進(jìn)行選擇操作的ChoiceGroup控件、表示日期和時(shí)間的DataField控件、顯示多個(gè)例句的List控件等。為了詞匯和例句讀音,加入MMAPI(Mobile Media API),可支持 wav、mid、mpg等聲音格式文件。MIDP事件處理分為高級(jí)和低級(jí)兩種,分別針對(duì)高級(jí)UI和低級(jí)UI。移動(dòng)信息設(shè)備的輸入主要來(lái)自于手機(jī)鍵盤,導(dǎo)航則主要由按鈕來(lái)完成。高級(jí)事件處理Command類包裝了動(dòng)作的信息,構(gòu)造器的參數(shù)分別表示按鈕的標(biāo)簽、按鈕的類型和優(yōu)先級(jí)別。高級(jí)事件處理主要由兩個(gè)接口來(lái)實(shí)現(xiàn),一個(gè)是 CommandListener,另一個(gè)是ItemStateListener;低級(jí)事件處理必須繼承Canvas類并覆蓋其中的方法。低級(jí)事件的處理是連續(xù)的、串行的,在前面的事件返回之前后面的事件不會(huì)執(zhí)行。
情境和語(yǔ)境在英語(yǔ)詞匯學(xué)習(xí)中起著非常重要的作用,在英語(yǔ)詞匯教學(xué)過(guò)程中,普遍存在孤立講解詞義,沒(méi)有引導(dǎo)學(xué)生從不同語(yǔ)境去理解詞義,以及在聽(tīng)、說(shuō)、讀、寫(xiě)的實(shí)踐中應(yīng)用詞匯。為了提高詞匯的學(xué)習(xí)效率,必須積極創(chuàng)設(shè)豐富多樣的情境和語(yǔ)境。移動(dòng)學(xué)習(xí)展示內(nèi)容豐富,并采用音頻視頻動(dòng)畫(huà)等多媒體手段,非常適于英語(yǔ)詞匯情境和語(yǔ)境的創(chuàng)設(shè)[7]。移動(dòng)學(xué)習(xí)平臺(tái)建設(shè)是開(kāi)展移動(dòng)學(xué)習(xí)的物質(zhì)基礎(chǔ)。本文的研究?jī)?nèi)容解決了英語(yǔ)詞匯移動(dòng)學(xué)習(xí)平臺(tái)開(kāi)發(fā)的核心技術(shù)問(wèn)題,開(kāi)發(fā)人員以此為基礎(chǔ),可以完成數(shù)據(jù)庫(kù)創(chuàng)建、開(kāi)發(fā)環(huán)境搭建、應(yīng)用程序開(kāi)發(fā)等全部工作。但是,移動(dòng)學(xué)習(xí)是一個(gè)復(fù)合系統(tǒng),涉及移動(dòng)通信、網(wǎng)絡(luò)、嵌入式系統(tǒng)多個(gè)領(lǐng)域,相關(guān)技術(shù)不成熟會(huì)影響系統(tǒng)開(kāi)發(fā),需要在以后的研究和實(shí)踐中不斷地完善和擴(kuò)展。
[1]楊緒輝,沈書(shū)生.移動(dòng)學(xué)習(xí)服務(wù)模式設(shè)計(jì)與實(shí)踐[J].電化教育研究,2014,35(6):90-94.
[2]Chrystalla Mouza,Tommi Barrett-Greenly.Bridging the app gap:An examination of a professional development initiative on mobile learning in urban schools[J].Computers&Education,2015,88(10):1-14.
[3]鄭維勇.移動(dòng)微型英語(yǔ)詞匯學(xué)習(xí)系統(tǒng)的設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2014,33(3):176-179.
[4]Xueming Bai,F(xiàn)uyuan Xia,Jun Liu,et al.Mobile Game Design and Implementation Based on J2ME Technology[J]. Physics Procedia,2012,25(1):1149-1154.
[5]潘健.高校體育運(yùn)動(dòng)會(huì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2015,23(8):28-30.
[6]司國(guó)東,趙玉,趙鵬.移動(dòng)學(xué)習(xí)資源的界面設(shè)計(jì)模式研究[J].電化教育研究,2015,36(2):71-76.
[7]羅永華.利用多媒體創(chuàng)設(shè)高中英語(yǔ)詞匯學(xué)習(xí)的情境[J].教學(xué)與管理,2015,32(16):62-64.
Design on English vocabulary mobile learning platform based on J2ME
MA Zheng-rong
(Teaching and Research Institute of Foreign Languages,Bohai University,Jinzhou 121013,China)
In view of the complexity of English vocabulary meaning,and can make use of fragmented time learning characteristics,this paper is based on J2ME technology to study.Using ideas and methods of software engineering and structural design,to research and design through data storage structure,development environment to build,database connections,core program development and other aspects,to solve the core technical issues of platform design and development.The results show that,according to the research results of this paper,developed the English vocabulary mobile learning platform with a simplified structure,strong portability,easy maintenance and other characteristics,the promotion of English vocabulary learning has an important role.
J2ME;English vocabulary;mobile learning;learning platform;system design
TN929.5
A
1674-6236(2016)11-0052-03
2015-06-29稿件編號(hào):201506235
馬崢嶸(1975—),女,遼寧沈陽(yáng)人,碩士,副教授。研究方向:信息技術(shù)與英語(yǔ)教育。