全江濤+汪敏
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,移動(dòng)學(xué)習(xí)逐漸成為一種新的學(xué)習(xí)模式,智能手機(jī)則是這種模式的重要載體之一。那基于智能手機(jī)Android系統(tǒng)的移動(dòng)學(xué)習(xí)軟件有哪些關(guān)鍵性技術(shù)呢?筆者將從以下幾個(gè)方面進(jìn)行具體闡述。
● Android開(kāi)發(fā)概述
1.Android系統(tǒng)框架
Android采用了軟件分層和模塊化架構(gòu),這個(gè)結(jié)構(gòu)非常精巧而富有彈性。作為一個(gè)專(zhuān)門(mén)為移動(dòng)設(shè)備打造的真正開(kāi)放和完整的移動(dòng)軟件操作系統(tǒng),它由Linux內(nèi)核、資源庫(kù)、應(yīng)用執(zhí)行環(huán)境、框架和應(yīng)用軟件等部分組成(如圖1)。
(1)Linux Kernel(Linux內(nèi)核)
作為一種操作系統(tǒng)內(nèi)核,同時(shí)也作為硬件和軟件之間的抽象層,Linux Kernel可以為應(yīng)用程序隱藏具體硬件細(xì)節(jié)。這種層次化結(jié)構(gòu)的好處是使用下層提供的服務(wù)能為上層提供統(tǒng)一服務(wù),即當(dāng)本層及其以下層發(fā)生了變化后,不會(huì)影響到上層。這樣能保證在層次內(nèi)有高內(nèi)聚性,在層次間有低耦合性。
(2)Android Runtime(Android運(yùn)行環(huán)境)
Android的應(yīng)用程序和中間層都以Java實(shí)現(xiàn),因此,和Java系統(tǒng)類(lèi)似,Android運(yùn)行環(huán)境也為Java應(yīng)用程序的執(zhí)行提供了Java運(yùn)行環(huán)境,通常就是Java虛擬機(jī)。
(3)Library(資源庫(kù))
Android包含一個(gè)系統(tǒng)庫(kù)的集合,基于執(zhí)行效能的考慮,它們通常由C/C++語(yǔ)言編寫(xiě),供Android系統(tǒng)的各個(gè)組件使用。
(4)Application(應(yīng)用程序)
作為一個(gè)“開(kāi)箱即用”的操作系統(tǒng),它建造了許多流行的應(yīng)用程序,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人、系統(tǒng)設(shè)置等。這些應(yīng)用程序都是使用Java編程語(yǔ)言寫(xiě)的,唯一的區(qū)別就是它們是谷歌自己開(kāi)發(fā)的。更加豐富的應(yīng)用程序和功能還有待開(kāi)發(fā)者進(jìn)一步實(shí)現(xiàn)。
2.Android應(yīng)用程序四大組件
Android系統(tǒng)的四大組件包括Activity、Service、Content Provider和Broadcast Receiver,它們是整個(gè)Android程序開(kāi)發(fā)中最核心的部分。無(wú)論何時(shí),Android系統(tǒng)中的一個(gè)請(qǐng)求都應(yīng)由一個(gè)特定的組件來(lái)處理,系統(tǒng)會(huì)確保這個(gè)組件的應(yīng)用程序正常運(yùn)行。
(1)Activity
Activity是四大組件之首,是Android應(yīng)用的視圖層。一個(gè)Activity是一個(gè)可見(jiàn)的、可以與用戶進(jìn)行交互的界面。一般地,應(yīng)用中的一個(gè)Activity應(yīng)被標(biāo)記為應(yīng)用啟動(dòng)時(shí)第一個(gè)呈獻(xiàn)給用戶的額,就是所謂的“main”Activity。從某個(gè)Activity到另一個(gè)Activity是通過(guò)當(dāng)前的Activity啟動(dòng)另一個(gè)Activity來(lái)實(shí)現(xiàn)的。
(2)Service
Service,用戶是不可見(jiàn)的,它在系統(tǒng)的后臺(tái)運(yùn)行,每個(gè)Service都繼承自Service類(lèi)。例如,一個(gè)服務(wù)可以在后臺(tái)播放音樂(lè),也可以連接或者綁定到一個(gè)正在運(yùn)行的Service,對(duì)于音樂(lè)service來(lái)說(shuō),其接口允許用戶暫停、后退、停止和重新播放音樂(lè)。
(3)Broadcast Receiver
一個(gè)應(yīng)用可以有任意多個(gè)Broadcast Receiver來(lái)對(duì)它所關(guān)心的廣播進(jìn)行監(jiān)聽(tīng)并做出反應(yīng)。Broadcast Receiver不顯示在用戶界面上,但它可以啟動(dòng)一個(gè)Activity來(lái)作為接收到信息的一種反應(yīng)。Notification可以通過(guò)不同的方式獲得用戶的注意,如點(diǎn)亮閃光燈、震動(dòng)、播放一個(gè)聲音等。
(4)Content provider
Content provider是一個(gè)應(yīng)用程序數(shù)據(jù)的組合,以方便其他應(yīng)用訪問(wèn)其中的應(yīng)用程序數(shù)據(jù)。一個(gè)Content Resolver可以和任何Content provider交流,雖然其中存在進(jìn)程間通信的問(wèn)題,但我們不用擔(dān)心這些底層的細(xì)節(jié),因?yàn)樗鼈兡芎芎玫靥幚頂?shù)據(jù)。
● 搭建和配置Android系統(tǒng)應(yīng)用開(kāi)發(fā)環(huán)境
1.下載并安裝Java SDK
首先需要安裝Java運(yùn)行環(huán)境,也就是Java SDK。我們可以在Oracle的Java SE的下載頁(yè)面上找到一個(gè)可執(zhí)行的安裝文件。為了避免麻煩,安裝時(shí)可以完全采用默認(rèn)的配置,系統(tǒng)會(huì)自動(dòng)進(jìn)行相關(guān)的配置。安裝完成后需要校驗(yàn)一下Java環(huán)境是否配置正確,這時(shí)可以在Windows下運(yùn)行Java version命令。如果一切正常,系統(tǒng)會(huì)顯示當(dāng)前安裝java的版本號(hào)。
2.下載并安裝Android SDK
有了JDK之后,就可以安裝Android SDK了。在Android開(kāi)發(fā)的官方網(wǎng)頁(yè)(http://developer.android.com)可以下載到最新的SDK。下載完成后,我們可以將壓縮包解壓到前面規(guī)劃好的c:\develop這個(gè)文件夾中,這樣,解壓后的android-sdk-windows文件夾將成為Android SDK的根目錄(Home)。
3.下載并安裝Eclipse
Eclipse是Java中最流行的開(kāi)發(fā)工具,常被廣泛應(yīng)用于Java項(xiàng)目開(kāi)發(fā)?,F(xiàn)在,由于其對(duì)Android開(kāi)發(fā)環(huán)境良好的支持和跨平臺(tái)的特性,Eclipse已經(jīng)成為Android開(kāi)發(fā)環(huán)境的事實(shí)標(biāo)準(zhǔn)。
下載Eclipse后,我們會(huì)得到一個(gè)壓縮文件,將其解壓到Android開(kāi)發(fā)目錄中,生成一個(gè)Eclipse文件夾,然后打開(kāi)此文件夾,運(yùn)行其中的Eclipse.exe可執(zhí)行文件。
4.配置和運(yùn)行Eclipse
Eclipse是一個(gè)可以高度定制化的開(kāi)發(fā)平臺(tái),每個(gè)開(kāi)發(fā)者都可以按照自己的需求打造適合自己使用的Eclipse軟件。所以我們建議在安裝Eclipse后進(jìn)行一些系統(tǒng)設(shè)置的工作。當(dāng)然,用戶也可以按照自己的需求來(lái)對(duì)Eclipse進(jìn)行配置,如編輯器、快捷鍵等,這是一種個(gè)性化的配置,完全取決于開(kāi)發(fā)者的喜好,這里不再贅述。
5.配置虛擬設(shè)備
運(yùn)行Eclipse,點(diǎn)擊Window-Android SDK and AVD Manager菜單項(xiàng)目,在出現(xiàn)Android SDK and AVD Manager對(duì)話框左側(cè),選擇Virtual Devices,對(duì)話框會(huì)列出當(dāng)前已配置好的虛擬設(shè)備。點(diǎn)擊“new”可以增加一個(gè)虛擬設(shè)備。
6.應(yīng)用測(cè)試
最后,我們可以創(chuàng)建一個(gè)Android應(yīng)用程序來(lái)驗(yàn)證開(kāi)發(fā)環(huán)境是否配置完成。這個(gè)測(cè)試的主要目的是看看整個(gè)Android運(yùn)行環(huán)境是否工作正常,所以這一過(guò)程不需要編寫(xiě)或理解任何一行代碼,按照流程操作就可以了。雖然模擬器啟動(dòng)的時(shí)間比較長(zhǎng),但在實(shí)際開(kāi)發(fā)調(diào)試過(guò)程中我們不需要頻繁地重新啟動(dòng)虛擬機(jī),程序重新編譯部署和運(yùn)行也都可以在已經(jīng)打開(kāi)的模擬器上執(zhí)行(如圖2、圖3)。
● 客戶端設(shè)計(jì)
1.功能模塊設(shè)計(jì)
根據(jù)用戶需求,Android系統(tǒng)客戶端可分為五個(gè)功能模塊,分別是課程學(xué)習(xí)、學(xué)習(xí)計(jì)劃、課程測(cè)試、休閑一刻和問(wèn)題解析。
(1)課程學(xué)習(xí)模塊設(shè)計(jì)
學(xué)習(xí)者可以根據(jù)自己的需要,在這個(gè)模塊中選擇適合自己的學(xué)習(xí)內(nèi)容,同時(shí)既可以下載相關(guān)資料,也可以對(duì)課程的學(xué)習(xí)進(jìn)度有所記錄和提醒。
(2)學(xué)習(xí)計(jì)劃模塊設(shè)計(jì)
這一模塊可以實(shí)現(xiàn)學(xué)習(xí)者的個(gè)性化學(xué)習(xí),它依據(jù)學(xué)習(xí)者的特點(diǎn)進(jìn)行設(shè)定,按照個(gè)人學(xué)習(xí)風(fēng)格和速度自定步調(diào),并能針對(duì)不同內(nèi)容使學(xué)習(xí)者有不同的學(xué)習(xí)方式。
(3)課程測(cè)試模塊設(shè)計(jì)
課程測(cè)試也是Android客戶端上的重要模塊,它不僅能對(duì)學(xué)習(xí)者的學(xué)習(xí)效果有一個(gè)直觀的了解,還能監(jiān)測(cè)學(xué)習(xí)者的薄弱環(huán)節(jié),讓其強(qiáng)化學(xué)習(xí)。
(4)休閑一刻模塊設(shè)計(jì)
此模塊通過(guò)引入游戲來(lái)激發(fā)學(xué)習(xí)者的學(xué)習(xí)興趣,同時(shí),它也能暫時(shí)緩解學(xué)習(xí)者的學(xué)習(xí)壓力,使其更有效地進(jìn)入下一階段的學(xué)習(xí)。
(5)問(wèn)題解析模塊設(shè)計(jì)
在這一模塊中,學(xué)習(xí)者如果在學(xué)習(xí)的過(guò)程中遇到問(wèn)題,可以隨時(shí)隨地進(jìn)行咨詢,或通過(guò)移動(dòng)網(wǎng)絡(luò)進(jìn)行搜索,以便及時(shí)解決問(wèn)題。
在實(shí)現(xiàn)以上模塊時(shí),有些時(shí)候Android應(yīng)用有一些初始化的配置信息、應(yīng)用相關(guān)的數(shù)據(jù)資源需要保存,一般使用XML文件來(lái)保存它們,這些資源被稱(chēng)為原始XML資源。為了在Java程序中獲取實(shí)際的XML文檔,我們可以通過(guò)Resources的兩個(gè)方法來(lái)獲?。孩賆mlResourceParser getXml(int id)。獲取XML文檔,并使用一個(gè)XmlPullParser來(lái)解析該XML文檔。②InputStream openRawResource(int id)。獲取XML文檔對(duì)應(yīng)的輸入流。
2.操作流程設(shè)計(jì)
我們以大學(xué)英語(yǔ)學(xué)習(xí)為例,具體了解一下Android系統(tǒng)客戶端詞匯學(xué)習(xí)的操作流程設(shè)計(jì)(如上頁(yè)圖4)。
(1)客戶端學(xué)習(xí)主頁(yè)界面
首先學(xué)習(xí)者要打開(kāi)學(xué)習(xí)軟件,進(jìn)入詞匯學(xué)習(xí)主頁(yè),對(duì)所要學(xué)習(xí)的模塊進(jìn)行選擇,學(xué)習(xí)者可以根據(jù)自己的學(xué)習(xí)特點(diǎn)和個(gè)人需求進(jìn)行自由選擇。
(2)客戶端登錄界面
學(xué)習(xí)者在開(kāi)始學(xué)習(xí)之前,要注冊(cè)自己的信息,只有注冊(cè)成功之后才可以進(jìn)入詞匯學(xué)習(xí)模塊。
(3)學(xué)習(xí)模塊界面
在學(xué)習(xí)模塊界面,學(xué)習(xí)者可以選擇自己想學(xué)習(xí)的內(nèi)容進(jìn)行學(xué)習(xí),這樣就進(jìn)入到詞匯課程選擇步驟,學(xué)習(xí)者可以根據(jù)個(gè)人愛(ài)好選擇學(xué)習(xí)模塊和不同的交互方式。
(4)詞匯課程選擇界面
在詞匯課程選擇界面,學(xué)習(xí)者可以選擇語(yǔ)言種類(lèi),以便更好地進(jìn)行詞匯學(xué)習(xí)。
(5)學(xué)習(xí)計(jì)劃界面
學(xué)習(xí)計(jì)劃模塊不僅可以幫助學(xué)生實(shí)現(xiàn)自定步調(diào)按照計(jì)劃進(jìn)行學(xué)習(xí),還可以實(shí)現(xiàn)時(shí)間提醒設(shè)置,由于詞匯學(xué)習(xí)是一種偏于記憶類(lèi)的學(xué)習(xí),且人的記憶會(huì)遵循一定的規(guī)律,只有按照合理的記憶規(guī)律進(jìn)行學(xué)習(xí),才會(huì)起到事半功倍的效果。因此,這一模塊能及時(shí)提醒學(xué)習(xí)者在合理的時(shí)間內(nèi)進(jìn)行有效復(fù)習(xí)。
(6)學(xué)習(xí)狀態(tài)界面
此模塊可以幫助學(xué)習(xí)者記錄哪些內(nèi)容已經(jīng)學(xué)過(guò),學(xué)了多少,這樣有助于學(xué)習(xí)者更清楚地了解自己的學(xué)習(xí)進(jìn)度,節(jié)省學(xué)習(xí)時(shí)間,提高學(xué)習(xí)效率。
(7)內(nèi)容測(cè)試界面
此模塊針對(duì)學(xué)習(xí)者的學(xué)習(xí)效果進(jìn)行測(cè)試,這樣便于學(xué)習(xí)者更及時(shí)地了解學(xué)習(xí)效果,把握學(xué)習(xí)狀況。
(8)測(cè)試結(jié)果界面
測(cè)試結(jié)果界面既可以實(shí)現(xiàn)對(duì)學(xué)習(xí)者進(jìn)行客觀評(píng)價(jià)的功能,還可以對(duì)其尚未掌握的內(nèi)容有一個(gè)更詳細(xì)的反饋。
(9)問(wèn)題解析界面
在這個(gè)界面中,學(xué)習(xí)者如果在學(xué)習(xí)的過(guò)程中遇到難以解決的問(wèn)題,可以進(jìn)行咨詢,也可以在線查閱資料,以便在第一時(shí)間解決問(wèn)題。
(10)論壇界面
此界面通過(guò)Android客戶端直接調(diào)用外部瀏覽器顯示,學(xué)習(xí)者之間可以進(jìn)行交流和討論,分享學(xué)習(xí)經(jīng)驗(yàn),交流學(xué)習(xí)體會(huì)。
(11)休閑一刻界面
此界面中的導(dǎo)入游戲軟件,能讓學(xué)習(xí)者在學(xué)習(xí)之余有更多的選擇余地,更好地調(diào)節(jié)學(xué)習(xí)氛圍,以便學(xué)習(xí)者更輕松地進(jìn)行學(xué)習(xí)。
● 智能手機(jī)移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)原則
為了更好地發(fā)揮智能手機(jī)移動(dòng)學(xué)習(xí)的優(yōu)勢(shì),筆者通過(guò)對(duì)以上內(nèi)容的分析,總結(jié)出了智能手機(jī)移動(dòng)學(xué)習(xí)的幾個(gè)設(shè)計(jì)原則,具體如下。
1.適合原則
移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)要明確針對(duì)的服務(wù)群體是誰(shuí),他們有什么樣的學(xué)習(xí)特點(diǎn),又有什么樣的學(xué)習(xí)需求,需要為他們提供什么樣的學(xué)習(xí)內(nèi)容,這些都是在設(shè)計(jì)移動(dòng)學(xué)習(xí)軟件之前所要解決的問(wèn)題。只有對(duì)這些方面進(jìn)行徹底的了解后,才能針對(duì)不同學(xué)習(xí)者的需求設(shè)計(jì)出適合學(xué)習(xí)者學(xué)習(xí)的軟件。對(duì)于使用智能手機(jī)進(jìn)行移動(dòng)學(xué)習(xí)的學(xué)習(xí)者來(lái)說(shuō),學(xué)習(xí)時(shí)間的不確定性、學(xué)習(xí)地點(diǎn)的移動(dòng)性,都會(huì)使他們的學(xué)習(xí)過(guò)程受到外界環(huán)境的干擾。因此,在智能手機(jī)移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)開(kāi)發(fā)過(guò)程中,一定要兼顧學(xué)習(xí)者的學(xué)習(xí)特點(diǎn),堅(jiān)持適合的原則進(jìn)行有針對(duì)性的設(shè)計(jì)。
2.開(kāi)放性原則
智能手機(jī)移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)要采用開(kāi)放性的思維方式,對(duì)教學(xué)媒體的使用、學(xué)習(xí)內(nèi)容的組織、學(xué)習(xí)模塊的設(shè)計(jì)等都要注重開(kāi)放性,使學(xué)生突破定向思維的限制,不再局限于書(shū)本上的知識(shí)。在當(dāng)今知識(shí)大爆炸的時(shí)代,知識(shí)的來(lái)源非常廣泛,僅僅掌握書(shū)本上的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有通過(guò)不同的學(xué)習(xí)方式、不同的學(xué)習(xí)渠道以及更豐富的知識(shí)來(lái)源來(lái)拓寬學(xué)習(xí)內(nèi)容,本著開(kāi)放性的原則進(jìn)行學(xué)習(xí)才會(huì)取得事半功倍的學(xué)習(xí)效果。另外,學(xué)習(xí)者可以通過(guò)采用交互學(xué)習(xí)、發(fā)現(xiàn)學(xué)習(xí)等多種學(xué)習(xí)方式,擴(kuò)寬思路,實(shí)現(xiàn)開(kāi)放性思維的互相碰撞,由此激發(fā)學(xué)習(xí)興趣和學(xué)習(xí)積極性,不斷提高創(chuàng)新能力和創(chuàng)新意識(shí)。
3.模塊單元短小精悍原則
在移動(dòng)學(xué)習(xí)的過(guò)程中,學(xué)習(xí)者處于一個(gè)相對(duì)不是那么安靜的環(huán)境中,學(xué)習(xí)過(guò)程很容易被周?chē)泥须s因素所打斷;同時(shí),周?chē)h(huán)境的光線、溫度也會(huì)給學(xué)習(xí)者的學(xué)習(xí)心理造成不同程度的影響,使他們注意力集中的時(shí)間也相對(duì)較短。因此,在智能手機(jī)移動(dòng)學(xué)習(xí)軟件的開(kāi)發(fā)過(guò)程中,一定要遵循短小精悍的原則,盡量開(kāi)發(fā)一些較簡(jiǎn)短的學(xué)習(xí)模塊。具體表現(xiàn)在:學(xué)習(xí)單元的時(shí)間一般控制在15分鐘左右,這樣學(xué)習(xí)者在學(xué)習(xí)一個(gè)單元時(shí),所用的時(shí)間就比較短,并且注意力也比較集中。時(shí)間一長(zhǎng),學(xué)習(xí)者的注意力就會(huì)下降,進(jìn)而影響學(xué)習(xí)效果。同時(shí),每個(gè)學(xué)習(xí)單元之間的關(guān)聯(lián)性不要太強(qiáng),即這一單元的學(xué)習(xí)不會(huì)影響下一單元的學(xué)習(xí)效果。
4.教學(xué)目標(biāo)量化原則
在學(xué)習(xí)者開(kāi)始學(xué)習(xí)或正在發(fā)生學(xué)習(xí)的過(guò)程中,教師的控制因素較少,學(xué)習(xí)者完全依靠自覺(jué)來(lái)進(jìn)行學(xué)習(xí)。因此,每個(gè)學(xué)習(xí)單元的教學(xué)目標(biāo)一定要明確、合理,遵循“量化”原則。具體表現(xiàn)在:多使用一些具有針對(duì)性的小練習(xí)和小測(cè)試將目標(biāo)量化,突出重點(diǎn)和難點(diǎn),讓學(xué)習(xí)者明確每個(gè)小單元所要掌握的內(nèi)容是什么,應(yīng)掌握到何種程度,其中需要重點(diǎn)掌握的又有哪些,并通過(guò)及時(shí)的測(cè)試,讓學(xué)習(xí)者更清楚地認(rèn)識(shí)到對(duì)各個(gè)知識(shí)點(diǎn)掌握的程度,以便進(jìn)行更合理、有效的學(xué)習(xí)。
5.人性化設(shè)計(jì)原則
智能手機(jī)移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)要遵循學(xué)習(xí)者自身的特點(diǎn),并依據(jù)他們的學(xué)習(xí)規(guī)律進(jìn)行人性化的設(shè)計(jì)。具體表現(xiàn)在:遵循記憶規(guī)律,自行設(shè)定提醒時(shí)間,這樣能達(dá)到事半功倍的學(xué)習(xí)效果。另外,在設(shè)計(jì)的過(guò)程中,我們可以結(jié)合智能手機(jī)的特點(diǎn),增加一些休閑娛樂(lè)的模塊,使學(xué)習(xí)者在學(xué)習(xí)之余能得到適當(dāng)?shù)男菹?,這種勞逸結(jié)合的學(xué)習(xí)方式更能體現(xiàn)出移動(dòng)學(xué)習(xí)的有效性和趣味性。
參考文獻(xiàn):
[1]Sam Ruby,Dave Thomas.Agile Web Development with Rail,Third Edition[M].America:Pragmatic Bookshelf,2009:1-2.
[2]Aleksander Dyeetal.Mobile Edueation-AGlance at The Frture[DB/OL].http://www.nettskolen.com/forskning/mobile_education.pdf.
[3]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2012,1.
[4]顏建華.Android開(kāi)發(fā)關(guān)鍵技術(shù)之旅[M].北京:中國(guó)鐵道出版社,2012,7.
[5]薛顯亮.解析Android SDK——智能手機(jī)開(kāi)發(fā)范例手冊(cè)[M].北京:中國(guó)鐵道出版社,2012,9.
[6]Keegan D.The future of learning:From eLearning to mLearning[DB/OL].http://learning.ericsson.net/Leonardo/book.Html.