《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的教學資源庫移動客戶端的研究與實現
基于Android的教學資源庫移動客戶端的研究與實現
2014年微型機與應用第24期
倪建新
(無錫高等師范學校,江蘇 無錫 214153)
摘要: 提出了一種基于Android平臺的教學資源庫移動客戶端的解決方法,分析了該系統的架構和主要模塊,并以本校的教學資源庫為例,具體實現了該系統,其對移動校園應用以及移動學習系統的研究具有一定的參考價值。
Abstract:
Key words :

  摘  要: 提出了一種基于Android平臺的教學資源庫移動客戶端的解決方法,分析了該系統的架構和主要模塊,并以本校的教學資源庫為例,具體實現了該系統,其對移動校園應用以及移動學習系統的研究具有一定的參考價值。

  關鍵詞: Android;資源庫;移動客戶端;移動校園;移動學習

0 引言

  目前,隨著數字化校園工作的不斷深入,各校都在積極研究數字化校園的各項應用,其中教學資源庫的建設是一個重點。已有的資源庫應用一般都采用B/S架構,各類資源都放置在服務器上,在PC端通過瀏覽器實現用戶的接入。用這種方式在移動設備上進行接入時會存在一些弊端,如操作繁瑣、可交互性差、數據流量大等。這些情況以及移動智能設備的大量普及,使得開發教學資源庫移動客戶端系統變得非常迫切。本文設計并實現了一個基于Android平臺的教學資源庫移動客戶端系統,用戶通過該系統可以在Android智能終端上實現課程資源學習、接收新資源信息、視頻點播、在線練習、用戶交流等功能。

1 系統的架構設計

  本系統采用C/S架構設計,重點在于移動客戶端的開發,學校的服務器端采用的是.NET+IIS+SQLServer的配置,考慮到安全性及數據量的問題,在遠程數據庫的連接上,Android客戶端通過WebService這個橋梁來訪問SQLServer,獲得相應的XML格式數據,并通過Android自帶的PULL解析器解析出相關數據顯示在客戶端UI界面中。

  客戶端模塊在功能上主要分為用戶登錄、我的通知、在線學習、視頻點播、在線練習、資料下載、師生互動、用戶交流和密碼設置等。為了程序的簡潔,移動客戶端未設置教學資源庫的管理功能,管理員賬號只能通過PC端登錄實現管理功能。客戶端在業務邏輯的實現上主要由以下幾個類構成:WebService操作數據庫類DBOperation、Android連接WebService類HttpConnSoap、XML數據解析類XMLParser類以及相關的界面類UserLogin、CourseView等。

  本移動客戶端的基本架構如圖1所示。

001.jpg

2 系統主要模塊的實現

  2.1 服務器端接口ResourceWebservice

  一般的C/S架構程序在數據庫連接上都采用直接連接,對于移動客戶端的開發帶來的問題是數據流量大、安全性不好等問題。本系統在數據庫連接及操作上通過自定義的服務器端接口程序ResourceWebservice來操作教學資源庫SQLServer數據庫Resource,獲得數據并轉換成XML格式。由于采用了WebService方式來進行中轉操作,Android客戶端中所有的數據庫操作都必須在ResourceWebService中寫成相應的接口函數,ResourceWebService中獲得指定資源學習內容的接口函數示例如下:

  [WebMethod(Description="獲取指定資源學習內容")]

  public string[]selectStudyInfo(int courseid,int contentid)

  {

  return dbOperation.selectStudyInfo(courseid,contentid).ToArray();

  }

  這里DBOperation是一個操作數據庫的類,所有對教學資源庫的數據庫操作都寫在這個類中,其中包括在線學習模塊的查詢接口、師生互動的更新接口等,使用時實例化DBOperation類,然后即可直接調用。

   2.2 Android調用ResourceWebService

  服務器端的WebService接口函數配置好之后,在Android中就可以通過調用它們達到操作數據庫的目的,但Android系統自帶的SDK中并沒有提供調用WebService的類庫,本系統在開發過程中使用了適合手機客戶端的KSOAP2,并設計了較為通用的getWebService方法,將調用得到的返回數據先存放在數據流中,然后進行XML解析。getWebService方法設計如下:

  public InputStream getWebService(String methodName,ArrayList<String> ParamList,ArrayList<String> ParValueList);

  其中methodName是調用的接口函數名稱,ParamList是調用的參數列表,ParValueList是參數值的列表。以調用“獲取指定資源學習內容”接口為例:

  String methodName="selectStudyInfo";

  ParamList.add("courseid");ParamList.add("contentid");

  ParValueList.add("010");ParValueList.add("005");

  InputStream inputStream=ResourceWebService.getWebService(methodName,ParamList,ParValueList);

  2.3 XML數據解析類XMLParser

  當得到返回數據的數據流后,需要進行XML格式數據的解析,本系統使用Android自帶的PULL解析器,解析速度快,簡單易用,非常適合手機、平板電腦等內存有限的小型移動設備。XMLParser類的解析過程為設定開始元素和結束元素,當某個元素開始時,調用parser.nextText()方法從數據流中提取所有數據,當解釋到一個文檔結束時,自動生成EndDocument事件。主要代碼如下:

  public ArrayList<StudyInfo>paraseStudyInfo(InputStream inputStream){

  XmlPullParser parser=Xml.newPullParser();

  int eventType = parser.getEventType();

  while(eventType!=XmlPullParser.END_DOCUMENT)

  {……

  eventType=parser.next();

  }

  }

  2.4 消息推送模塊

  該模塊使用了一個開源項目androiddpn,通過XMPP協議實現了客戶端與服務器端的長久連接,將客戶端源代碼包androidpn-client-0.5.0.zip導入到移動客戶端項目后,設置raw/androidpn.properties文件,配置客戶端的apiKey、xmppHost、xmppPort這三個參數就可以接收來自服務器端的推送消息。在服務器端,只需運行服務器端源代碼包androidpn-server-0.5.0-bin.zip中的run.bat,就可以直接搭建好消息推送服務。

  當資源庫管理者更新了新的資源,如課程教師更新了課程內容后,可以通過瀏覽器打開Android Push Notification Admin Consle頁面,將更新消息手動推送到設定了該課程的用戶手機上,消息會直接顯示在用戶屏幕上,也可以通過“我的通知”模塊進行查看。

  2.5 視頻點播模塊

  視頻資源是教學資源庫建設的重點,用戶通過遠程視頻點播可以再現教師課程教學的重點,教學資源庫中所有的視頻資源均采用流媒體格式存儲在服務器端,本系統移動客戶端未開發專用的視頻播放器,而是通過流媒體文件的URL地址調用本地應用來進行視頻資源的點播。其主要代碼如下:

  Intent svideo=new Intent();

  svideo.setAction(Intent.ACTION_VIEW);

  svideo.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

  Uri uri=Uri.parse(url);//這里url表示流媒體文件在服務器端的地址

  svideo.setDataAndType(uri,"video/*");

  startActivity(svideo);

