沈 成,張 凱,呂偉鵬,萬(wàn)小霞
(鹽城師范學(xué)院,江蘇 鹽城 224002)
基于Android平臺(tái)的課程學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*
沈 成,張 凱,呂偉鵬,萬(wàn)小霞**
(鹽城師范學(xué)院,江蘇 鹽城 224002)
移動(dòng)終端數(shù)量飛速增加,已經(jīng)成為人們?nèi)粘9ぷ髦斜夭豢缮俚慕M成部分;設(shè)計(jì)基于Android平臺(tái)的課程學(xué)習(xí)系統(tǒng),通過(guò)在手機(jī)上安裝客戶端程序,使得手機(jī)具有了課程學(xué)習(xí)的功能;界面外觀采用Android中的Activity搭配xml實(shí)現(xiàn),通過(guò)XML格式獲取數(shù)據(jù),方便客戶的學(xué)習(xí);最后以英語(yǔ)課程學(xué)習(xí)為例,顯示課程學(xué)習(xí)系統(tǒng)的效果。
Android;英語(yǔ)課程;學(xué)習(xí)系統(tǒng)
Android作為Google企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時(shí)隨地為每個(gè)人提供信息”這一企業(yè)目標(biāo)的實(shí)現(xiàn)。全球?yàn)閿?shù)眾多的移動(dòng)電話用戶正在使用各種基于Android的電話。2012年第1季度,Google發(fā)布針對(duì)中國(guó)城市智能手機(jī)用戶的調(diào)研報(bào)告,城市的智能手機(jī)普及率已達(dá)總?cè)丝诘?3%[1],而在大學(xué)生當(dāng)中,調(diào)查報(bào)告顯示大學(xué)生擁有智能手機(jī)的比例高達(dá)84.9%[2],手機(jī)已經(jīng)成為每個(gè)學(xué)生的必需工具。為了給學(xué)習(xí)提供不間斷的學(xué)習(xí)機(jī)會(huì),在智能手機(jī)上安裝課程學(xué)習(xí)軟件對(duì)某些學(xué)生來(lái)說(shuō)無(wú)疑會(huì)帶來(lái)很大的便利。英語(yǔ)學(xué)習(xí)是眾多學(xué)生要面臨的問(wèn)題,甚至有學(xué)生對(duì)英語(yǔ)學(xué)習(xí)產(chǎn)生倦怠的情緒[3],激發(fā)大學(xué)生學(xué)習(xí)英語(yǔ)的興趣有諸多方法[4],其中英語(yǔ)學(xué)習(xí)環(huán)境也很重要[5]。在此利用Android手機(jī)的移動(dòng)性及課程學(xué)習(xí)的隨機(jī)性,設(shè)計(jì)實(shí)現(xiàn)了基于Android平臺(tái)的英語(yǔ)課程學(xué)習(xí)系統(tǒng)。
1.1 需求分析
本系統(tǒng)從用戶使用的角度對(duì)系統(tǒng)功能進(jìn)行分析,用戶至少需要的功能有學(xué)習(xí)新的單詞,進(jìn)行單詞記憶;詞典功能,如果用戶碰到不認(rèn)識(shí)的或不確定的單詞時(shí),可以進(jìn)入詞典功能查閱詞典,系統(tǒng)應(yīng)該根據(jù)輸入的中文或英文單詞,給出相應(yīng)的解釋,如果查不到單詞,則提示用戶單詞不存在;閱讀小短文,用戶在隨身攜帶手機(jī)時(shí),可以利用空余時(shí)間,進(jìn)入閱讀短文模塊,選擇感興趣的話題,閱讀英文小短文,增加英語(yǔ)的閱讀量,同時(shí)也能擴(kuò)展自己的詞匯量;名言警句,閱讀名人的名言或是一些警示語(yǔ)句,時(shí)刻提醒用戶在做人、做事以及生活等方面的一些知識(shí),提醒用戶在為人處事等日常生活中的行為。
1.2 功能模塊設(shè)計(jì)
圖1 系統(tǒng)功能架構(gòu)圖
從用戶使用角度進(jìn)行分析,系統(tǒng)功能主要分為6大模塊:單詞記憶模塊、超級(jí)詞典模塊、閱讀理解模塊、每日一句模塊、幫助文檔模塊和退出系統(tǒng)模塊,整個(gè)系統(tǒng)功能模塊的架構(gòu)圖如圖1所示。
(1)單詞記憶模塊。該模塊的主要功能為單詞記憶,功能包括快速記憶和強(qiáng)化記憶,快速記憶只給出英語(yǔ)單詞,而不給出單詞意思,若用戶不知道該詞義,則可點(diǎn)擊顯示按鈕,此時(shí)給出漢語(yǔ)解釋,也可點(diǎn)擊打亂排列順序按鈕重新排序后繼續(xù)記憶;強(qiáng)化記憶:只給出單詞的漢語(yǔ)解釋,但不顯示單詞,讓用戶填寫(xiě)英文單詞,如果忘記,可點(diǎn)擊顯示英文按鈕,此時(shí)給出英文單詞,也可點(diǎn)擊打亂排列順序按鈕重新排序后繼續(xù)記憶。
(2)超級(jí)詞典模塊。該模塊提供英語(yǔ)詞典功能,內(nèi)置離線數(shù)據(jù)庫(kù),包括日常交際中的大部分單詞的解釋、音標(biāo)、例句等信息。當(dāng)用戶聯(lián)網(wǎng)時(shí),可遠(yuǎn)程連接到服務(wù)器查詢單詞,服務(wù)器通過(guò)爬蟲(chóng)采集網(wǎng)絡(luò)上幾大詞典的信息,整合后通過(guò)xml形式傳回客戶端進(jìn)行解析,單詞信息更加全面豐富,提供大量例句,權(quán)威解釋,網(wǎng)絡(luò)釋義等功能。
(3)閱讀理解模塊。每篇文章都包括核心單詞列表,以幫助用戶記憶并掌握這些單詞的用法,鑒于移動(dòng)客戶端屏幕尺寸的不確定性,每篇文章都提供放大縮小功能,以幫助用戶自助調(diào)整字體尺寸,滿足視覺(jué)舒適度。
(4)每日一句模塊。該模塊每天提供一句經(jīng)典英文供大家欣賞,在學(xué)習(xí)英文的同時(shí),思考生活哲理,激勵(lì)學(xué)習(xí)動(dòng)力,一舉兩得。
(5)系統(tǒng)幫助模塊。該模塊向用戶提供系統(tǒng)使用的說(shuō)明文檔和幫助手冊(cè)。
(6)退出系統(tǒng)模塊。該模塊起到關(guān)閉系統(tǒng),釋放系統(tǒng)資源的作用。
1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
在對(duì)系統(tǒng)的功能進(jìn)行分析后,進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)原則,遵循第三范式原則,能在擴(kuò)展性和數(shù)據(jù)規(guī)范性方面達(dá)到平衡,一個(gè)表描述一個(gè)單一的實(shí)體,表內(nèi)每一條記錄都有唯一的標(biāo)識(shí)。本系統(tǒng)數(shù)據(jù)庫(kù)采用內(nèi)置的SQLite數(shù)據(jù)庫(kù),程序View層采用Activity和XML配置,數(shù)據(jù)庫(kù)訪問(wèn)使用Android內(nèi)置的SQLiteDatabase訪問(wèn)類庫(kù),使用SharePrefence類庫(kù)存取XML配置文件。系統(tǒng)中主要包括任務(wù)表、單詞表、例句表,任務(wù)表主要包括id、任務(wù)名稱name和任務(wù)是否完成isfinish三個(gè)字段,id字段是由數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)編號(hào)的整型值,是單詞記憶任務(wù)的編號(hào),作為任務(wù)表的主鍵,名稱字段是字符串型,是單詞記憶任務(wù)的名稱,名稱格式以List+數(shù)字的形式標(biāo)識(shí),以確保任務(wù)名稱的唯一性,isfinish字段表示該任務(wù)是否完成。單詞表主要包括單詞編號(hào)word_id、任務(wù)名稱id、存儲(chǔ)單詞名稱word_name、存儲(chǔ)單詞的解釋信息word_def、單詞發(fā)音文件的地址word_audio、存儲(chǔ)例句的編號(hào)sen_id六個(gè)字段,word_id是單詞編號(hào),也是單詞表的主鍵,是由系統(tǒng)自動(dòng)編號(hào)的整型值,id字段參照任務(wù)表中的id字段,作為外鍵,word_name字段存儲(chǔ)單詞,以小字字母存儲(chǔ),word_def是字符串型,長(zhǎng)度1 024字節(jié),存儲(chǔ)單詞的中文解釋信息和詞性說(shuō)明,word_audio字段是字符串型,存儲(chǔ)單詞的發(fā)音信息,sen_id是參照例句表中的例句編號(hào)。例句表包括例句編號(hào)sen_id、單詞名稱word_id、例句英文信息orig和例句中文解釋信息trans四個(gè)字段,sen_id字段是整型字段,是由數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)編號(hào)的整型值,作為例句編號(hào),該字段為本表主鍵,word_id字段是整型字段,是外鍵,參照單詞表中的word_id選項(xiàng),orig字段是字符串型字段,長(zhǎng)度為1 024字節(jié),存放例句的英文信息,trans字段是字符串型字段,長(zhǎng)度為1 024字節(jié),存儲(chǔ)例句的中文解釋信息。
1.4 系統(tǒng)控制流程
用戶打開(kāi)程序界面,選擇不同的按鈕即可進(jìn)入相應(yīng)的學(xué)習(xí)模塊。以閱讀理解為例,用戶打開(kāi)閱讀理解的界面后,系統(tǒng)先呈現(xiàn)給用戶文章列表,用戶選擇后,跳轉(zhuǎn)到相應(yīng)的Activity,系統(tǒng)讀取已經(jīng)存儲(chǔ)好的文章信息,返回給Activity進(jìn)行展示,用戶點(diǎn)擊返回,返回到主界面,圖2所示為閱讀理解模塊的時(shí)序圖。
圖2 閱讀理解時(shí)序圖
根據(jù)前面對(duì)系統(tǒng)的功能分析及數(shù)據(jù)庫(kù)的設(shè)計(jì),進(jìn)行系統(tǒng)的開(kāi)發(fā)工作。系統(tǒng)開(kāi)發(fā)環(huán)境選取Eclipse集成開(kāi)發(fā)環(huán)境,采用 Java語(yǔ)言進(jìn)行編程,Android模擬器使用Android SDK。設(shè)計(jì)實(shí)現(xiàn)了單詞記憶模塊、超級(jí)詞典模塊、閱讀理解模塊、每日一句模塊、幫助文檔模塊和退出系統(tǒng)模塊的功能。下面給出系統(tǒng)部分功能模塊關(guān)鍵技術(shù)的實(shí)現(xiàn)。
2.1 系統(tǒng)主界面設(shè)計(jì)
Android程序的界面可以使用Java代碼設(shè)計(jì),也可以使用XML文件定義,采用XML文件定義用戶界面,是一種優(yōu)秀的設(shè)計(jì)方式,XML文檔專業(yè)負(fù)責(zé)用戶界面的設(shè)置,而Java程序?qū)iT(mén)負(fù)責(zé)業(yè)務(wù)實(shí)現(xiàn),這樣能大大降低程序的耦合度。從主界面上可以直接單擊相應(yīng)的按鈕進(jìn)入各個(gè)功能模塊,主界面的XML部分代碼如下:
其中的標(biāo)記<RelativeLayout>定義整個(gè)界面的布局,此處采用相對(duì)布局方式,相對(duì)布局容器內(nèi)子組件的位置總是相對(duì)兄弟組件、父容器來(lái)決定,標(biāo)記<TextView>作用是在界面上顯示文本,此處顯示的文本是“英語(yǔ)學(xué)習(xí)系統(tǒng)”,它是由<TextView>標(biāo)記內(nèi)的“android:text”的值來(lái)決定,標(biāo)記<Button>表示按鈕,供用戶單擊使用,此處以“單詞記憶”按鈕為例,顯示的文本由android:text的值決定,取決于“@string/menuitem1”所設(shè)定的值,按鈕可以響應(yīng)單擊事件,當(dāng)單擊此按鈕時(shí),運(yùn)行“android:onClick”值所指定的方法,即toWordRemember()方法。
2.2 閱讀理解模塊
當(dāng)用戶單擊“閱讀理解”按鈕,根據(jù)main.xml文件中配置的“android:onClick”獲得”toReading”,執(zhí)行MainActivity中的toReading()方法,在toReading()方法中,創(chuàng)建一個(gè)Intent實(shí)例intent。Intent是Android應(yīng)用內(nèi)不同組件之間通信的載體,當(dāng)運(yùn)行時(shí)需要連接不同的組件時(shí),通常使用于Intent實(shí)現(xiàn),Intent可以啟動(dòng)應(yīng)用中另一個(gè)Activity,也可以啟動(dòng)一個(gè)服務(wù),甚至能發(fā)送廣播消息。此處當(dāng)用戶單擊“閱讀理解”按鈕,程序界面應(yīng)用跳轉(zhuǎn)到有“閱讀理解”的界面,因此創(chuàng)建Intent實(shí)例后,調(diào)用其setClass()方法,設(shè)計(jì)所跳轉(zhuǎn)的Activity類,如 intent.setClass(this,ReadingActivity3.class),然后調(diào)用當(dāng)前上下文的 startActivity()方法,即 this. startActivity(intent),來(lái)啟動(dòng)ReadingActivity3,進(jìn)入閱讀理解界面。在ReadingActivity3啟動(dòng)后,自動(dòng)運(yùn)行其中的onCreate()方法,啟動(dòng)此Activity。在此界面下列出精選的閱讀理解的文章供用戶點(diǎn)擊閱讀。
2.3 超級(jí)詞典模塊
超級(jí)詞典模塊實(shí)現(xiàn)單詞查詢功能,在用戶單擊“超級(jí)模塊”按鈕后,根據(jù)main.xml文件中配置的onClick值“toWordSearch”,調(diào)用MainActivity中的toWordSearch()方法,在toWordSearch;()方法中,創(chuàng)建的Intent實(shí)例指向Dict這個(gè)Activity,調(diào)用當(dāng)前上下文的startActivity()方法,啟動(dòng)Dict,進(jìn)入超級(jí)詞典界面。在超級(jí)詞典界面,提供一個(gè)編輯框,EditText,用戶可以在文本框中輸入文本,用于查詢單詞的輸入,提供一個(gè)按鈕Button,當(dāng)單擊此按鈕時(shí),系統(tǒng)啟動(dòng)查詢功能,在詞典中查詢匹配的單詞,并將相應(yīng)的解釋在界面上顯示出來(lái)。
2.4 單詞記憶模塊
單詞記憶模塊提供用戶進(jìn)行單詞瀏覽記憶的功能。當(dāng)用戶單擊“單詞記憶”按鈕,根據(jù)main.xml文件中配置的“android:onClick”的值“toWordRemember”,執(zhí)行 MainActivity中的 toWordRemember()方法,在toWordRemember()方法中,創(chuàng)建的Intent實(shí)例指向RecallList,通過(guò)startActivity()方法,啟動(dòng)RecallList,進(jìn)入單詞記憶模塊。在RecallList的onCreate()方法中,設(shè)置界面的標(biāo)題,同時(shí)利用WordDictDAO連接數(shù)據(jù)庫(kù),在WordDictDAO中,使用SQLLiteDatabase的openOrCreateDatabase()打開(kāi)數(shù)據(jù)庫(kù),將所取到的單詞及其解釋等信息以列表的形式顯示,供用戶閱讀記憶。
[1]Google發(fā)布針對(duì)中國(guó)城市智能手機(jī)用戶的調(diào)研報(bào)告[R/OL].(2012-06-06).http://www.36kr.com/p/116022.html
[2]智能手機(jī)在大學(xué)生中的使用情況及前景的調(diào)查報(bào)告[R/OL].http://www.docin.com/p-566382863.html
[3]錢(qián)翠蘭,胡榮華.高等院校大學(xué)生英語(yǔ)學(xué)習(xí)倦怠問(wèn)題探討[J].安徽商貿(mào)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,11(4):78-80
[4]宗小捷.激發(fā)大學(xué)生英語(yǔ)學(xué)習(xí)興趣的策略[J].佳木斯教育學(xué)院學(xué)報(bào),2010(5):368-369
[5]陳潔,羅桂保.大學(xué)英語(yǔ)學(xué)習(xí)環(huán)境與自主學(xué)習(xí)[J].長(zhǎng)春教育學(xué)院學(xué)報(bào),2009,25(3):70-71
[6]楊豐盛.Android應(yīng)用開(kāi)發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社,2010
[7]王向輝.Android應(yīng)用程序開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2010
[8]李緒成.Java EE實(shí)用教程-基于WebLogic和Eclipse[M].北京:電子工業(yè)出版社,2011
[9]??藸?Java編程思想[M].4版.北京:電子工業(yè)出版社,2007
[10]白文江.基于Android平臺(tái)的移動(dòng)應(yīng)用開(kāi)發(fā)研究[J].太原大學(xué)學(xué)報(bào),2011,12(3):117-120
[11]吳想想.基于Android平臺(tái)軟件開(kāi)發(fā)方法的研究與應(yīng)用[D].北京:北京郵電大學(xué),2011
[12]趙丞兵.基于Android平臺(tái)的移動(dòng)學(xué)習(xí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012
[13]本特利(BENTLEY J).編程珠璣[M].第2版.北京:人民郵電出版社,2010
[14]程杰.大話設(shè)計(jì)模式[M].北京:清華大學(xué)出版社,2007
Design and Implementation of Course Learning System Based on Android Platform
SHEN Cheng,ZHANG Kai,LU Wei-peng,WAN Xiao-xia
(Yancheng Teachers University,Jiangsu Yancheng 224002,China)
With the rapid increase of mobile terminals which become indispensable part of daily life of the people,it is necessary to design Android platform based course learning system to make mobile phones have course learning function by installing customer-end programs in a mobile phone.The outside interface is implemented by using Activity matched with xml in Android and the data are obtained by XML format in order to make the study of the customers convenient,finally by taking English course learning as an example,the effect of course learning is revealed.
Android;English course;learning system
TP391
A
1672-058X(2014)01-0056-04
責(zé)任編輯:代小紅
2013-06-06;
2013-07-09.
2013年度鹽城市工業(yè)科技支撐指導(dǎo)性計(jì)劃項(xiàng)目(29);鹽城師范學(xué)院自然科學(xué)基金項(xiàng)目(11YCKL030).
沈成(1989-),男,江蘇鹽城人,從事計(jì)算機(jī)網(wǎng)絡(luò)、Web系統(tǒng)開(kāi)發(fā)技術(shù)研究.
**通訊作者:萬(wàn)小霞(1978-),女,江蘇贛榆人,講師,碩士,主要從事領(lǐng)域?yàn)闊o(wú)線傳感器網(wǎng)絡(luò)研究.