曾棉輝 林偉平 謝志文 包漢宗
摘要:文章基于Android平臺(tái),設(shè)計(jì)并開(kāi)發(fā)實(shí)現(xiàn)了英語(yǔ)口語(yǔ)學(xué)練測(cè)App,詳細(xì)介紹了App的功能設(shè)計(jì),實(shí)現(xiàn)的關(guān)鍵技術(shù)等。App與中學(xué)英語(yǔ)教材內(nèi)容相配套,方便中學(xué)生進(jìn)行英語(yǔ)口語(yǔ)練習(xí)。
關(guān)鍵詞:Android;App;英語(yǔ)口語(yǔ);設(shè)計(jì)與實(shí)現(xiàn)
社會(huì)發(fā)展對(duì)人才的綜合能力要求越來(lái)越高,英語(yǔ)口語(yǔ)能力就是其一,具有較強(qiáng)口語(yǔ)交際能力的人才更受歡迎,因此培養(yǎng)和提高學(xué)生英語(yǔ)口語(yǔ)能力是英語(yǔ)教學(xué)的重要任務(wù)?;诖耍剿骰诂F(xiàn)代信息技術(shù)支持的,利用移動(dòng)互聯(lián)網(wǎng)應(yīng)用輔助英語(yǔ)口語(yǔ)學(xué)習(xí),是非常有價(jià)值的途徑。
目前英語(yǔ)學(xué)習(xí)類App眾多,但大多是以單詞記憶為主要應(yīng)用場(chǎng)景,對(duì)于通過(guò)App練習(xí)英語(yǔ)口語(yǔ)的較為少見(jiàn)。本研究突破了英語(yǔ)口語(yǔ)學(xué)習(xí)的傳統(tǒng)方式,將移動(dòng)應(yīng)用App與英語(yǔ)口語(yǔ)學(xué)習(xí)相結(jié)合,克服了時(shí)間與空間的限制,利用碎片化的時(shí)間便可高效地學(xué)習(xí)。
1.功能設(shè)計(jì)
根據(jù)實(shí)際的市場(chǎng)分析,本App的具體用戶定為學(xué)習(xí)英語(yǔ)的中學(xué)生,包括高中生和初中生。App提供的學(xué)習(xí)內(nèi)容與中學(xué)英語(yǔ)課本學(xué)習(xí)內(nèi)容相配套。軟件的具體設(shè)計(jì)情況如下o
1.1App功能結(jié)構(gòu)
在廣泛調(diào)研的基礎(chǔ)上,對(duì)英語(yǔ)口語(yǔ)學(xué)練測(cè)ipp的功能進(jìn)行了設(shè)計(jì),包括登錄功能、個(gè)人中心、學(xué)習(xí)功能、復(fù)習(xí)功能、分享社交等模塊,具體如圖1所示。
1.2登錄功能
(1)若用戶在本平臺(tái)注冊(cè)過(guò)賬號(hào),可通過(guò)手機(jī)賬號(hào)密碼進(jìn)行登錄。
(2)第三方登錄方式進(jìn)行登錄,本App現(xiàn)僅支持新浪微博及騰訊QQ賬號(hào)登錄。
(3)如果沒(méi)有注冊(cè),用戶需要通過(guò)手機(jī)號(hào)及密碼進(jìn)行注冊(cè),手機(jī)號(hào)會(huì)通接口數(shù)據(jù)進(jìn)行短信驗(yàn)證的方式進(jìn)行驗(yàn)證,方可通過(guò)注冊(cè)。1.3個(gè)人中心
(1)個(gè)人信息:登錄完成可以查看個(gè)人信息。個(gè)人信息包含頭像、昵稱、個(gè)人簡(jiǎn)介、性別及年齡,用戶可以在個(gè)人信息界面進(jìn)行頭像、昵稱、個(gè)人簡(jiǎn)介、性別及年齡的修改。
(2)我的記錄。
學(xué)習(xí)記錄:每一次學(xué)習(xí)的記錄都會(huì)進(jìn)行保存,每一條的記錄信息會(huì)保存:書(shū)籍、單元、已學(xué)、未學(xué);點(diǎn)擊“繼續(xù)學(xué)習(xí)”時(shí)用戶返回到之前學(xué)習(xí)的位置進(jìn)行學(xué)習(xí)。
復(fù)習(xí)記錄:記錄信息包含書(shū)籍、已學(xué)、未學(xué);復(fù)習(xí)以整本為復(fù)習(xí),數(shù)據(jù)含量大,通過(guò)個(gè)人記錄可有效提高復(fù)習(xí)效率。
我的成績(jī):用戶可以通過(guò)選擇自己的學(xué)習(xí)歷史記錄,查詢相應(yīng)學(xué)習(xí)內(nèi)容的成績(jī);每一個(gè)小模塊都會(huì)包含優(yōu)評(píng)、中評(píng)、差評(píng)及未學(xué)等成績(jī)的統(tǒng)計(jì),用戶可根據(jù)選擇,返回學(xué)習(xí)或者重新復(fù)習(xí)。
1.4學(xué)習(xí)模塊
學(xué)習(xí)模塊分為單詞、短語(yǔ)、句子、段落的學(xué)習(xí),學(xué)習(xí)模塊可以選擇對(duì)應(yīng)書(shū)籍及單元進(jìn)行學(xué)習(xí),用戶可針對(duì)不同情況進(jìn)行選擇性學(xué)習(xí),在此期間未進(jìn)行登錄,或者登錄session已經(jīng)失效,需要進(jìn)行重新登錄,才可以進(jìn)行學(xué)習(xí)。
1.5復(fù)習(xí)模塊
復(fù)習(xí)模塊是以整本書(shū)籍進(jìn)行復(fù)習(xí),同樣分為4個(gè)小模塊:?jiǎn)卧~、短語(yǔ)句子及段落。用戶可以根據(jù)自己的學(xué)習(xí)情況,有選擇地進(jìn)行復(fù)習(xí)。重復(fù)學(xué)習(xí),可以使印象更加深刻。
1.6社交分享
用戶可以將自己的學(xué)習(xí)表現(xiàn),包括成績(jī)、己完成內(nèi)容等,分享到微信等社交平臺(tái)。
2.實(shí)現(xiàn)
2.1 hpp數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
根據(jù)ipp功能,數(shù)據(jù)庫(kù)共設(shè)計(jì)了10表,分別為:book(書(shū)籍表)、unit(單元表)、word(單詞表)、phrase(短語(yǔ)表)、sentence(句子表)、paragraph(段落表)、user(用戶數(shù)據(jù)表)、study(學(xué)習(xí)成績(jī)表)、(復(fù)習(xí)成績(jī)表)、score review scorestudy record(學(xué)習(xí)記錄表)、review record(復(fù)習(xí)記錄表)。
限于篇幅,本文只列舉兩個(gè)表的具體設(shè)計(jì)情況。單詞表word表的設(shè)計(jì)如表1所示,用戶表user表的設(shè)計(jì)如表2所示。
2.2語(yǔ)音識(shí)別技術(shù)的實(shí)現(xiàn)
App語(yǔ)音功能的實(shí)現(xiàn)基礎(chǔ)是訊飛語(yǔ)音SDK,實(shí)現(xiàn)語(yǔ)音的錄入、上傳、云解析以及云返回JSON數(shù)據(jù)實(shí)現(xiàn)A0p的語(yǔ)音功能。App針對(duì)兩個(gè)需求,即聽(tīng)寫(xiě)和評(píng)測(cè),對(duì)訊飛SDK進(jìn)行了二次封裝,增強(qiáng)項(xiàng)目的解耦性以及可維護(hù)性,分別為3類:IFLYAnalytics.java(語(yǔ)音聽(tīng)寫(xiě)類)、IFLYEvaluation.Java(語(yǔ)音評(píng)測(cè)類)、IFLYEvaluationAndAnalytics.Java(語(yǔ)音及聽(tīng)寫(xiě)功能合并的類);當(dāng)用戶點(diǎn)擊“麥克風(fēng)”按鈕時(shí),先初始化IFLYEvaluationAndAnalytics.Java并配置相關(guān)參數(shù),調(diào)用start()方法,并實(shí)現(xiàn)回調(diào)監(jiān)聽(tīng)I(yíng)FLYEvaluationAndAnalytics。
MyRecognizeListenter(),通過(guò)重寫(xiě)public voidonBeginOfSpeech()監(jiān)聽(tīng)開(kāi)始語(yǔ)音事件,在此方法中主要判斷語(yǔ)音是否正在啟動(dòng)中,如果正在啟動(dòng),就會(huì)調(diào)用stop()停止語(yǔ)音,這是考慮到用戶第二次點(diǎn)擊時(shí),應(yīng)停止錄音;重寫(xiě)publicvoid setTextResult(Strmg strResulll返回評(píng)測(cè)成績(jī)及聽(tīng)寫(xiě)結(jié)果,在此方法中調(diào)用handler.handleMessage(msg)將返回結(jié)果交由handler處理,由于解析過(guò)程是在子線程中進(jìn)行,在android只有主線程(UI線程)才能修改uI界面,所以子線程與主線程間的通信,采用handler的消息機(jī)制處理;重寫(xiě)public void error(SpeechError error)方法,在此方法中將會(huì)處理相關(guān)的錯(cuò)誤信息,比如用戶閱讀時(shí)聲音的大小、網(wǎng)絡(luò)連接異常。
2.3結(jié)果判別和標(biāo)注功能的實(shí)現(xiàn)算法
App在實(shí)現(xiàn)用戶語(yǔ)音識(shí)別后,對(duì)識(shí)別結(jié)果以文本形式呈現(xiàn)。通過(guò)設(shè)計(jì)識(shí)別文本和標(biāo)準(zhǔn)原始文本進(jìn)行對(duì)比,對(duì)不正確的地方標(biāo)注紅色,用于提示用戶哪里出現(xiàn)問(wèn)題。
系統(tǒng)英語(yǔ)字符串和用戶閱讀的字符串對(duì)象分別為String strSys和String strUser,先通過(guò)split(“(?![-\\w])”),將系統(tǒng)英語(yǔ)與用戶閱讀英語(yǔ)拆分為兩個(gè)字符串?dāng)?shù)組,分別為String strArraySys和String strArrayUser;通過(guò)循環(huán)將數(shù)組分別轉(zhuǎn)化List集合,分別為L(zhǎng)ist
2.4 App的實(shí)現(xiàn)
英語(yǔ)口語(yǔ)學(xué)練測(cè)App的實(shí)現(xiàn),通過(guò)Android開(kāi)發(fā)工具包ADT和內(nèi)置的sQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn),版本兼容Android2.3及以上版本。具體實(shí)現(xiàn)效果如圖2—5所示,圖2為用戶選擇學(xué)習(xí)內(nèi)容的操作界面,圖3為用戶進(jìn)行單詞學(xué)習(xí)訓(xùn)練的效果,圖4為用戶進(jìn)行完成一個(gè)學(xué)習(xí)內(nèi)容后,對(duì)學(xué)習(xí)效果的統(tǒng)計(jì)反饋情況,圖5為查看用戶學(xué)習(xí)記錄的界面。
3.結(jié)語(yǔ)
本文設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的英語(yǔ)口練習(xí)工具App。App采用了訊飛語(yǔ)音識(shí)別開(kāi)放技術(shù)和mob社會(huì)化分享等第三方框架,并針對(duì)這些框架進(jìn)行大量二次開(kāi)發(fā)和代碼封裝,極大地提升了App用戶的體驗(yàn)效果。App所提供的練習(xí)內(nèi)容與人教版教材一致,可以輔助學(xué)生實(shí)現(xiàn)課上學(xué)習(xí)、課后復(fù)習(xí)的高效學(xué)習(xí)。通過(guò)試用和體驗(yàn),大部分用戶認(rèn)為該App功能設(shè)計(jì)合理,用戶體驗(yàn)較好,能夠?yàn)閷W(xué)生的英語(yǔ)口語(yǔ)練習(xí)提供較好的幫助。