李彬,趙連軍,劉帥
(山東理工大學(xué)計算機學(xué)院,淄博 255049)
Android平臺下移動學(xué)習(xí)系統(tǒng)的設(shè)計與實現(xiàn)
李彬,趙連軍,劉帥
(山東理工大學(xué)計算機學(xué)院,淄博255049)
Google在2007年發(fā)布Android手機操作系統(tǒng),因其開放源代碼,受到廣大智能手機廠商的歡迎,也在廣大開發(fā)者和用戶群體中得到廣泛使用[1]。Android系統(tǒng)功能十分強大,而且十分高效、穩(wěn)定。
智能手機已經(jīng)在廣大青少年學(xué)生中普及開來,幾乎每個人的手中都有一部手機,很多人每天都將大部分時間花在使用手機上,智能手機的廣泛使用也改變了學(xué)生的生活和學(xué)習(xí)方式[2]。隨著移動通信與教育的有效結(jié)合,其在當代教育領(lǐng)域中發(fā)揮的作用也將越來越大[3]。由于傳統(tǒng)的教育和學(xué)習(xí)方式已經(jīng)越來越不適應(yīng)社會的快速發(fā)展和人們對于科學(xué)文化知識的需求,越來越多的機構(gòu)和個人投入到移動學(xué)習(xí)的研究當中,移動學(xué)習(xí)已經(jīng)成為了一種新型的教育方式。根據(jù)某教育咨詢公司的市場調(diào)查和需求分析,本文推出一款A(yù)ndroid平臺下的移動學(xué)習(xí)軟件,希望能解決傳統(tǒng)學(xué)習(xí)模式受到各種學(xué)習(xí)資源限制的弊端,提高學(xué)生學(xué)習(xí)的積極性。
該移動學(xué)習(xí)系統(tǒng)使用當前最流行的Java編程語言實現(xiàn)系統(tǒng)的設(shè)計,編譯工具為JDK1.8。使用Android Studio 1.5.1開發(fā)工具進行手機客戶端的開發(fā),使用E-clipse進行服務(wù)器端的設(shè)計,數(shù)據(jù)庫使用MySQL。本系統(tǒng)的功能結(jié)構(gòu)如圖1所示:
圖1 系統(tǒng)結(jié)構(gòu)
手機客戶端學(xué)習(xí)系統(tǒng)通過發(fā)送HTTP網(wǎng)絡(luò)連接請求到后臺服務(wù)器端,后臺服務(wù)器程序訪問MySQL數(shù)據(jù)庫,獲取需要的數(shù)據(jù)返回給客戶端??蛻舳送ㄟ^服務(wù)器這個媒介和數(shù)據(jù)庫進行相互通信。
客戶端學(xué)習(xí)系統(tǒng)運行于裝有Android系統(tǒng)的智能手機上,使用xUtils框架設(shè)計,xUtils源于Afinal框架,由于對Afina進行了大量重構(gòu),xUtil集成了更多的實用工具,功能更加強大,xUtilsd的DbUtils模塊支持事務(wù),默認關(guān)閉,可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等;xUtils的ViewUtils模塊使用了Android中的IoC框架,完全注解方式就可以進行UI綁定和事件綁定;HttpUtils模塊支持同步、異步方式請求,支持GET、POST、PUT、MOVE、COPY、DELETE和HEAD請求;BitmapUtils模塊加載bitmap的時候無需考慮bitmap加載過程中出現(xiàn)oom和Android容器快速滑動時候出現(xiàn)的圖片錯位現(xiàn)象,可配置線程加載線程數(shù)量,緩存大小,緩存路徑。客戶端系統(tǒng)有3個基本模塊。包括視頻播放模塊、好友聊天模塊和個人中心模塊,這3個模塊雖然不同,但在功能上相輔相成,各個模塊下面有不同子功能的劃分。其功能模塊如圖2所示:
圖2 客戶端學(xué)習(xí)系統(tǒng)功能模塊
在Android客戶端程序中,每個用戶操作界面為一個Activity,在Activity中使用各種組件來構(gòu)建界面[4]。在該軟件的設(shè)計中,為了實現(xiàn)用戶與界面的友好交互,根據(jù)界面中所需控件的不同和界面的美觀,大部分界面設(shè)計使用了相對布局(RelativeLayout),其余界面的設(shè)計分別使用了線性布局(LinearLayout)、幀布局(FrameLayout)和表格布局(TableLayout)等不同的布局方式,有些復(fù)雜的界面在設(shè)計時采用了不同布局的嵌套。該移動學(xué)習(xí)軟件有3個不同的功能模塊,在代碼實現(xiàn)上,分別為頻播放模塊、好友聊天模塊和個人中心模塊設(shè)計了3個不同的Fragment模塊,即Fragment1_Video、Fragment2_Communication、Fragment3_Qz,當用戶點擊不同的按鈕圖標時,無需跳轉(zhuǎn),直接在主界面上加載該功能模塊。當用戶進入不同模塊的子功能時,程序使用Android中常用的Intent方式跳轉(zhuǎn)到目標Activity中。各功能模塊的具體實現(xiàn)如下:
(1)視頻播放模塊
視頻播放模塊將客戶端從數(shù)據(jù)庫中獲取到的視頻展示在該模塊中,該模塊下面有視頻點播、視頻分類、關(guān)鍵字搜索視頻、評論視頻等功能,所對應(yīng)的Activity分別為VideoPlayAty、VideoCardMore、SearchActivity和VideoComment等。
當用戶登錄系統(tǒng)點擊進入視頻播放模塊時,會出現(xiàn)一個視頻下拉列表ListView,在該軟件的設(shè)計中,使用ListView的item重用技術(shù),在ListView未被進行上拉下拉等操作時,緩存存儲連續(xù)有序的item,當前的layout已經(jīng)保存可見的View,當用戶根據(jù)需要,對視頻列表滑動時,這時ListView發(fā)生變化,直接從緩存的View中獲取item提供給Adapter的getView()函數(shù),獲取相應(yīng)視頻的圖片,使用ListView的item重用技術(shù)既節(jié)省了內(nèi)存空間,又提高了瀏覽速度,增強了用戶體驗度。當用戶點擊相關(guān)視頻時,觸發(fā)ListView的OnItem-ClickListener監(jiān)聽事件,該事件調(diào)用程序中自定義了一個F1_VideoPlayAty.class類對選中的視頻進行播放(play)操作,其中的play()實現(xiàn)代碼如下:
//如果視頻沒有正在播放
//判斷是否是ListView列表中的第一個視頻
用戶也可以在搜索框vSearchContent中輸入關(guān)鍵字去搜索感興趣的視頻進行學(xué)習(xí),實現(xiàn)代碼如下:
//如果搜索框中的字符串信息不為空
把企業(yè)之間發(fā)生的經(jīng)濟往來作為財務(wù)會計與管理會計融合的重要依據(jù),這就要求二者把與企業(yè)有關(guān)的信息搜集整理,并做好記錄,這是財務(wù)會計與管理會計要核算的內(nèi)容,也是本企業(yè)曾經(jīng)和未來的資金流動情況。從核算內(nèi)容的角度上看,二者存在交叉點,所使用的原始信息的來源相同。但在信息歸集的具體操作上稍有區(qū)別,同時在這個過程中也會持不同的觀點和看法。實踐證明,如果管理會計的信息來源建立在財務(wù)會計的數(shù)據(jù)基礎(chǔ)上,將會提升管理效率。因此,企業(yè)的決策層在作出具體決策時,必須把財務(wù)會計與管理會計的相關(guān)信息融合在一起,從整體和局部分析數(shù)據(jù)信息,結(jié)合企業(yè)的實際情況作出與未來發(fā)展規(guī)劃相適應(yīng)的決策。
此外,視頻分類功能根據(jù)不同的年級和學(xué)科對視頻進行了分類整理,使用戶更為方便的找到相關(guān)的學(xué)習(xí)資源,當用戶選擇了年級和學(xué)科,并按確定鍵點擊后,程序會調(diào)用編寫好的視頻搜索算法進行查找,查找完畢后將搜索到的相關(guān)視頻顯示到手機界面,用戶可以點擊相關(guān)視頻進行觀看。用戶在觀看視頻時可以對感興趣的視頻進行點贊、收藏、分享、下載和發(fā)表評論等操作。
(2)好友聊天模塊
好友聊天模塊下面有添加好友、好友列表、好友消息,所對應(yīng)的Activity為AddFriendActivity、ListFriendActivity和ChatActivity。
在該功能模塊的設(shè)計中,在項目的libs文件夾下導(dǎo)入了添加通訊云的gotyeapi.jar工具包,快速實現(xiàn)了軟件中使用文字、圖片和發(fā)送語音聊天,還可調(diào)用相機拍照并發(fā)送給好友,經(jīng)過測試,系統(tǒng)的穩(wěn)定情況很好。發(fā)送語音聊天代碼如下:
如果用戶還沒有好友或者好友數(shù)量較少,可以通過搜索用戶名發(fā)送好友添加請求,若對方同意則對方的用戶名將會顯示在好友列表中,雙方可以實現(xiàn)發(fā)送消息進行交流,用戶可以設(shè)置消息提示音、消息震動以及設(shè)置聊天信息的銷毀時間。
(3)個人中心模塊
個人中心模塊下面有我的點贊、我的下載和空間動態(tài)等功能,對應(yīng)的Activity為AppreciateActivity、DownloadActivity和KongjianActivity。
用戶可以查看自己點過贊的視頻和下載過的視頻,下載過的視頻已經(jīng)保存到用戶的手機內(nèi)存中,無需聯(lián)網(wǎng)即可進行播放,當用戶想觀看下載過的視頻時,程序取出本地數(shù)據(jù)庫中視頻的nid,調(diào)用自定義的視頻播放類F1_VideoPlayAty.class播放視頻,具體代碼如下:
服務(wù)器端完成客戶端與數(shù)據(jù)庫的信息交互,起到中介作用。服務(wù)器管理系統(tǒng)采用Java語言實現(xiàn),使用了JBOSS提供的Netty框架,簡化和流線化了網(wǎng)絡(luò)應(yīng)用的編程開發(fā)過程,有利于系統(tǒng)的擴展和跨平臺應(yīng)用。服務(wù)器管理系統(tǒng)的功能如圖3。
服務(wù)器的啟動代碼:
圖3 服務(wù)器功能模塊
服務(wù)器端負責處理客戶端發(fā)送來的請求,客戶端利用Android集成的Apache的Http Client模塊,使用HttpURLConnection訪問網(wǎng)絡(luò)。根據(jù)功能的不同,Android客戶端將不同的參數(shù)傳遞給服務(wù)器,該軟件的服務(wù)器端程序中使用的大量自定義的Handler類來處理客戶端發(fā)送來的請求,服務(wù)器根據(jù)接收到的參數(shù)調(diào)用MySQL數(shù)據(jù)庫中的數(shù)據(jù),并以JSON格式返回給客戶端,Android客戶端接收到數(shù)據(jù)后會對JSON數(shù)據(jù)進行格式解析,將解析出的數(shù)據(jù)通過客戶端的界面顯示給用戶[5]。系統(tǒng)管理者還可通過服務(wù)器端主動向客戶端發(fā)送通知,在客戶端設(shè)計了SystemNotification類用于接受服務(wù)器發(fā)送來的消息,并將消息內(nèi)容顯示到手機界面上。
用戶通過手機號碼注冊該移動學(xué)習(xí)系統(tǒng),設(shè)置密碼,再次登錄時憑手機號和登錄密碼登錄系統(tǒng)。用戶進入該系統(tǒng)后,可以查看所有功能模塊并使用相關(guān)功能進行課程學(xué)習(xí)、好友交流和發(fā)表空間動態(tài)。該軟件系統(tǒng)通過Android系統(tǒng)測試平臺的測試,在虛擬機和多款不同品牌的Android手機上均實現(xiàn)了穩(wěn)定流暢的運行。系統(tǒng)運行的效果如圖4所示:
圖4 系統(tǒng)運行效果圖
隨著Android系統(tǒng)的崛起和智能手機軟件的不斷推陳出新,本文設(shè)計和開發(fā)了基于Android平臺的移動學(xué)習(xí)系統(tǒng),為眾多Android用戶提供了一個學(xué)習(xí)和交流的平臺。通過該軟件,用戶可以更好地利用零散的時間,隨時隨地學(xué)習(xí)感興趣的內(nèi)容,并且可以和好友交流信息,還可以進入個人中心發(fā)表看法,提高了學(xué)習(xí)的積極性和效率。當然,該移動學(xué)習(xí)系統(tǒng)還有不足之處,由于自身理論知識,在細節(jié)設(shè)計方面還有需要進一步完善的地方,在應(yīng)用推廣的過程中,要根據(jù)用戶的需求反饋,不斷更新其功能。
[1]郭宏志.Android應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,2010.
[2]曾惠霞,黃志偉.基于Android的自主學(xué)習(xí)軟件的研究與實現(xiàn)[J].價值工程,2014(29):230-231
[3]劉承焜.促進大學(xué)生自主學(xué)習(xí)的教學(xué)模式研究[J].中國高等教育,2011(17):58-59.
[4]勒巖,姚尚郎.Google Android開發(fā)入門與實戰(zhàn)[M].北京:人民郵電出版社,2006:57-135
[5]萬明,李娟娟.基于Android的社區(qū)信息管理管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2014,10(3):561-563
趙連軍,男,山東淄博人,博士,副教授,研究方向為企業(yè)信息化工程技術(shù)
劉帥(1989-),男,山東濰坊人,碩士研究生,研究方向為圖像處理
Android;Mobile Learning;Intelligent Mobile Phone
Design and Implement of Mobile Learning System Based on Android Platform
LI Bin,ZHAO Lian-jun,LIU Shuai
(School of Computer Science,Shandong University of Technology,Zibo 255049)
1007-1423(2016)22-0078-05DOI:10.3969/j.issn.1007-1423.2016.22.017
李彬(1989-),男,山東濟寧人,碩士研究生,研究方向為計算機信息化
2016-05-31
2016-07-26
近年來,隨著Android系統(tǒng)的崛起,智能手機迅速普及,已成為人們生活中的不可或缺的產(chǎn)品,基于智能手機的學(xué)習(xí)軟件需求量迅速增加。針對目前的需求現(xiàn)狀,設(shè)計一款基于Android平臺的學(xué)習(xí)和相互交流信息的軟件,該軟件實現(xiàn)了播放課程視頻、下載視頻、好友聊天、發(fā)表動態(tài)等功能。通過該軟件,用戶可以隨時隨地利用時間進行學(xué)習(xí)和交流。
Android;移動學(xué)習(xí);智能手機
In recent years,with the rise of Android system,the intelligent mobile phone is popular in people,and it has become an indispensable part of people's life,the demanded quantity of learning software which is based on mobile phone devices increases rapidly.Aiming at current demand situation,designs a learning and exchanging information software which is based on Android platform,realizes the functions such as playing videos,downloading videos,communicating with friends and publishing dynamics,etc.Through the software,users can study and communicate with friends at any time.