李彬,趙連軍,劉帥
(山東理工大學計算機學院,淄博 255049)
Android平臺下移動學習系統的設計與實現
李彬,趙連軍,劉帥
(山東理工大學計算機學院,淄博255049)
Google在2007年發布Android手機操作系統,因其開放源代碼,受到廣大智能手機廠商的歡迎,也在廣大開發者和用戶群體中得到廣泛使用[1]。Android系統功能十分強大,而且十分高效、穩定。
智能手機已經在廣大青少年學生中普及開來,幾乎每個人的手中都有一部手機,很多人每天都將大部分時間花在使用手機上,智能手機的廣泛使用也改變了學生的生活和學習方式[2]。隨著移動通信與教育的有效結合,其在當代教育領域中發揮的作用也將越來越大[3]。由于傳統的教育和學習方式已經越來越不適應社會的快速發展和人們對于科學文化知識的需求,越來越多的機構和個人投入到移動學習的研究當中,移動學習已經成為了一種新型的教育方式。根據某教育咨詢公司的市場調查和需求分析,本文推出一款Android平臺下的移動學習軟件,希望能解決傳統學習模式受到各種學習資源限制的弊端,提高學生學習的積極性。
該移動學習系統使用當前最流行的Java編程語言實現系統的設計,編譯工具為JDK1.8。使用Android Studio 1.5.1開發工具進行手機客戶端的開發,使用E-clipse進行服務器端的設計,數據庫使用MySQL。本系統的功能結構如圖1所示:

圖1 系統結構
手機客戶端學習系統通過發送HTTP網絡連接請求到后臺服務器端,后臺服務器程序訪問MySQL數據庫,獲取需要的數據返回給客戶端。客戶端通過服務器這個媒介和數據庫進行相互通信。
客戶端學習系統運行于裝有Android系統的智能手機上,使用xUtils框架設計,xUtils源于Afinal框架,由于對Afina進行了大量重構,xUtil集成了更多的實用工具,功能更加強大,xUtilsd的DbUtils模塊支持事務,默認關閉,可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等;xUtils的ViewUtils模塊使用了Android中的IoC框架,完全注解方式就可以進行UI綁定和事件綁定;HttpUtils模塊支持同步、異步方式請求,支持GET、POST、PUT、MOVE、COPY、DELETE和HEAD請求;BitmapUtils模塊加載bitmap的時候無需考慮bitmap加載過程中出現oom和Android容器快速滑動時候出現的圖片錯位現象,可配置線程加載線程數量,緩存大小,緩存路徑。客戶端系統有3個基本模塊。包括視頻播放模塊、好友聊天模塊和個人中心模塊,這3個模塊雖然不同,但在功能上相輔相成,各個模塊下面有不同子功能的劃分。其功能模塊如圖2所示:

圖2 客戶端學習系統功能模塊
在Android客戶端程序中,每個用戶操作界面為一個Activity,在Activity中使用各種組件來構建界面[4]。在該軟件的設計中,為了實現用戶與界面的友好交互,根據界面中所需控件的不同和界面的美觀,大部分界面設計使用了相對布局(RelativeLayout),其余界面的設計分別使用了線性布局(LinearLayout)、幀布局(FrameLayout)和表格布局(TableLayout)等不同的布局方式,有些復雜的界面在設計時采用了不同布局的嵌套。該移動學習軟件有3個不同的功能模塊,在代碼實現上,分別為頻播放模塊、好友聊天模塊和個人中心模塊設計了3個不同的Fragment模塊,即Fragment1_Video、Fragment2_Communication、Fragment3_Qz,當用戶點擊不同的按鈕圖標時,無需跳轉,直接在主界面上加載該功能模塊。當用戶進入不同模塊的子功能時,程序使用Android中常用的Intent方式跳轉到目標Activity中。各功能模塊的具體實現如下:
(1)視頻播放模塊
視頻播放模塊將客戶端從數據庫中獲取到的視頻展示在該模塊中,該模塊下面有視頻點播、視頻分類、關鍵字搜索視頻、評論視頻等功能,所對應的Activity分別為VideoPlayAty、VideoCardMore、SearchActivity和VideoComment等。
當用戶登錄系統點擊進入視頻播放模塊時,會出現一個視頻下拉列表ListView,在該軟件的設計中,使用ListView的item重用技術,在ListView未被進行上拉下拉等操作時,緩存存儲連續有序的item,當前的layout已經保存可見的View,當用戶根據需要,對視頻列表滑動時,這時ListView發生變化,直接從緩存的View中獲取item提供給Adapter的getView()函數,獲取相應視頻的圖片,使用ListView的item重用技術既節省了內存空間,又提高了瀏覽速度,增強了用戶體驗度。當用戶點擊相關視頻時,觸發ListView的OnItem-ClickListener監聽事件,該事件調用程序中自定義了一個F1_VideoPlayAty.class類對選中的視頻進行播放(play)操作,其中的play()實現代碼如下:

//如果視頻沒有正在播放

//判斷是否是ListView列表中的第一個視頻


用戶也可以在搜索框vSearchContent中輸入關鍵字去搜索感興趣的視頻進行學習,實現代碼如下:
//如果搜索框中的字符串信息不為空
把企業之間發生的經濟往來作為財務會計與管理會計融合的重要依據,這就要求二者把與企業有關的信息搜集整理,并做好記錄,這是財務會計與管理會計要核算的內容,也是本企業曾經和未來的資金流動情況。從核算內容的角度上看,二者存在交叉點,所使用的原始信息的來源相同。但在信息歸集的具體操作上稍有區別,同時在這個過程中也會持不同的觀點和看法。實踐證明,如果管理會計的信息來源建立在財務會計的數據基礎上,將會提升管理效率。因此,企業的決策層在作出具體決策時,必須把財務會計與管理會計的相關信息融合在一起,從整體和局部分析數據信息,結合企業的實際情況作出與未來發展規劃相適應的決策。