3 系統的運行環境及運行實例展示

  教學資源庫服務器端配置為.NET4.0+IIS7.0+SQLServer2005,移動客戶端Android運行環境要求在2.3.3版本及以上,客戶端和服務器端通過WebService中轉連接。本系統在Android模擬器及Android真機中信U793、聯想A850、華為C8816等一般配置機型上均可以流暢運行,能隨時隨地通過移動終端獲取教學資源庫中的各類信息,進行課程內容在線學習、師生互動、視頻點播、用戶交流等操作,運行效果如圖2所示。

002.jpg

4 結論

  移動設備的普及使得移動應用的開發成為一種趨勢,本文設計并實現了基于Android平臺的教學資源庫移動客戶端系統,并作為江蘇省職業技術教育學會研究課題“Web2.0平臺下軟件技術專業教學資源信息化的實踐研究”的移動端研究內容已在學生中進行了初步試用,極大地提高了學生的學習興趣,同時也出現了如師生互動、消息推送等方面的一些不足,隨著新技術的不斷發展這些不足將得到改進,以推動移動應用開發的不斷前進。

  參考文獻

  [1] 陳文,郭依正.深入理解Android網絡編程[M].北京:機械工業出版社,2013.

  [2] 余志龍.Google Android SDK開發范例大全[M].北京:人民郵電出版社,2011.

  [3] 初雅莉,陳昌穩.基于Android的智慧校園手機系統[J].微型機與應用,2013,32(15):15-17.

  [4] 仲偉,吳晉.基于XMPP協議的校園實時推送系統的研究[J].武漢大學學報(理學版),2012,S1:305-308.

  [5] 鄭潔瓊,陳澤宇.3G網絡下移動學習的探索與實踐[J].開發教育研究,2012(1):159-162.

  [6] 呂偉.基于Android的移動學習平臺的設計與實現[D].南京:南京師范大學,2013.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日日操夜夜操免费视频 | 99精品热女视频专线 | 伊人网站 | 日本不卡高清视频 | 国产又爽又黄又舒服又刺激视频 | 日本欧美韩国专区 | 精品久久久久国产免费 | 色吧欧美 | 亚洲人成网址在线播放a | 手机在线看片国产 | 777毛片| 日韩视频在线精品视频免费观看 | 免费一级大片儿 | 福利视频h| 曰批全过程免费视视频观看 | 中文字幕一区视频 | 欧美亚洲国产一区二区三区 | 亚洲手机国产精品 | 福利片在线观看免费高清视频 | 9966国产精品视频 | 香港三级日本三级三级人妇99 | 午夜婷婷网 | 中国又粗又大又爽的毛片 | 免费国产午夜高清在线视频 | 日本欧美一级二级三级不卡 | 天天槽夜夜槽槽不停 | 亚洲国产片在线观看 | 久草久| 九九这里只精品视在线99 | 日本三级三级三级免费看 | 天天av天天翘天天综合网 | 丁香午夜 | 日韩精品午夜 | 午夜看片免费 | 欧美xx视频| 久久综合九色综合欧美狠狠 | 黄色国产在线观看 | bbbxxx乱大交欧美小说 | 日本三级带日本三级带黄首页 | 久久亚洲欧洲日产国码 | 法国18sexxxx性xxx|