此外,視頻分類功能根據不同的年級和學科對視頻進行了分類整理,使用戶更為方便的找到相關的學習資源,當用戶選擇了年級和學科,并按確定鍵點擊后,程序會調用編寫好的視頻搜索算法進行查找,查找完畢后將搜索到的相關視頻顯示到手機界面,用戶可以點擊相關視頻進行觀看。用戶在觀看視頻時可以對感興趣的視頻進行點贊、收藏、分享、下載和發表評論等操作。
(2)好友聊天模塊
好友聊天模塊下面有添加好友、好友列表、好友消息,所對應的Activity為AddFriendActivity、ListFriendActivity和ChatActivity。
在該功能模塊的設計中,在項目的libs文件夾下導入了添加通訊云的gotyeapi.jar工具包,快速實現了軟件中使用文字、圖片和發送語音聊天,還可調用相機拍照并發送給好友,經過測試,系統的穩定情況很好。發送語音聊天代碼如下:


如果用戶還沒有好友或者好友數量較少,可以通過搜索用戶名發送好友添加請求,若對方同意則對方的用戶名將會顯示在好友列表中,雙方可以實現發送消息進行交流,用戶可以設置消息提示音、消息震動以及設置聊天信息的銷毀時間。
(3)個人中心模塊
個人中心模塊下面有我的點贊、我的下載和空間動態等功能,對應的Activity為AppreciateActivity、DownloadActivity和KongjianActivity。
用戶可以查看自己點過贊的視頻和下載過的視頻,下載過的視頻已經保存到用戶的手機內存中,無需聯網即可進行播放,當用戶想觀看下載過的視頻時,程序取出本地數據庫中視頻的nid,調用自定義的視頻播放類F1_VideoPlayAty.class播放視頻,具體代碼如下:

服務器端完成客戶端與數據庫的信息交互,起到中介作用。服務器管理系統采用Java語言實現,使用了JBOSS提供的Netty框架,簡化和流線化了網絡應用的編程開發過程,有利于系統的擴展和跨平臺應用。服務器管理系統的功能如圖3。
服務器的啟動代碼:



圖3 服務器功能模塊
服務器端負責處理客戶端發送來的請求,客戶端利用Android集成的Apache的Http Client模塊,使用HttpURLConnection訪問網絡。根據功能的不同,Android客戶端將不同的參數傳遞給服務器,該軟件的服務器端程序中使用的大量自定義的Handler類來處理客戶端發送來的請求,服務器根據接收到的參數調用MySQL數據庫中的數據,并以JSON格式返回給客戶端,Android客戶端接收到數據后會對JSON數據進行格式解析,將解析出的數據通過客戶端的界面顯示給用戶[5]。系統管理者還可通過服務器端主動向客戶端發送通知,在客戶端設計了SystemNotification類用于接受服務器發送來的消息,并將消息內容顯示到手機界面上。
用戶通過手機號碼注冊該移動學習系統,設置密碼,再次登錄時憑手機號和登錄密碼登錄系統。用戶進入該系統后,可以查看所有功能模塊并使用相關功能進行課程學習、好友交流和發表空間動態。該軟件系統通過Android系統測試平臺的測試,在虛擬機和多款不同品牌的Android手機上均實現了穩定流暢的運行。系統運行的效果如圖4所示:

圖4 系統運行效果圖
隨著Android系統的崛起和智能手機軟件的不斷推陳出新,本文設計和開發了基于Android平臺的移動學習系統,為眾多Android用戶提供了一個學習和交流的平臺。通過該軟件,用戶可以更好地利用零散的時間,隨時隨地學習感興趣的內容,并且可以和好友交流信息,還可以進入個人中心發表看法,提高了學習的積極性和效率。當然,該移動學習系統還有不足之處,由于自身理論知識,在細節設計方面還有需要進一步完善的地方,在應用推廣的過程中,要根據用戶的需求反饋,不斷更新其功能。
[1]郭宏志.Android應用開發詳解[M].北京:電子工業出版社,2010.
[2]曾惠霞,黃志偉.基于Android的自主學習軟件的研究與實現[J].價值工程,2014(29):230-231
[3]劉承焜.促進大學生自主學習的教學模式研究[J].中國高等教育,2011(17):58-59.
[4]勒巖,姚尚郎.Google Android開發入門與實戰[M].北京:人民郵電出版社,2006:57-135
[5]萬明,李娟娟.基于Android的社區信息管理管理系統的設計與實現[J].電腦知識與技術,2014,10(3):561-563
趙連軍,男,山東淄博人,博士,副教授,研究方向為企業信息化工程技術
劉帥(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系統的崛起,智能手機迅速普及,已成為人們生活中的不可或缺的產品,基于智能手機的學習軟件需求量迅速增加。針對目前的需求現狀,設計一款基于Android平臺的學習和相互交流信息的軟件,該軟件實現了播放課程視頻、下載視頻、好友聊天、發表動態等功能。通過該軟件,用戶可以隨時隨地利用時間進行學習和交流。
Android;移動學習;智能手機
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.