欢迎来到天天文库
浏览记录
ID:36801768
大小:2.55 MB
页数:63页
时间:2019-05-15
《基于Android的移动学习系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
⑨⋯MASTER⋯'STHE娜硕士学位论文基于Android的移动学习系统设计与实现论文作者:解攀科指导教师:刘清堂学科专业:教育技术学研究方向:教育技术学华中师范大学信息技术系2011年4月 DesignandImplementationofaM..LearningSystemBasedonAndroidAThesiSSubmittedinPartialFulfillmentoftheRequirementFortheM.S.DegreeinEducationTechnologyByXiePankePostgraduateProgramDepartmentofInformationTechnologyCentralChinaNormalUniversitySupervisor:LiuQingtangAcademicTitle:professorSignaturef、厶队.ApprovedApril.2011 ⑥硕士学位论交MASTER’STHESIS华中师范大学学位论文原创性声明和使用授权说明原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。,.,‘作者签名:角弓之簪纠日期:纠/年r月跣厢I)f,学位论文版权使用授权书学位论文作者完全了解华中师范大学有关保留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属华中师范大学。学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。(保密的学位论文在解密后遵守此规定)保密论文注释:本学位论文属于保密,在——年解密后适用本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。作者签名:同‘日期:秒JJ年导师签名:函膨皂日期:知//年J月谚日本人已经认真阅读“CALIS高校学位论文全文数据库发布章程”,同意将本人的学位论文提交“CALIS高校学位论文全文数据库"中全文发布,并可按“章程”中的规定享受相关权益。回童途塞堡銮卮溢蜃i旦圭生;旦二生;旦三生蕉查!导师签名:日期:川f年,月2于日 ,f77、㈤\/硕士学位论文MASTER’STHESIS摘要在发展迅速的无线互联网时代,智能手机(平板电脑)等移动设备已经逐步进入人们的生活。随着社会的迅速发展和竞争的愈加激烈,人们的学习需求也随之日益发展。移动学习正是伴随这个大背景而发展起来的一种新型数字化学习方式。学习者为了紧跟时代需求,可以选择利用各种机会来进行学习,移动学习正是适用这种需求的一种学习方式。2009年工信部颁发3G牌照后,国内3G业务发展迅速。Android智能手机硬件性能越来越高,而价格却不断下降,使得学习者有条件获得智能手机来进行学习。毫无疑问,移动学习必须基于可用性高的移动学习软件才得以开展。目前关于移动学习的基础理论研究较多,但具体的移动学习应用软件研究较少。针对这个情况,本文在初步研究了移动学习相关理论基础上,探讨如何在广泛应用的Android平台上设计与开发移动学习系统。本文所做的主要工作如下:1.)研究实现Android移动学习系统几个关键问题Android智能手机已较好支持标准HTML,但由于手机的屏幕分辨率实际较小,必须采取办法设计能较好自适应手机显示的移动版网页。针对视频处理能力各异的Android手机,必须设计较为灵活的方法来分发视频,使得其视频播放能力达到较好的覆盖。尽管Android已带来较好的用户使用体验,开发人员仍需要采用更便捷的手段简化用户操作。如可以采用单点登录技术简化手机软件的登录操作。2)如何进行Android移动学习系统的架构性设计Android移动学习系统的良好运行离不开优良的系统架构设计。既要保障服务器的稳定运行(提供可靠的HTTP、视频服务),又要设计用户体验较好的客户端支持用户使用。同时采用有效地手段保障客户端和服务器的协同工作。3)探讨具体实现Android移动学习系统的开发方法Android移动学习系统的开发基于EclipseIDE进行。服务端基于J2EE技术实现,采用MVC模式开发移动版WEB系统。客户端基于AndroidSDK进行手机客户端软件的开发,采用整合ADT的EclipseIDE进行具体开发。综合以上几点工作,本文初步实现了基于Android的移动学习系统,并在Android手机上测试通过。关键字:移动学习;Android;移动版网页;HTML5;OAuth AbstractInthecurrenteraofrapiddevelopmentofwirelessInternet,moreandmorepeoplearechoosingtorisemobiledevicesintheirlives.Withtherapiddevelopmentofsociety,moreandmorepeoplearefacedwithcompetition,andtheirdemandsforeducationareincreased.Mobilelearningisanewtypeofdigitallearningassociatedwitllthissituation.In2009theMinistryofIndustryandInformationTechnologyofChinaissues3Glicenses.the3Gservicesisgrowingfast.Thelatestgenerationofsmartphonesboastspowerfulprocessors,makingthemcapableofexecutingcomplexandcomputationallydemandingapplications.Inthiscondition,1earnerscalleasilyusesmartphonestOlearnbythefastmobilenetwork(suchas3G&WIFI)atalltimesandplaces.Howtoimprovingpeople’Slearningwithsuitablesoftwareformobiledevice?W色showfindausefulWaytOdevelopandroidM·Learningsystem.TIliSmainworkofthispapercarriedoutasfollows:1、ThemainproblemsoftheandroidmobilelearningsystemdevelopmentW|ediscussthemainproblems:Howtodesignauto-zoomwebpagesforsmartphone?Howtodeliveronlinevideobyflexibleway(SuchasFlashandHTML5)?HowtouseSinglesign—on(sso)tohelpuser晰thlogonintotheM-LearningSystem?21HowtodesignthearchitectureoftheandroidmobilelearningsystemAndroidmobilelearningsystemmustbeagoodsystemarchitecturedesign,toprovidereliablewebservice,andalSOprovidetheclientapplicationabetteruser-experience.31Howtoimplementthemobilelearningsystembasedonandroid昵useEclipseIDEforJavaEEtodeveloptheServer-Sideserviceoftheandroidmobilelearningsystem.WeuseADTtoolforEclipsetodeveloptheandroidclientapplication.Wetesttheapplicationonemulatorandsmartphone.Keywords:M-Learning;Android;mobilewebpage;HTML5;OAuth ⑨硕士学位论文MASTER’STHESIS目录摘要⋯⋯⋯⋯⋯⋯..⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯...⋯⋯.....⋯⋯..⋯⋯⋯.⋯⋯⋯.⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯.iAbstract1绪论⋯⋯.⋯⋯⋯⋯⋯⋯..⋯..⋯⋯⋯⋯⋯.⋯⋯⋯⋯..⋯⋯⋯⋯⋯⋯⋯....⋯⋯⋯⋯⋯.。n¨l1.1研究现状及意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.2拟研究内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31.3本文的组织结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42移动学习理论与技术基础⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。52.1移动学习理论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.2技术基础⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.2.1支撑移动学习的硬件、网络环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。62.2.2支撑移动学习的软件环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.3本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。163Android移动学习系统关键问题的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯173.1手机WEB网页自适应显示研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯173.2适合手机的在线视频分发方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.213.3移动学习系统单点登录技术研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯:..223.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.244Android移动学习系统架构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯254.1Android移动学习系统总体设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯254.2Android移动学习系统功能设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..264.2.1OAuth认证Portal设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯274.2.2Android移动学习系统服务器端设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.274.2.3Android移动学习系统客户端设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯304.3本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..325Android移动学习系统实现⋯⋯.335.1Android开发环境配置⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯335.2OAuth认证Portal实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯345.3Android移动学习服务器端实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯355.3.1WWW资源服务器程序实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.35 5.3.2HTML5视频、Flash视频切换方式代码实现⋯⋯⋯⋯⋯⋯⋯⋯..365.4Android移动学习客户端实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯375.4.1Android实现OAuth授权登录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯395.4.2Android实现Webkit访问网页⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。405.4.3Android视频播放器实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯415.4.4应用与测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯445.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.486总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..496.1本文小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.496.2研究展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.49参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.51攻读学位期间发表的论文⋯⋯..⋯⋯⋯..⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..⋯.⋯⋯⋯⋯⋯⋯⋯..54j改谢⋯⋯⋯⋯⋯..⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯.⋯⋯⋯⋯..⋯⋯⋯⋯⋯⋯55 ⑧\:/硕士学位论文MASTER’STHESIS1.1研究现状及意义1绪论国外关于移动学习研究起步很早。美国最早在1994年就展开一个移动教育项目的研究,这个项目便是卡内基梅隆大学(CarnegieMellonUniversity)在该大学开展的研究项目WirelessAndrew(项目后改名为HandheldAndrew)。在HandheldAndrew项目中,卡内基梅隆大学开发了一些基于PDA的应用软件并展开教育评价。国外一些大型的移动学习研究项目也展开较早,如2001年启动的欧洲“下一代学习’’项目和2002年启动的非洲农村移动学习研究项目。可贵的是,国外的研究机构和学者充分利用当时的技术手段开展诸多重要项目的研究。如日本德岛大学开发的BSUL(BasicSupportforUbiquitousLeaming)环境通过在课堂上使用PDA和无线网络实现教学活动的检查、课程材料发布、学生作业报告上传以及学习反馈等活动,有效地补充正常的课堂学习。又比如Savannah项目,这个项目由NESTA未来实验室、BBCNHU、混合现实实验室(诺丁汉大学)与MobileBristol共同参与研究,该项目利用PDA和GPS实现移动环境下的虚拟现实学习。近年来随着3G网络和智能手机、平板电脑在美国的普及,美国各种机构和大学纷纷开展一系列应用性更强的移动学习平台实施和研究。如俄亥俄州立大学医学院(ohio.state)为每位学生提供iPodtouch或iPhone,并且在iTunesU上即可提供该校一年级和二年级的课程讲座,这些课程资源使用播客(podcast)方式分发。ohio.state对课程进行重新设计,使用iPodtouch和iPhone定制适合每个学生的学习内容。ohio.state同时也部署了系统跟踪管理学生使用iPodtouch和iPhone移动学习的情况和进行成绩评价。又如美国普渡大学发布该校的BoilerCast网站,通过这个平台有30多门课程的授课Podcast提供给学生进行移动学习。美国斯坦福大学、杜克大学等也有类似的实验项目。美国在中小学也有类似的移动学习应用,比如加州Escondido冲心小学向四年级学生提供人手一台的iPodtouch进行语言学习。相对于国外而言,国内的移动学习研究则起步较晚。吉林大学高等教育研究所傅健、杨雪在“国内移动学习理论研究与实践十年瞰览"(发表于《中国电化教育》2009年07期)一文中对目前(截至2009)国内关于移动学习的研究现状作了非常充分的阐述12】。国内大致从2001年开始移动学习的相关研究。国内学者 ⑧\::/硕士学位论文MASTER’STHESIS关于移动学习大部分停留在理论研究层面,这些论文详细辩论了移动学习的定义、理论建构、资源建设探讨等方面。根据中国知网论文数据库的检索显示,截至2011年3月,以“移动学习”为关键字的论文多达近500篇。从2002年起,国内几所重点高校和研究机构开始了一系列重要课题的研究。2002年北京大学申报进行了高教司试点项目“移动教育理论与实践"的研究。同年还有北京大学、清华大学、北京师范大学联合申报的教育部项目“移动教育"开始进行。2006年北京邮电大学展开教育部重点项目“移动学习绩效研究”的相关工作。同年,全国教育技术研究十一五课题(中央电教馆、北京师范大学、诺亚舟公司)“手持式网络学习系统在学科教学中的应用研究’’正式启动。从2004年起,在中小学领域、大学领域、职业培训、远程教育、大众教育等领域的移动学习实践得到一定程度的开展,如2006年诺基亚启动的“行学一族”学习软件项目等。总体而言,到目前为止,国内在移动学习方面无论是基础理论研究、还是具体应用实现,均与国外有着较大的差距。2009年工业与信息化部正式颁发了3G牌照,中国移动、中国联通、中国电信各自取得TD.SCDMA、WCDMA、CDMA2000的牌照,国内3G应用逐步开始发展。国内的学者纷纷展开3G移动学习相关理论和技术的应用研究,不过这些研究大多在理论层面做了初步探讨,大部分没有实际的应用实现。移动学习平台的有效开展不仅依赖于通信网络和硬件环境,还必须通过相关的软件平台才可实际发挥作用。而目前的相关研究涉及移动操作系统和移动应用软件的则较少,特别是涉及Android平台的应用研究则很少。在美国近年来基于Apple平台的移动学习应用有快速发展的趋势。然而限于国内的具体国情,Apple平台的设备如iPodtouch和iPhone由于其较高的部署成本很难在国内实施,而Android设备则是价格不断下降。根据2010年中国电信实施的千元智能手机计划,一系列性能颇佳的Android智能手机价格甚至低至人民币几百元(以华为C8500为例,根据淘宝网2011年3月的数据显示该手机价格仅在人民币700元左右)。2010年下半年,中国联通、中国移动也宣布了其千元智能手机计划,这些手机绝大部分均是Android系统的智能手机。Apple也以其平台封闭性,使得国内除了在应用层面很难对其进行二次开发。而Android则是开放性平台,即可以在应用平台上大力发展,也可以基于系统基础平台二次开发,显然Android平台的移动学习应用产业链比较适合中国的国情。随着3G和智能移动终端的普及和数字化终身学习时代的到来,移动学习的必要性和重要性越来越明显。移动学习是当前快速发展和知识型社会背景下,能2 提供学习者广泛学习的一种有效手段。移动学习概念性发展已经有很多年,但是一直受技术条件的限制而实际发展缓慢。在当前移动计算软硬件技术、移动互联网技术高速发展下的大背景下,移动学习已经逐步可以得到有效的实施。随着智能手机、平板电脑、MID等性能优异、价格便宜的移动计算设备的出现,使得移动学习终端部署的问题得到解决。在当前的各种技术背景和社会背景都比较成熟的情况下,积极有效的开展移动学习系统研究尤其必要。Android是Google在2007年推出的移动操作系统,可以广泛支持智能手机、平板电脑等移动设备。Android系统基于Linux平台和Java平台而成。该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。Android作为一个主流的移动终端系统,目前已经占据相当份额的手机等移动终端操作系统占有率,并且以高速的速度增长。Android的开源和免费,使得其可以在教育领域以合法授权且免费的方式开展移动学习软件的研究和开发。1.2拟研究内容本文初步从以下几个方面研究Android移动学习系统的设计与实现:1)移动学习相关理论与技术基础移动学习相关基础理论是本研究的支撑教育理论,实现一定可用性的Android必须依赖于相应的教育科学理论。当前技术环境是直接影响本研究的实现可能性的重要技术因素,因此必须对当前发展迅速的智能手机技术和无线网络技术进行充分的研究和探讨,总结出适合我国国情的移动学习应用开发模式。2)实现Android移动学习系统几个关键问题的研究Android移动学习应用研究目前处于起始阶段,如何设计较好自适应智能手机显示的WEB网页?如何针对功能较强的智能手机实现灵活的视频分发?如何简化手机软件的登录使用(如整合Google账号、TencentQQ账号)?必须对这几个关键问题进行比较深入的研究。3)如何进行Android移动学习系统的架构性设计基于C/S模式的Android移动学习系统必须进行优良的系统架构性设计,使得服务器能稳定的运行(可靠的提供服务器端的WEB服务、交互处理),同时也使得客户端以较好的用户体验和服务器端协同工作。4)如何具体实现Android移动学习系统3 Android移动学习系统的服务器端采用J2EE进行开发,实现智能手机版网页发布和手机客户端的联机交互。Android客户端则根据Android的开发库使用Eclipse的ADT工具进行移动版客户端开发,并在模拟器和真实终端上实现软件调试运行。1.3本文的组织结构本文共由六章组成,各章的结构安排如下:第一章“绪论"介绍了本课题的研究现状、拟研究内容和研究意义,介绍了在移动互联网技术和智能手机平台的迅速发展背景下国内外对移动学习应用的研究现状,并说明本文拟研究的内容:实现Android移动学习系统的几个关键问题?如何对Android移动学习系统进行架构设计及实现?最后介绍了论文的组织结构。第二章“理论和基础"分别将移动学习理论和技术基础展开阐述,总结归纳目前已有的研究理论并探讨如何采用合理的应用模式进行实现。在技术基础部分分别介绍了当前快速移动互联网技术3G、重要移动开发平台的比较以及Android操作系统。第三章“Android移动学习系统关键问题的研究"对涉及本研究的几个关键问题进行了探讨。初步研究了如下几个问题:自适应手机WEB网页设计、适合手机的在线视频分发方法、单点登录技术。第四章“Android移动学习系统架构设计’’介绍了本文研究并实现的Android移动学习系统的总体架构分析及主要模块的功能分析设计,并说明了本系统总体设计的几个基本原则。第五章“Android移动学习系统实现”是本文的具体实现部分,介绍了本系统的具体研究实现和相关重要技术细节。本章分别从OAuth认证Portal、Android移动学习服务器、Android移动学习客户端详细介绍本系统的这三个重要子系统的实现原理和具体细节。第六章“研究展望”介绍本研究的主要工作及实现情况,并指出了下~步需要深入研究的三个重要方向。4 ⑧硕士学位论文MASTER’STHESIS2.1移动学习理论2移动学习理论与技术基础移动学习是随着现代社会教育文化科技发展大背景下诞生的一种新型学习方式。目前,“移动学习’’尚无准确统一的定义。但是移动学习已经广泛被数字化学习研究相关人员所广泛接受。下面列出几种常见的关于“移动学习"的简单描述:[211)移动学习是数字化学习和移动计算结合的产物,它支持随时随地获取资源实现进行学习活动。2)移动学习是学习者在地理空间流动性和弹性时间下使用移动设备进行学习的一种学习方式。3)移动学习在移动设备支撑下能在任何地点开展学习,移动学习设备必须能够有效地呈现学习资源和双向交流。4)移动学习是数字化学习和移动计算的结合点,它能够提供随时随地的学习体验。5)移动学习是基于目前成熟的无线通信网络和无线多媒体,学习者通过移动终端来实现交互的教学。6)移动学习使得学习者可以借助移动便携设备,无时间、地点局限性的进行学习活动。移动学习借助各种移动设备如智能手机、便携平板电脑、MID等通过无线网络随时随地的获取学习资源。移动学习是未来一种重要的终身学习模式。根据这些观点,移动学习有这些特征:可移动性(随时随地)、基于移动网络、交互性、数字化学习。根据刘丙利、王利在《国外移动学习项目的介绍与启示》(发表于《中国电化教育》2010.4)的观点【3】:移动学习的概念可以从纯技术角度、纯教育角度、教育和技术有机结合的角度划分。从纯技术的角度看,移动学习是通过IA(InformationAppliance)设备实现的数字化学习,这些设备包括早期的手机,当然也应该包括智能手机、以及新出现的平板电脑等。 ⑧\一,硕士学位论文MASTER’STHESIS从纯教育的角度看,移动学习在教育上被看作是使用任何设备,在任何时间任何地点进行的学习。从教育和技术有机结合的角度看(Sharples等人的观点),移动学习被定义为:涵盖所有移动设备,如手机、便携电脑及其它数字媒体设备(已产生和未产生的)等支持的学习;以及在一个人和知识都具有移动性的社会中的学习。甚至具备移动型的个性化学习。根据Frohberg的观点,移动学习可以分成自由环境(FreeContext)、正式环境(FormalContext)、数字环境(DigitalContext)、真实环境(PhysicalContext)S1]tE正式环境(InformalContext)五大类。自由环境只要借助相应的技术环境(快速的3G无线网络和专门的移动版学习软件)就可以比较方便的开展学习,只要移动学习平台支持内容分发和支持移动设备访问即可。因而自由环境的移动学习占很大的比例。正式环境占次大的比例。正式环境往往是传统正常学习和移动学习的结合。在这种方式的移动学习中,有严格的教学行为主义支撑,并有比较严格的移动学习过程控制,支持移动方式的协作、交流、反馈和评价。很显然自由环境下的移动学习系统进行改造后可以变成正式环境下的移动学习系统。数字环境和虚拟现实环境的移动学习对移动学习模式提出了更为复杂的理论模式和技术条件要求,这两种方式的移动学习环境需要多技术学科的复杂技术的整合应用。这两种方式的移动学习显然具备较高的前沿性(特别是虚拟现实环境的移动学习),目前的技术背景下较难实施,不过非常值得大家持续关注和研究。本文研究并实现的基于Android的移动学习系统是一个自由环境的移动学习系统,对于严格的教学和学习过程控制较少,可以较为宽松的被学习者所使用。同时,此系统可以针对正式环境下的环境需求进行改造,增加相应的模块支持,使之成为一个正式环境支撑下的移动学习系统。2.2技术基础2.2.1支撑移动学习的硬件、网络环境移动学习是当前快速发展和知识型社会背景下,能提供学习者广泛学习的一种有效手段。移动学习概念性发展已经有很多年,但是一直受技术条件的限制而实际发展缓慢。在当前移动计算软硬件技术、移动互联网技术高速发展下的大背6 ⑨硕士学位论文MASTER’STHESIS景下,移动学习已经逐步可以得到有效的实施。随着智能手机、平板电脑、MID等性能优异、价格便宜的移动计算设备的出现,使得移动学习终端部署的问题得到解决。根据艾媒市场咨询发布的((2010-2011年度中国手机市场发展状况研究报告》,2010年第一季度全球智能手机占手机总销量的比重为17.3%,高于上年同期的13.6%,出货量达到5400万部,相比去年同期的3590万部增长达到50%,2010年第二季度,全球智能手机销量约占整个手机出货量的19%,第三季度全球智能手机出货量达到8090万部,同比增长了95%。2010年全球智能手机全年出货量超过3.2亿部。2010年中国国内智能手机出货量增长到3000万部。2010年中国内地3G手机销量将超过3500万部。2010年上半年,各大智能手机厂商均得益于全球移动互联网的蓬勃发展环境,对于智能手机需求刺激增强。此外,由于Android即将大规模列装各大新老牌手机,因此全球智能手机价格进一步下调,刺激了消费者的购买欲望。数据显示2010年苹果、诺基亚、HTC、摩托罗拉等智能手机厂商均保持了高速增长。应用Android的智能系统的其他手机厂商也保持了39.50%的高速增长。随着Android系统的广泛使用,在全球市场(包括中国市场),Android系列的性能优秀而又价格低廉的手机大规模涌现。除了智能手机的大规模应用外,更加适合移动学习的平板电脑也发展迅速。2010年以iPad为象征的旗舰级平板电脑出现,标志着平板电脑迅速发展时期的到来。2011年1月,第44届国际消费电子产品产(CES2011)上,一批优秀的平板电脑涌现,特别是Android系列平板电脑。摩托罗拉、华硕、戴尔、华为、中兴等主流IT厂商均推出一系列硬件一流的平板电脑,技术参数均满足1G主频的ARM处理器和512RAM运行内存,特别是其中采用NVIDIATegra2架构的Android平板电脑,均可达到比IPAD更优异的性能(可以直接支持Flash10),而提供很便宜的价格。特别是一系列国内厂商的Android平板,价格均达1000元以下。不仅移动学习终端的大规模部署即将到来。支撑移动网络学习的重要基础设施也得到了大规模的发展。随着2009年工业与信息化部正式颁发3G牌照,中国移动(TD.SCDMA)、中国联通(WCDMA)、中国电信(CDMA2000)三种制式的3G网络大规模部署,3G移动互联网用户广泛发展。截止2010年末,中国三大运营商3G用户总数达4000万。同时4G技术发展迅速,2010年12月底,工业和信息化部正式批复同意TD—LTE规模试验总体方案,中国移动将在上海、杭州、南京、广州、深圳、厦门6个城市组织开展TD.LTE规模技术试验。随着3G7 ⑨硕士学位论文MASTER’STHESIS网络的更加成熟稳定和高速4G网络的部署,移动学习所依赖的移动互联网支撑环境更加可靠完善。在智能移动终端上,随着应用软件的越来越丰富,可以方便在快速的移动互联网上联机获取学习资源、联机交互,实现随时随地的流动性学习。移动终端上使用的操作系统如iOS、Android、WindowPhone7等均具备方便操作、易于访问网络资源、自动软件部署等等优良特性,同时支持多媒体功能,通过自带的移动浏览器可以方便在移动环境下访问互联网网页,尤其是支持桌面电脑可以访问的各种WWW资源,使得早期移动学习下需要针对手机重新设计资源的弊端得以克服。特别是开源免费的Android操作系统,在2.2版本已开始支持原生Flash,使得在各大使用Android的终端(无论是智能手机还是平板电脑)上,能直接访问flash视频,这使得Android终端具备完全和桌面电脑一样的访问各种学习资源、尤其是学习视频的能力。同时随着HTML5技术的发展,iOS、Android均支持HTML5方式发布的视频,这样即使不支持Flash的设备借助HTML5也能访问各种原有格式的视频,目前随着iPad的流行,很多视频系统针对支持HTML5的设备开发资源平台使得其可以方便访问。随着GPS技术的发展,各种位置服务(LBS)功能也广泛在各大移动终端使用。即使没有GPS芯片的设备,借助可联网的谷歌位置服务等,也能方便的定位学习者的位置。LBS的引入,可以有效的帮助基于时段的移动学习活动的开展评价。2.2.2支撑移动学习的软件环境2.2.1.1智能手机开发平台分析目前全球智能手机系统比较复杂,占据市场份额较大的主要是iOS、Android、WindowsMobile、Symbian、BlackBerry。iOS是Apple公司iPhone手机使用的操作系统,iOS是性能优秀、用户体验极佳的智能手机操作系统,其诸多优秀设计直接被其它竞争对手所模仿。Android是Google公司推出的开源的智能手机系统,是目前iOS的重要竞争对手。WindowsMobile是微软的智能手机操作系统,由于微软的公司策略导致其发展缓慢。Symbian是Nokia的手机系统,其中$60是目前使用较多的版本。BlackBerry是加拿大刚M公司的智能手机操作系统。iOS由于优良的架构设计和用户体验、网络性能,借助优秀的iPhone硬件占据全球很大的智能手机操作系统份额。而且iOS在Apple的大力研发下性能不断8 ⑨硕士学位论文MASTER’STHESIS提高。Android是Google推出的iOS的强大对手,Android借助Google强大的研发实力和开放特性发展迅速,是目前非常重要的智能手机系统平台。WindowsMobile是Microsoft的智能手机系统,由于该系统直接继承了Windows很多特性,而这些特性并不适合手机,导致其无法同iOS和Android展开有力的竞争。Microsoft已经放弃了WindowsMobile(最高版本是6.5)系列的研发了,转而研发全新架构的WindowsPhone7。微软2010年10月才发布WindowPhone7,且WindowPhone7需要较高的硬件配置。很显然WindowsPhone7智能手机跟iPhone手机和Android高端智能手机相比,有一定程度的竞争压力。目前微软的WindOWSMobile、WindowsPhone平台发展前景尚不太明朗。Nokia借助传统手机的优势,在中国大陆占据最大的手机市场份额,但$60系智能手机份额优势并不明显。$60系列智能系统,由于架构落后、用户体验、网络性能均和新兴平台iOS、Android无法企及,渐渐已失去优势地位(在欧洲、北美市场已经跌至非常低的市场份额,只是在发展中国家比如中国尚保持一定的地位)。Nokia在智能手机的巨大竞争压力下,已经逐步放弃对$60系列的改造计划,先是2010年和Intel联合尝试推出Meego操作系统,接着在2011年2月又宣布和Microsoft合作使用WindowPhone7。由于Nokia在新的系统战略上摇摆不定,使得Meego系统发展异常艰难,未来甚至有停止Meego项目的可能。BlackBerry是在北美市场比较流行的智能手机,随着RIM的一系列企业移动方案(比如PushMail)部署很多公司的移动应用方案中。然而由于BlackBerry在整体上跟iOS、Android相比颇有劣势,比如用户体验、网络功能等,BlackBerry也面临着iOS、Android的强大压力。由于用户习惯和国内移动运营商的支持力度不够,使得BlackBerry在中国大陆发展缓慢。图2.1、2.2、2.3分别给出了StatCounter统计的智能手机操作系统在北美、欧洲、中国的市场份额和发展趋势(从2010年2月至2011年2月)[101。9 60%咯starCount@r6垂o|潞l5;tatst雌矗H曲●k£掳毒mNoeth^m横r,f●fromwebl0簟曩IFebll。自铂\\;:=;s,;—”~~~。。。.:;。‰;~~,——~\w—、~⋯,一一——。,一。玲2《嚣,矿/j-,/////∥∥//∥≯霉毒每p≯霉≯秽譬≯。S0≈0一一⋯⋯一⋯⋯⋯⋯图2.1智能手机操作系统在北美发展趋势5;tatCounterCAobalSt越§l雌8陬出●k%_m警q帅髀irom}西10to}曲ll《”《卜《》确‰丫一~~一~~。、。。。~一,一j~!:。§磊‰i48≈12《≮0%≯,///≯,///∥,//。,矿'矿少矿≯矿∥矿驴图2.2智能手机操作系统在欧洲发展趋势lO《_咖办伽,p伽锄鬟i々t},《,¨≈::,(%;,《#%%管h拖臂p《每e☆.j^.《,辱r毓尊;^49囊 ⑨硕士学位论文MASTER’ST/4ESIS5;tatCounter6Io/》alStatsT‘堙I矗MollieoS’l拜t如nalP口#躺l-ebl嚣ta争-由ll,,。,,,..∥芦,芦.,≯罐≯审每p≯孝≯妒审≯图2.3智能手机操作系统在中国发展趋势由以上发展趋势分析,在北美和欧洲市场,Android发展很快,这两个区域主要是iOS、Android、BlackBerry占主要市场份额。在中国,由于智能手机发展方兴未艾,智能手机所占市场份额较低。然而可以看出,Nokia的Symbian下降趋势颇为明显,iOS和Android逐步增长。值得注意的是,占据市场份额第二发展趋势的是未知数据。这部分未知数据推测是山寨手机,随着Android的发展迅速。山寨手机很大一部分已经(从MTK)走向Android。可以分析,中国市场的Android会有很大的发展,特别是国内行货Android智能手机的迅速普及。因WindowsPhone发布才不到几个月,上述数据基本未反映WindowsPhone的相关数据。由于Microsoft在移动领域的巨大投入,特别是Microsoft已正式和Nokia正式合作,WindowsPhone系列智能操作系统未来会有一定发展优势。综上所述,可以预测在全球(特别是中国)智能手机主流系统平台的竞争中,将是iOS、Android、WindowsPhone7三分天下的局面。其它平台的系统可能由于被孤岛化,明显存在发展艰难甚至消失的趋势。iOS平台的软件开发主要使用Objective.C语言在MAC计算机上进行开发,Apple在其MAC电脑和移动设备上保持了一定的一致性,如统一使用Apple上的Xcode(开发基础平台)和InterfaceBuilder(负责MAC可视化图形设计)开发工具。熟悉MAC开发的开发人员可以很方便的进行iOS上的移动开发。对于其它平台的开发人员而言,则存在一 ⑨硕士学位论文MASTER’STHESIS定程度的学习曲线。比如Objective.C语言(MAC平台上的一种类C++语言)甚至对于CH开发人员而言,尚存在较长时间的适应性。尽管iOS开发难度较大,由于Apple平台良好发展前景的吸引,国内的iOS开发人员越来越多。Android平台主要支持使用J越,A语言进行应用开发,同时支持NDK模式下的C、C++开发(支持JA、,A通过JNI调用)。虽然Android里JA、,A程序是运行在Dalvik虚拟机下,但对于J越,A开发人员而言,在源代码角度跟标准的JAVA开发是一致的,广大的JAVA开发人员可以平滑的过渡至Android移动平台。Android移动开发直接使用Eclipse集成开发环境安装ADT工具进行,因而开发人员可以方便的在Windows、MAC、Linux桌面计算机中进行Android开发。WindowsPhone则只能在Windows下使用.NET系列语言在XNA框架下开发。Microsoft提供的VisualStudio工具提供了性能优良、支持可视化的移动开发支持,方便Willdows平台开发者迅速上手Windows移动开发,并提供了完善的移动开发、调试、模拟器测试。表2.1给出iOS、Android、WindowsPhone7开发平台的具体参数比较。表2.1iOS、Android、WindowsPhone7开发平台比较劢矿\跫iOSAndroidWindowsPhone开发平台MACOSXWindows、MACOSX、WindowsLinux封闭性封闭开放封闭开发语言Objective—Cj划久C{f≠CC++CC++(ⅢI调用)C++.netVB.net开发工具XcodeEclipse(ADT)VisualStudioInterfaceBuilder可视化开发支持暂未支持支持模拟器优良开发难度同中低学习曲线古中同2.2.1.2Android架构分析Android是Google在2007年推出的移动操作系统,可以广泛支持智能手机、平板电脑等移动设备。Android系统基于Linux平台和Java平台而成。该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开12 图2.4Android系统架构Android基于Linux2.6的Kemel提供核心系统服务,如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统~的服务。AndroidRuntime(Android运行时环境)由核心库和Dalvik虚拟机组成。Android提供的核心库集合,支持了大部分标准版Java核心类库中可用的功能。每一个Android应用程序都是Dalvik虚拟机中的一个实例,运行在它们自己的进程中。Dalvik虚拟机是一个改进设计的Java虚拟机,在一个物理设备可以高效地 ⑨硕士学位论文MASTER’STHESIS运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的~种压缩格式,适合内存和处理器速度有限的系统(如手机系统、平板电脑等)。Android包含一个C/C++库的集合,供Android系统的各个组件使用。Android核心C/C++库提供了核心系统库、多媒体库(基于PacketVideo的OpenCORE支持多媒体数据)、界面管理(多个应用程序的二维和三维图形层)、LibWebCore(Webkit浏览器和内嵌的WEB视图)、SGL(2D图形引擎)、3D库(基于OpenGLES1.0API的实现)、FreeType(位图和矢量字体渲染)、SQLite(嵌入式的数据库引擎)。开发人员可以方便使用Android核心库提供的API,简化很多重要基础的开发,且保证性能的优异。整个应用程序框架使得开发人员方便的重用组件,而且方便自定义组合优化。Android的应用程序提供了如视图(View)、内容提供者(ContentProviders)、资源管理器(ResourceManager)、通知管理器(NotificationManager)、活动管理器(ActivityManager)等一系列服务调用。Android是一个完全开放的平台,Android允许开发人员自由开发各种性能优异、完美支持移动互联网的应用程序。开发人员开发的各种程序可以借助发展迅速的ARM处理器和GPU实现3D加速,使用GPS技术实现位置服务(LPS),并且提供完美的用户体验。2.2.1.3Android移动学习软件优势分析Android作为一个优秀的开源移动设备操作系统,对于重要的WWW技术HTML5有良好的支持。HTML5是万维网诞生以来WEB开发标准的最大飞跃。HTML5不再只是表现简单的文本、图像等WEB内容,HTML5将视音频、动画、图像以及交互彻底标准化,直接使用HTML5标签即可表现这些内容,而无需旧版本HTML里的各种标准不一、版本不一、兼容性差的插件。HTML5规范实现了内容和现实的分离,使得网页开发人员可以更加语义地创建文档。HTML5引入微数据标签,使得更好的支持搜索引擎和移动设备。HTML5提供了全新的表单特性,提供丰富的控件及其表单校验。HTML5设计了专用的WebSocket技术。HTML5WebSocket使得WEB的单一Socket能提供一个全双工通信信道,HTML5WebSocket不只是对普通HTTP通信的增强,特别针对实时的、事件驱动的Web应用程序有着巨大的性能改善。HTML5WebSocket能极大程度的减少旧版HTTP的传输开销,不仅降低服务器14 ⑨硕士学位论文MASTER’STHESIS的内存消耗,同时还提高了HTTP的数据传输速度。HTML5技术极大增强了文件处理能力,HTML5FileAPI改善基于浏览器的Web应用程序处理文件上传的方式,支持方便的在浏览器文件直接拖放上传。HTML5FileAPI为开发人员提供了~个关联上传数据,提高易用的方式显示上传进度和其他信息。HTML5首次在HTML直接提供视音频标签和。和使得浏览器能够以一种更易用的方式来处理音频及视频文件。HTML5视音频标签方便的设置视频来源、缓冲状态、指定编码器,提供有效的API实现视频的交互。HTML5视音频标签使得WEB上的视频资源以一种更轻量级的方式被发布,不要需要依赖FlashPlayer播放器或其它第三方控件来支持视频播放。HTML5视音频使得设备可以方便的调用本地解码器实现视频解码。目前HTML5在Android上已经广泛支持,Android内置浏览器本身支持HTML5。HTML5在iPhone和iPad上也得到广泛的支持。Android本身是支持Flash的,且支持基于硬件加速的Flash,加上对HTML5视频的支持,使得Android设备可以覆盖目前所有的互联网视频,而无需针对移动设备重新设计这些视频资源。由于Android平台的优势,可以预见未来有相当比例的移动设备是基于此平台。Android平台的优势使得有大量的软件出现在此平台上。Android开发移动学习软件的优势:开放的平台使得开发软件的成本较低,这对于学习软件开发极具优势。因为很多学习软件具有公益性,如果和商业平台绑定会提高其部署成本。1)开源的平台会吸引各种机构参与进来,使得移动学习软件开发不再依赖某些封闭的硬件和软件,可以涌现出更多的组件库、工具帮助软件开发。2)基于开源平台的开发出通用软件可以更方便的通过手机平台开发教学资源。3)借助Android的widget可以方便的整合现有的互联网学习资源。可以很方便的借助HTML和.js脚本等开发widget程序整合已有资源。4)Android的互联网优势,可以充分利用服务器端的云计算资源来展开学习过程和实施评价。5)Android的开放性使得可以方便的在手机上运行Flash等各种多媒体技术的移动版和完整版,开发出性能优良、交互性良好的手机桌面程序。61Android可移动性和易用性可以实施随时随地的易用学习,并且弥补了桌面计算平台的不足。 2.3本章小结本章从移动学习理论和技术基础上探讨了移动学习系统的理论和技术背景。首先简述了移动学习的概念、理论支撑及应用环境,并说明本文研究实现的Android移动学习系统是一个自由环境模式的移动学习系统。本章然后分析对比了目前主流的移动开发平台及其发展趋势,总结分析了Android平台相比iOS、WindowsMobile的优势(特别是适合国内情况的可行性)。接着介绍Anroid技术架构和重要技术参数,最后对Android移动学习软件的可用性优势进行了分析。16 3Android移动学习系统关键问题的研究3.1手机WEB网页自适应显示研究Android智能手机作为重要的智能终端,其浏览器支持正常的HTML代码渲染和显示。针对Android终端则无需像普通手机那样提供WAP的支持,服务器分发的网页全部基于WWW实现。如何自适应显示(基于HTML的)WEB网页,一直是智能手机WEB处理的一个重要课题。目前主流的处理方法均通过客户端浏览器二次处理重新渲染显示。如UCWEB浏览器,UCWEB浏览器会按照某种机制将网页元素实现一栏重排。OperaMiIli则采取另一种方式,Opera采用OperaTrubo服务器中间化处理,将HTML网页压缩成缩略图,客户端访问网页时实际是缓存里的缩略图,然后通过放大拖动来实现查看网页某部分的内容。UCWEB和OperaMini是在普通手机上实现网页自适应显示的较好的方式。但是这两种方式均有明显的弱点。它们这种通过中间代理压缩网页的方式,实际上改变了网页的内容和功能,比如JavaScript和验证码等均已失效,使用这些机制的网页则无法访问。在进行客户端实现网页(比如UCWEB)重排时,由于无法分析网页元素的不同优先级,往往重排后的网页由于局部乱序而导致阅读困难。Android智能手机具备较好的处理能力和网络性能,这时已经不再需要通过中间代理服务器压缩网页。而可以考虑在服务器采取措施,让网页针对智能手机实现自定义匹配显示。在针对桌面计算机的浏览器设计网页时,标准化网页设计通常采用CSS来定义网页的显示样式。同样针对智能手机(或其它移动设备)设计标准化网页时,也应当使用CSS来实现移动版HTML网页的样式。当所设计的网页要同时兼容桌面计算机的浏览器和分辨率复杂(QVGA、VGA、HVGA、WvGA)的智能手机(或其它移动设备)时,必须提供一个兼容的CSS解决方案。如尽量采用标准的CSS属性,而避免使用某些特殊的CSS指令(特别是IE浏览器自定义实现的一些CSS属性)。使用同一个CSS文件,即使CSS样式属性均能被桌面浏览器和智能手机浏览器兼容执行,但是由于CSS里经常不可避免的涉及到网页容器、元素(如DIV)的具体尺寸、大小等,因桌面版网页由于分辨率很大而智能手机的分辨率则相对较小,所以在无法使用相对尺寸(如按比例制定尺寸)的情况下, ⑨硕士学位论文MASTER’STHESIS必然还是会存在网页兼容性问题,导致某些内容无法正常显示。为了解决在各种分辨率的网页自适应问题,可以预先按照各种不同的网页分辨率设置其CSS描述文件,然后在客户端浏览器加载网页时进行自动匹配。这时可以通过JavaScript脚本程序来实现判断,并实现自动匹配。一种匹配方式时根据浏览器的User-Agent来匹配,各种浏览器(无论是桌面版浏览器还是手机版浏览器)在发出HTTP请求时会声明其User-Agent,这时可以根据User-Agem进行基本判断匹配桌面版CSS和移动版CSS。当判断是移动版浏览器后,可以再根据不同的手机分辨率进行匹配,这样就基本实现网页样式的自动适配。根据User-Agent匹配网页CSS显示时,由于浏览器厂家、版本众多,要采用一个合适有效地方式判断浏览器引擎。表3.1列出主要浏览器(含移动版浏览器)的User-Agent。表3.1常见浏览器User-Agent举例浏览器User-AgemAndroid浏览器Mozilla/5.0(Linux;U;Android2.1-update1;zh—cn)AppleWebKit/530.17(KHTML,likeGecko)Version/4.0MobileSa陆i/530.17OperaM“浏览器Opera/9.80(OperaMini/5.1.21561/24.741;U;zh)Presto/2.5.25Version/10.54UCWEBUCWEB7.O.2.37/28/999MSIE8Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.O)MSIE7Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.2)MSIE6Mozilla/4.0(compatible;MSIE6.O:WindowsNT5.1)Firefox3Mozilla/5.0(Windows;U;WindowsNT5.2)Gecko/2008070208Firefox/3.0.1针对版本各异的浏览器User-Agent,可以采取正则表达式来进行匹配,如使用正则表达式/msie([Xd.】+)/)来匹配IE浏览器,根据不同的浏览器的User-Agent关键字设计其相应的正则表达式,JavaScript根据相应的正则表达式匹配后,调用相应的CSS格式化网页,也可以进一步根据手机分辨率进行进一步进行匹配,使得网页显示更加符合相应的设备。可以编写JavaScript程序根据screen.width和screen.height属性判断设备的分辨率,从而根据获取到的准确分辨率匹配更合适13 ⑨硕士学位论文MASTER’STHESIS的CSS文件显示网页。图3.1是这个匹配过程的流程图。图3.1网页CSS匹配流程图CSS3针对移动版网页设计提供新的特性MediaQueries,合理的使用MediaQueries可以方便的实现网页针对智能手机自适应排版。使用MediaQueries可以获取移动设备(智能手机的)浏览器窗口的宽和高、设备的宽和高、设备的手持方向(横向、竖向、重力感应自适应方向)、分辨率。在采用MediaQueries获取手机终端的设备信息后,就可以设计其采用MediaQueries的移动版CSS。移动版CSS针对各种手机分辨率(QVGA、VGA、HVGA、WVGA)设计相应的移动版CSS。如使用@mediaonlyscreenand(max.device.width:240px),就可指定320*240(QVGA)分辨率的CSS。当匹配程序发现客户端是手机时,可以根据MediaQueries设定的分辨率模式调用此分辨率适用的CSS。一般标准化网页设计时采用CSS精确布局并合理分栏,如图3.2所示的桌面版网页中,网页内容中采用上、中、下三栏布局,中间部分又左、右分两栏,且该网页分辨率较大为1024*768,网页的字体也稍大。这种针对桌面版网页的复杂19 布局显然对手机是不合适的,这时需要对其进行CSS调整,让网页从复杂的分栏布局变成一栏布局,各个网页DIV的尺寸、内容的字体能适应手机显示。该网页用MediaQueries进行了移动版CSS3设计,在QVGA(240幸320)分辨率的手机上自动重新布局后显示的效果如图3.3所示。图3.2桌面版复杂分栏网页图3.3MediaQueries实现手机网页重排20 ⑧\:/硕士学位论文MASTER’STHESIS3.2适合手机的在线视频分发方法传统流媒体服务器一般采用MMS、RSTP、RTMP等方式发布流媒体视频,传统的流媒体服务器可以直接处理普通的视频文件,在用户访问时,流媒体服务器将其转化成多媒体流,这个转换工作需要消耗服务器本身很大的资源。所以在部署传统流媒体服务器时,既要投入昂贵的硬件服务器成本,还要购买专业的流媒体服务器软件,如微软的WindowsMediaServer和RealNetworks的HelixMediaServer等。传统流媒体服务因为其联机播放特性,使得服务器开销巨大,因而其服务器支撑能力有局限性。使用传统流媒体服务技术实现视频分发,往往需要购置硬件参数极高的服务器,还要借助多服务器集群来实现比较高的用户数支撑,且无法支持P2P技术。而目前比较主流的视频网站则采用HTTP方式的轻量级流媒体分发技术,大体的思路是将前期将视频处理时在METADATA中添加帧参数等将其流化处理,同时将视频分段,然后通过轻量级的HTTP方式分发。HTTP方式将小段的视频迅速分发到客户端后,客户端就不再消耗服务器的资源。HTTP的方式另一个好处时可以更轻量级的实现负载均衡,而且可以方便的实现P2P(可以方便的开发相应的P2P客户端更快速的分享视频)。著名的视频分享网站如YouTube、土豆、酷6、优酷等均采取类似的轻量级HTTP流媒体分发技术。在流媒体文件格式上,针对移动设备主要采用MP4和FLV格式封装。虽然HTML5和FLV视频播放技术均支持广泛的格式,但针对的客户端是Android时,考虑到目前Android手机的覆盖面,绝大多数的手机(特别是Android手机)均支持MP4,中高档的Android手机则可以支持FLV,因而流媒体视频使用上述两种格式。流媒体视频分发到Android终端后,由于Android终端对于HTML5和FLV的支持情况各异(Android手机均支持HTML5,中高档Android手机则还支持Flash),因而必须提供一个自适应的终端手机播放器,默认方式采用HTML5播放,也可切换至Flash播放FLV视频。图3.4给出了设计能适合Android高、中、低档智能手机播放视频的原理图。2I ⑨硕士学位论文MASTER’STHESIS图3.4适合高、中、低档Android手机视频播放原理3.3移动学习系统单点登录技术研究单点登录(SingleSign-On,简写SSO)是简化应用系统登录、授权的一个有效措施,针对智能手机应用合理采用SSO可以提供软件使用的便捷性。特别是随着开放授权技术(OAuth)的广泛应用,互联网应用开发可以方便整合业界已有的重要的身份认证系统,使得这些系统的账号可以直接登录使用软件。例如,某个互联网应用采用GoogleDataAPI的OAuth服务认证SDK,具有 ⑨硕士学位论文MASTER’STHESISGoogle账号的用户可以方便对系统服务器端作为第三方实现授权,从而实现单点登录运行该应用软件。采用GoogleOAuth服务认证程序的重要优势在于可以方便服务器端和客户端对于Google应用的调用,方便集成Google位置服务(利用Google云计算服务)来完善系统功能。目前国内的重要互联网厂商如腾讯、新浪、网易均推出其开放平台的OAuth服务。如整合他们的OAuth服务,就可以直接使用这些平台的账号(如腾讯QQ账号、新浪微博账号)登录系统,在分发应用软件时,可以更加方便的实现用户登录访问。OAuth是开放授权技术的英文缩写,OAuth为跨应用授权提供了一个可靠、安全而又易用的技术标准。OAuth允许第三方应用程序通过统一身份认证程序获取授权,而无须用户二次登录系统。第三方的应用无论是C/S模式还是B/S均可通过OAuth获得授权身份。OAuth的特点在于,不是直接通过共享账号的用户名和密码来获得身份,而是通过一个身份认证令牌来传递身份信息(授权),使得用户账号授权在不同应用间传递既可靠又安全。OAuth在各大互联网公司得到广泛的应用,如Digg、Jaiku、Flickr、Ma.gnolia、Plaxo、Pownce、Twitter、Google、Yahoo、新浪、腾讯、网易等。OAuth在业界有广泛的应用,OAUTH针对Java、Coldfusion、C拌、Objective.C、Perl、Php、Python、Ruby均有对应的语言开发包SDK实现。OAuth认证授权的过程如下:1)用户通过C/S或B/S模式请求第三方应用。2)第三方应用向认证服务程序请求临时令牌。3)认证服务程序验证第三方应用的身份后,授予一个临时令牌。4)第三方应用获得临时令牌后,将用户转至认证服务程序的授权界面请求用户授权,同时将临时令牌和第三方应用的回调连接发送给认证服务程序。5)认证服务程序验证用户身份成功后,然后授权第三方应用所请求的资源。6)授权成功后,认证服务程序将用户转至第三方应用的身份认证界面。7)第三方应用根据临时令牌从认证服务程序获取访问令牌。8)第三方应用根据访问令牌访问相应的权限或相应资源。OAuth规范要求,Java认证Portal的认证服务程序需实现以下基本功能:1)实现规范要求的三个Serviceendpoints,即:提供用于获取未授权的RequestToken服务地址、获取用户授权的RequestToken服务地址、以及使用授权的RequestToken换取AccessToken的服务地址。 ⑥硕士学位论文MASTER’STHESIS2)提供类似表单的用户账号认证,以便于用户能登录认证服务程序做出授权。3)提供授权的方便管理,如支持用户在任何时候撤销已经做出的授权。对于第三方应用而言,需要如下的基本功能:1)从认证服务程序获取CustomerKey/CustomerSecret。2)提供与认证服务程序之间基于HTTP的通信机制,以换取相关的令牌。3.4本章小结本章对Android移动学习系统的几个关键问题进行了研究。首先探讨了手机WEB网页的特征、及由此研究如何设计可自适应匹配的移动版网页。然后讨论如何针对Android智能手机设计可切换的灵活方式的视频分发方法。接着针对如何简化Android移动学习软件的使用,研究提出了单点登录技术的应用。 4Android移动学习系统架构设计4.1Android移动学习系统总体设计本系统总体架构设计如图4.1所示,系统支持基于Android的移动终端通过无线网络联网进行在线移动学习。系统支持C/S+B/S模式部署应用。图4.1Android移动学习平台架构图数据库暇务器服务器端的应用程序支持Android的移动终端智能手机、平板电脑的访问。在客户端的部署上,智能手机由Android程序(包含Webkit核心)运行,平板电脑则可以直接基于完善的Webkit浏览器运行。移动学习的内容资源(超文本、图像、流媒体)完全由服务器端进行分发。客户端向服务器端请求后,首先必须经过OAuth的门户程序(Portal)的认证授权。之所以采用OAuth模块实现门户程序的用户身份验证、权限授权,是因为OAuth技术是一个重要的单点登录框架(SSO),可以方便在C/S和B/S模式间漫游身份权限和共享身份数据。客户端访问OAuth认证Portal程序后,由服务器后端程序根据客户端请求分发到相应的后端资源服务器,访问基于WEB内容的课程资源则转发到WWW服务器上,访问在线视频资源时则转发到流媒体服务器上。服务器端程序由J2EE框架设计,部署在Apachetomcat容器上运行,服务器25 ⑧\:/硕士学位论文MASTER’STHESIS端程序完全遵循MVC模式开发,OAuth认证Portal是由Servlet控制器基于OAuthforJava工具包开发而成,请求后的视图资源根据资源格式分别由JSP、XML或流媒体而分发给客户端,OAuth认证Portal控制器还要提供支持AndroidClient访问服务器所需的各种WebService调用。本系统总体设计遵循以下基本原则:11Android终端设备的良好兼容性。移动学习软件能在不同显示分辨率(QVGA、VGA、HVGA、WVGA)和不同制式(WCDMA、CDMA2000、TD.SCDMA)的手机、平板电脑上正常运行。视频格式能较好兼容上述Android设备,视频播放技术能覆盖低、中、高端Android手机,如针对所有Android手机提供Android客户端软件的在线视频播放,而对中、高端Android手机还提供基于HTML5和Flash方式的视频播放。2)学习者在不同模式下使用Android移动学习系统的认证便捷性和身份自动漫游。本系统支持学习者通过Android客户端软件和直接使用Android自带浏览器进行移动学习,并采用OAuth技术实现学习者的单点登录、无缝切换。3)Android移动学习系统服务器采用成熟且广泛的技术方法分发学习资源和视频,且服务器端具有较好的并发性能和稳定性。系统服务器采用业界广泛使用的企业级技术J2EE实现,支持学习资源的便捷动态发布。视频分发则选择轻量级的HTTP的Nginx流媒体技术实现,而避免采用传统的性能低下的重量级联机流媒体服务器(如WindOWSMediaServer和HelixMediaServer)。4.2Android移动学习系统功能设计Android移动学习系统采取模块化方式设计。用户使用客户端通过C/S或B/S方式登录系统,借助Portal实现单点登录和身份漫游。身份认证登录系统后,分别调用各个子模块的相关功能进行相关操作,实现获取资源进行移动学习。1)OAuth模块基本功能:OAuth作为系统的身份认证和授权模块,提供系统账号、权限数据管理。支持C/S+B/S模式访问本模块。2)Android移动学习系统服务器端设计:WEB服务器发布所有支持Android智能手机的访问的移动版动态网页,支持动态网页的维护管理(添加、修改、删除)。同时提供轻量级流媒体服务。支持视频的上传管理、视频信息的维护(URL、分类、格式等)、视频服务器的视频转 ⑧\::/硕士学位论文MASTER’STHESIS码支持、流媒体处理支持。3)Android移动学习系统客户端设计:客户端提供用户登录认证、授权功能。登录成功后,客户端主界面提供功能导航,支持在线WEB版学习资源访问、在线学习视频播放和联机交流功能。4.2.1OAuth认证Portal设计OAuth认证Portal程序由J2EE的Servlet(CallPortal)实现,负责处理用户提交的H丌PRequest请求,根据用户的请求,CallPortal封装自身的CustomerKey/CustomerSecret向认证服务供应商(GoogleAccountAPI)发起临时令牌申请。GoogleAccountAPI根据临时令牌并让用户认证授权后,发放访问令牌,实现授权登录。Portal程序Servlet(CallPortal)同时还应设计一个可以访问另两个模块的接口(MobileServiceInterface),通过此接口的两个实现类MobileWebServicelmp和MobileVideoServiceimp提供认证授权后用户正常登录后的相应功能模块访问。OAuth认证模块的结构如图4.2所示。夭镩图4.20Auth认证模块结构图4.2.2Android移动学习系统服务器端设计4.2.2.1服务器端架构设计Android移动学习服务器主要负责移动学习系统的服务器端资源发布。本模块采用J2EE技术开发,并利用MVC模式(模型.视图.控制器模式)实现。本模块负责课程网页资源的录入、修改、删除等管理功能。可以自定义资源的分类、发布、管理不同分类的资源。文本、图片则支持图文混排的模式录入数据库,视频、音频、PDF、PPT、DOC格式的资源则提供上传管理功能(并将相关的信息273(巫 ⑥硕士学位论文MASTER’STHESIS录入数据库,如文件下载路径)。用户请求WWW服务器提供WEB网页时,负责处理用户请求的Servlet根据请求参数调用相关的数据访问组件DAO,从数据库直接取得网页数据或文件信息(如PDF、PPT、DOC的下载路径等),生成动态网页返回给用户客户端。在此过程,处理程序关键一步是:调用移动版网页模板生成适合Android手机显示的规范XHTML格式的Mobile手机端动态网页。移动版WWW服务器架构如图4.3所示。IHTTP控镯J器i》L。。。堡!型!生。。j太疆移动网页攫板XHTML图4.3移动版w唧服务器架构图服务器端分发的网页流媒体资源,最终还是要请求流媒体服务器获取视频服务。本系统的流媒体服务器使用Nginx服务器(运行在RedHatLinux服务器上)采用HTTP的方式实现轻量级的流媒体视频分发,借助开源的yamdi组件和nginx组件分别实现FLV和的HTTP流分发。客户端请.modh264streamingMP4求视频时,请求到的视频资源通过支持JavaScript的播放器播放HTML5视频或Flv视频(该播放器基于开源的Zencoder公司开发的VideoJS所实现)。Nginx流媒体服务器架构如图4.4所示。夭寺由VideojS组件实现的可切换视频撩.兹程序:图4.4Nginx流媒体服务器架构图28夭惭 ⑨硕士学位论文MASTER’STHESIS4.2.2.2服务器端模块设计本系统服务器端主要由用户登录模块、课程管理模块、资源管理模块、在线交流模块组成,服务器各功能模块图如图4.5所示。露霎霞雪图4.5服务器端功能模块图用户登录模块支持本地用户的管理。负责本地用户账号、个人信息的注册、修改、账号权限管理等。同时负责整合OAuth单点登录方式,能整合OAuth方式的账号授权信息、角色、权限等。课程管理模块支持课程信息的服务器端管理。负责课程分类、章节的管理(添加、修改和删除)。负责基于类别、章节的课程内容管理(添加课程内容、更新课程内容)。同时支持课程的权限管理(支持具有相应权限的角色访问)。课程管理模块还要能整合资源管理模块提供的资源,通过URL路径调用访问实际的学习资源。资源管理模块支持视频、课件等文件资源的管理。视频管理按照分类方式管理视频文件信息(如视频作者、视频格式、视频摘要说明、视频版权信息等)、支持视频的上传下载。课件管理支持按课件分类管理课件信息(如课件作者、课件格式、课件摘要说明、课件版权信息等)。同时资源管理模块提供了所需的接口供课程管理模块进行调用。在线交流模块支持联机交流。支持客户端通过HTTPPOST请求提交问题、29一~一一一一一~一一一~一~ 回复问题。交流模块将问题以列表的方法通过WEB方式呈现、同时支持Android客户端访问该列表。问题和回复既支持WEB方式访问,也支持Android客户端访问。4.2.2.3服务器端类和UML设计服务器端涉及的关键JAVA类为IndexServlet类(控制器类)、ResourceDAO(Resource数据访问对象)、Resource类。控制器IndexServlet根据ResourceDAO提供的数据访问接口方法取得实际的数据,封装数据后,使用DispatcherByMobileTemplate方法封装移动网页模板,并转发相应的移动版WEB视图(JSP网页)。ResourceDAO提供了addResource(Resourceres)、getResource(intsid)、getResourceList0、getResourceListByType(Stringtype)匹t个方法访问数据。addResource方法用来增加资源、getResource方法用来取得资源、getResourceLiSt()用来取得资源集合、getResourceListByl卯e()用来根据资源类型来取得资源集合。具体UML类图设计如图4.6所示。一瑾-pojoloResourceo=id:iraotype:i玳otztle:Strin0ourl:StrinIoconterrt:StrinCopubtilke:T1mestalp谚getSid0:ilrcosetSzd(sid:int)●getType0:intoeetType(type:int)口getTnle0:Strlr喀osetTztle“itle:Strlnl)●ge*Url0:Strxr嚏oeetUrl(url:Strife)●getContent0:StringosetContent(conterrt:String)9getPtime(,:Timeeta“p尊setPtlle(叶i量e:Timestamp)一dao]f)ORe删代:eD^o●getConnection0:ConnectionoaddResouree(ree:Resource)謦getResource(sid:hn,):ResourceogetReeourceLzut0:ArrayListogeJtReeourceLzutByl'ype(type:Strin‘J):^rrayLi墨t专controllez10IndexServlrtodertroy0odoGet(request:HttpServletRequeut,Eesponse:HttpServletReuponee)毒doPoft(request:HttpServletEequeut,response:HttpServletReuponse)oDispatcherBy如bileT唧1甜e(Ielpl砒e:Stri吨,url:String)0iIdt0图4.6移动版wWW服务器UML类图4.2.3Android移动学习系统客户端设计Android客户端软件是学习者直接通过Android设备访问移动学习资源的入30 ⑧\,,硕士学位论文MASTER’STHESIS口。Android客户端程序主要由Android用户登录界面、客户端功能导航主界面、课程访问界面(调用Webkit核心)、联机交流界面、客户端视频播放器组成,其结构如图4.7所示。图4.7Android客户端结构图Android客户端在设计界面布局时采取相对布局的方式,各个界面控件间相对布局能自动适应不同分辨率的终端,不会出现程序在某款终端上因某个控件无法显示而影响用户的使用。Android客户端登录界面提供用户名、密码的账号登录、同时提供OAuth单点登录授权。登录后,主界面提供功能导航。课程资源访问界面通过调用W.eb陆核心访问课程资源的URL,并动态加载更新这些内容,支持交互式访问。联机交流界面可以支持交互式发帖等操作,实现协作交流。Android客户端在线视频播放的基本设计原理是服务器提供由Servlet动态生成的XML视频描述文档、Android程序通过HTTP请求获取到此XML,并显示在ListView,通过点击ListView的相应条目的视频获取其URL地址播放。Android客户端视频播放器执行,先要通过HTTP请求服务器取得上述XML,然后使用Android内置的PULLXML解析器分析XML,取得XML数据,并绑定到Android界面布局中的ListView中,用户点击ListView列表中的某一个视频的标题时,则触发相应的OnltemClickListener的事件,取得该视频的URL,然后调用AndroidMediaPlayer播放器播放视频。 ⑧\/硕士学位论文MASTER’STHESIS4.3本章小结本章对Android移动学习系统进行了系统架构设计。首先给出系统的总体设计,提出总体设计的思路、技术原理和几个基本原则。然后从Android服务器和Android客户端分别给出系统的具体功能设计。Android服务器端功能设计从技术原理、具体模块设计两方面进行了阐述。最后说明了Android客户端的设计原理及具体子模块的设计。32 ⑧\/硕士学位论文MASTER’STHESIS5Android移动学习系统实现5.1Android开发环境配置本系统使用Eclipse集成开发环境基于AndroidSDK进行开发。使用的Java版本为idk.6u16.windows.i586。Eclipse使用版本号为3.6(代号为Helios)的EclipseIDEforJavaEE。服务端测试用的Servlet容器为apache.tomcat.6.0.26。AndroidSDK使用的版本是android.sdkr10.windows。在Eclipse3.6(Helios)上安装AndroidDevelopmentTools(ADT)支持Android的开发。Java需完整安装JDK和JRE,并设置Java环境变量%J趟,AHOME%。Java和Eclipse直接从Oracle.tom和Eclipse.org官方网站下载并安装。AndroidSDK通过从Android官方网站下载SDKManager后,执行该程序完成联机安装SDK。ADT的安装通过Eclipse的SoftwareUpdates功能进行,在SoftwareUpdates界面输入ADT的URL后在线自动安装。配置好的开发环境如图5.1所示。图5.1Android开发环境配置33 5.2OAuth认证Portal实现本系统服务器端身份验证Portal程序是作为第三方应用间接调用的GoogleOAuth认证服务,其主要代码如下://引入oauth.signpost类库及其它标准类库publicclassCallPortalextendsHttpServlet{l|'..protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType(”text/html”);PrintWriterout=response.getWriter0;StringverificationCode=⋯’;try<∥封装本第三方应用程序OAuthConsumerconsumer=newDefaultOAuthConsumer(”rn.wtu.edu.cn”,”8aOSfQ6e9xnfgOeiry4D56”,SignatureMethod.HMAC_SHA1);Stringscope=”http://m.wtu.edu.cn:8080”;//封装Google提供的认证服务程序OAuthProviderprovider=newDefaultOAuthProvider(consumer,”https://www.google.com/accounts/OAuthGetRequestToken?scope2”+URLEncoder.encode(scope,”utf-8”),”https://www.google.com/accounts/OAuthGetAccessToken”,”https://www.google.com/accounts/OAuthAuthorizeToken?hd=default”);//发起临时令牌申请StringauthUrl=provider.retrieveRequestToken(OAuth。OU£oF_BAND);out.println(”请求OAuth授权铂>”);//javascript脚本getverificationCode0提交authUrl//并接收返回的临时令牌的verificationCode34 ⑨硕士学位论文MASTER’STHESIS∥授权正确后,发起访问令牌申请provider.retrieveAccessToken(verificationCode);∥根据授权后取得的权限访问保护资源consumer.sign(request);Stringcallback—url=”http://m.wtu.edu.cn:8080/servlet/IndexServlet?ctl=res”;RequestDispatcherdispatcher=request.getRequestDispatcher(callbackurl);dispatcher.forward(request,response);>catch(Exceptione){∥处理异常⋯>)5.3Android移动学习服务器端实现5.3.IWWW资源服务器程序实现本系统服务器的网页课程资源分发采用MVC模式的JA、後WEB方式实现,文本图像等资源存储在数据库里,用户请求时从数据库获取数据(直接获取文本、HTML等内容,视频、音频则取得其URL),并最终通过JSP动态网页显示所有的内容,部分代码如下所示:try{//实例化课程资源的数据库访问对象ResDAOresdao=newResDA00;//获得资源列表ArrayListreslst=resdao.getResourceList0;//将资源列表设置到作用域request.setAttribute(”RES—LIST”,resist);RequestDispatcherdispatcher=request.getRequestDispatcher(”/res.jsp”);35 //转发到资源显示页面dispatcher.forward(request,response);)catch(Exceptione){//异常处理)5.3.2HTML5视频、Flash视频切换方式代码实现实现HTML5、Flash视频的切换一般使用JavaScript代码在客户端执行检验并自动调用,且支持两种模式的切换。这里借助开源的VideoJS组件,实现可切换的HTML5、Flash视频播放,主要代码如下:】)t胗</object></video></div> ⑨硕士学位论文MASTER’STHESIS5.4Android移动学习客户端实现Android客户端软件是学习者直接通过Android设备访问移动学习资源的入口。Android客户端程序主要由Android用户登录界面、客户端功能导航界面、课程访问界面(调用Webkit核心)、客户端视频播放器组成。Android应用程序一般由应用程序描述文档AndroidManifest.xml,资源文件和JAVA类组成。AndroidManifest.xml描述了应用程序名称、包路径、Activity类声明、intent过滤器、应用程序权限。资源文件全部必须放在应用程序根目录的res目录下,包括应用程序所需的各种图标、图片、属性文件、描述文档等,在res目录下的layout子目录下存放有各个活动程序(Activity)的布局描述文件,这些布局描述文件都是规范的XML文档。本系统Android客户端的AndroidManifest.xml代码如下:</activity></manifest>Android客户端启动后,用户必须正确登录后才可使用软件进行移动学习,登录界面由IndexActivity实现,其布局通过index.xml布局文件描述(该文件位37 于res/layout目录下)。IndexActivity继承自android.app.Activity,并调用index.xml来设置界面布局,并添加相应的响应事件。Android在设计界面布局时应尽量采取相对布局的方式,各个界面控件间相对布局能自动适应不同的分辨率的终端,不会出现程序在某款终端上因某个控件无法显示而影响用户的使用。Android相对布局使用布局标签来实现。Android控件里每个控件均有一个android:id属性来唯一标记这个标记。相对布局的原理就是通过android:id引用某控件(如控件A)从而设置当前控件相对于控件A的位置。如Android程序登录界面的布局xrnl文档描述如下:</RelativeLayout>具体实现界面的JAVA类IndexActivity通过语句setContentView(R.1ayout.index)来调用上述index.xml布局文件来绘制界面。R类是AndroidSDK提供的一个资源管理类,这个类可以被开发人员自行开发的Java类所调用,调用R类的静态方法自动的获取资源或者某个控件,如R.1ayout.index就自动调用了在res/layout目录下的index.xml布局文件,开发人员开发界面时无需自己另行编写XML处理程序去访问XML(比如index.xml)来绘制布局。5.4.1Android实现OAuth授权登录用户执行客户端程序,出现用户登录界面,用户可以选择使用本地账户登录或直接授权。触发IndexActivity的授权登录按钮authBtn触发对应的OnClick“stener接口方法则可进行授权处理,关键代码如下所示:@OverridepublicvoidonCreate(BundlesavedlnstanceState)catch(Exceptione){//处理异常⋯}5.4.2Android实现Webkit访问网页Android程序里提供了WEB访问控件WebView,WebView可以方便的调用Webkit核心来访问网页和执行JavaScript,以下是Android界面中实现WEB访问组件的代码:计算机网络概述</title>http://m.wtu.edu.cn:8080/v/1.mp4</url>41 </item>局域网概览</title>http://m.wtu.edu.cn:8080/v/2.mp4</url>广域网教程</title>一http://m.wtu.edu.cn:8080/v/3.mp4</url>网络应用教程/title>http://m.wtu.edu.cn:8080/v/4.mp4</url></list>Android在线视频播放器是由JAVA类ListEvideoActivity实现的,Android界面布局上显示一个列表ListView,列表的数据是借助AndroidPULL的XML处理工具获得的,ListEvideoActivity将获得到的数据使用重载的android.widget.AdapterView适配器EvideoListAdapter绑定到列表ListView。Android在线视频播放器核心播放类ListEvideoActivity的关键代码则如下:Stringserverxmlurl=”http://m.wtu.edu.cn:8080/v/list.xml”;publicvoidonCreate(BundlesavedlnstanceState){super.onCreate(savedlnstanceState);setContentView(R.1ayout.player);∥取得列表ListViewlistView=(ListView)findViewByld(android.R.id.1ist);//通过getAdapter0设置自定义的适配器this.setListAdapter(getAdapter0);//选择某视频,触发的响应事件listView.setOnltemClickListener(newAdapterView.OnltemClickListener0{publicvoidonltemClick(AdapterView>argO,Viewargl,intar92,longar93){42 Stringurl=vdoUrl[ar92];//获取在线视频的urlUriuri=Uri.parse(url);//使用SurfaceView自定义播放器的外观SurfaceViewsurfaceView=(SurfaceView)findViewByld(R.id.surfaceView);SurfaceHoldersurfaceHolder=surfaceView.getHolderO;surfaceHolder.setFixedSize(100,100);surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);l/g,]建视频播放对象MediaPlayermediaPlayer=newMediaPlayer0;mediaPlayer.setDisplay(surfaceHolder);try{//取得在线视频源mediaPlayer.setDataSource(url);//缓冲视频mediaPlayer.prepare0;//播放视频mediaPlayer.start0;)catch(Exceptione){//异常处理⋯)})∥实际取得自定义适配器privateEvideoListAdaptergetAdapter0{if(this.1istAdapter-----null){try{//适配器获取从XML处理的数据listAdapter=newEvideoListAdapter(this,readXmlElem0);)catch(Exceptione){e.printStackTrace0;43 ⑨硕士学位论文MASTER’STHESIS)>returnlistAdapter;)//从XML处理数据的代码publicListreadXmlElem0throwsException{ListvList=XmlUrlPullService.ReadXmlByPull(serverxml_._url);returnvList;)5.4.4应用与测试本文进行的研究中,具体以《计算机网络》课程移动版为例,提供了课程移动版网页资源、在线交流、学习视频来支撑移动学习,并提供学习日志的记录。《计算机网络》移动版课程提供了本课程的主要内容:计算机网络概论、网络体系结构、物理层、数据链路层、局域网、广域网、网络层、运输层、应用层。本应用测试通过华为C8500手机进行。华为C8500硬件参数如表5.1所示。华为C8500属于中国电信千元入门智能手机。表5.1测试用机华为C8500硬件规格参数CPU高通MSM7625主频528MHz手机制式CDMA2000手机频段CDMA1X800/1900MHzCDMAEVDO800/1900MHz机身内存512MBROM+256MBRAM分辨率320×240像素(QVGA)触摸屏电容屏WIFl支持蓝牙支持重力感应支持GPS支持GPS.ONE视频格式39pMP4本次测试所用的华为C8500手机操作系统版本为Android2.2.1。测试用移动网络环境为Wifi和CDMAEVDO。软件测试通过在测试手机上直接运行软件进 行。测试过程中,本软件能良好运行,并实现各项基本功能。测试结果,通过Android手机同步软件(豌豆荚手机精灵)在PC上实现手机屏幕截图。图5.2显示了软件运行的登录界面。图5.2软件运行的登录界面图5.3显示了软件运行的功能选择界面。图5.3软件运行的功能选择界面45 图5.4显示了软件访问《计算机网络》移动版WEB课程的界面,可以直接浏览某一章节的具体内容。图5.4访问《计算机网络》移动版WEB课程的界面图5.5显示了软件访问《计算机网络》移动版WEB课程的“计算机网络概述,,部分内容的界面(有超文本和图像),点击图像后可以查看大图。熏击锨攘放大观誊凰片r,,,,,,..。——。,_o——————————_——1一图5.5访问超文本和图像,并放大图像图5.6显示了学习视频列表界面,并可以选择某一段视频播放。 图5.7复。图5.8图5.6视频列表界面显示了发表问题参与讨论的界面,支持即时提交参与讨论的问题并回显示问题主题和回复的显示界面。发表问题讨论图5.7发表问题参与讨论的界面47 ⑧\::/硕士学位论文MASTER’STHESIS5.5本章小结图5.8学习交流主题和回复本章对Android移动学习系统进行了具体的实现。依次给出了OAuth认证Portal、Android服务器端和Android客户端的实现细节。结合第四章的设计原理,分别给出各部分的实现思路、技术细节和关键代码。最后介绍本文研究的Android移动学习软件的具体应用测试情况,说明了应用测试的具体环境、终端参数,以及给出详细的应用测试截图。 ⑧\:/硕士学位论文MASTER’STHESIS6.1本文小结6总结与展望本文针对发展迅速的Android平台,研究了如何基于此平台设计移动学习系统。对基于智能手机如何解决HTML网页自适应显示的问题进行了研究,给出了初步解决该问题的方法。针对性能各异的Android智能手机,设计灵活的视频分发方法,使得的视频的分发范围达到较好的覆盖。智能手机软件的易用性设计一直是一个值得探讨的问题,本文对如何采用OAuth技术简化手机软件的使用进行了初步研究。综合以上几点研究,本文对基于Android平台的移动学习系统进行了具体架构设计,并使用Eclipse集成开发环境实现了该移动学习系统,最终在Android手机上测试运行并通过。Android平台尽管发展迅速,但由于其发展较晚,Android尚存在一些不足,从版本差异到系统SDK的完善支持均有待完善。移动学习研究尚处于理论阶段,大规模的实践应用较少。如何设计一个有较好移动学习基础理论支持和具备良好应用性的移动学习系统仍处于探索阶段。6.2研究展望针对未来发展迅速的新型计算环境,移动学习肯定会发挥越来越重要的作用,显然在新型环境下移动学习肯定会有更好更复杂的应用模式。在未来的研究中要努力做好以下几个方向的进一步探索:1)如何基于现有的理论研究基础和移动平台技术发展新背景做出一些更加可行性、更加合理的移动学习应用实践模式。未来的学习者将在移动计算的背景下成长、生活和学习,移动学习新的情境和环境支撑必须依赖新的教育科学的理论基础。2)如何在更加完善的平台上开发应用性强、用户体验良好的移动学习软件?目前的趋势是移动终端(无论是手机还是平板)硬件处理能力增长迅速而设备价格同时不断下降,很多移动设备的实际处理能力将不亚于普通桌面计算机。互联网应用软件平台也在不断巨大变革,如HTML5技术发展迅速,一部分重要49 ,∥f=-、、⑨硕士学位论文MASTER’STHESISHTML5标签(如HTML5视频标签)已经被广泛采用,随着HTML5覆盖的领域越来越广,针对HTML5方式结合可行性模式开发移动版WEB学习资源显然有值得深入探讨的必要。随着3G无线互联网的更加完善和4G高速无线互联网的大规模推进,更高速的无线通信带宽使得目前的网速障碍进一步扫除。在高速无线网络环境下,一些目前看起来分发困难的资源比如视频未来会变得更加容易,未来的流媒体视频部署肯定会产生新的更好的应用模式。如何针对这个重要的变化迅速的计算领域开辟行之有效的移动学习应用模式,需要业界不断展开充分的研究和探索。3)随着云计算的逐渐普及,移动版设备特别是智能手机和平板电脑很有优势直接基于性能强劲的浏览器直接访问云端的资源。随着这种云计算+WEBOS模式的出现,移动学习应用模式和软件开发又会产生新的挑战。如何在目前发展迅速的技术背景下,将相关理论和应用模式合理运用,并使其具备一定的可升级性也是一个值得重点关注的课题。50 ⑨硕士学位论文MASTER’STHESIS参考文献[1]高宏卿,翟炎杰.基于Hadoop的移动学习模型研究[J].中国电化教育,2011,(1).[2]傅健,杨雪.国内移动学习理论研究与实践十年瞰览[J].中国电化教育,2009,(7).[3]刘丙利,王利.国外移动学习项目的介绍与启示——基于Frohberg的移动项目分析框架[J].中国电化教育,2010,(4).[4]李凡,陈琳.移动学习期刊论文内容的分析研究[J].中国远程教育,2010,(12).[5]李浩君,唐杰,邱飞岳,吴亮亮.适应新农村建设需求的移动学习应用模式及影响因素研究[J].中国远程教育,2010,(12).[6]冉敏,余胜泉.小学移动英语学习资源设计[J].中国远程教育,2010,(9).[7]曹超.利用Podcasting技术构建英语听说移动学习模式[J].中国电化教育,2010,(9).[8]党小超,郝占军.基于GSMModem的移动学习平台构建研究[J].电化教育研究,2010,(9).[9]李曼.资产专用性视角下的移动学习:缺陷与改进[J].中国远程教育,2010,(9).[10]http://gs.statcounter.com/#mobileos—wW—monthly一201002—201102[11]庄欣.中小学教师移动学习模式探析[J].教育学术月刊,2010,(9).[12]徐恺英,刘晓辉,赵旭,徐瑶.基于移动学习的手机图书馆服务模式研究[J].图书情报工作,2010,(11).[13]韩勇,徐杰,赵玉宝.移动多媒体广播技术在移动学习中的应用探索[J].实验技术与管理,2010,(7).[14]阎世梁,张华,王银玲,肖晓萍.极坐标下基于迭代学习的移动机器人轨迹跟踪控制[J].计算机应用,2010,(8).[15]郑志平.基于移动学习的教育形式和学习资源开发[J].中国成人教育,2010,(13).[16]吴华,秦世引.基于增量式路标表观学习的移动机器人定位[J].北京航空航 天大学学报,2010,(6).[17]徐明亮,柴志雷,须文波.移动机器人模糊Q一学习沿墙导航[J].电机与控制学报,2010,(6).[18]黄家荣,周天梅.移动学习环境下影响学习效果的因素分析及对策[J].中国成人教育,2010,(10).[19]甘文凝,温植胜.基于播客技术的移动学习在大学外语教学中的应用研究[J].中国远程教育,2010,(5).[20]傅钢善,李婷.3G时代基于专家系统的移动学习模式[J].中国电化教育,2010,(4).[21]李祥龙,李静.网格环境下学习服务的移动agent实现研究[J].江西师范大学学报(自然科学版),2010,(6).[22]张伟,陈琳,丁彦.移动学习时代的学习观:基于分布式认知论的视点[J].中国电化教育,2010,(4).[23]吉顺育.成人教育中移动学习的研究[J].继续教育研究,2010,(5).[24]文U璐.微型移动学习在返乡农民工职业再教育中的应用探索[J].继续教育研究,2010,(5).[25]潘莹,包绍明.论移动学习在成人教育中的应用[J].继续教育研究,2010,(4).[26]詹青龙,张静然,邵银娟,李玉顺.移动学习的理论研究和实践探索——与迈克·沙尔普斯教授的对话[J].中国电化教育,2010,(3).[27]王慧敏,陈泽宇,王敏娟,张驰.移动学习情境中教育智能应用探究[J].中国远程教育,2010,(1).[28]詹青龙.活动理论视域的移动学习活动设计[J].电化教育研究,2010,(2).[29]顾小清,顾凤佳.微型移动学习的可用性设计[J].电化教育研究,2010,(2).[30]刘璐,孙朝云,盂彬.农村教师继续教育中移动学习模式的探索[J].继续教育研究,2010,(3).[31]郑云翔.基于MANET的移动学习研究[J].中国电化教育,2010,(2).[32]顾小清,李舒愫.共建微型移动学习资源:系统设计及实现机制[J].中国电化教育,2010,(2).[33]黄龙翔,陈文莉,吕赐杰,张宝辉.移动学习活动的属性分析:探讨学习活动设计的两个个案[J].中国电化教育,2010,(2).[34]任海峰,赵君.移动学习国内外研究现状分析[J].成人教育,2010,(1).52 ⑨硕士学位论文MASTER’STHESIS[35]任海峰,赵君.移动学习模式在教学应用中的特征分析[J].成人教育,2009,(12).[36]詹青龙,黄荣怀.移动学习终端设计的价值取向和方法[J].中国远程教育,2009,(10).[37]王忠巍,曹其新,栾楠,张蕾.基于强化学习的自主移动机器人反应式自救控制[J].上海交通大学学报,2009,(11).[38]韩建华.CMM8技术环境下开展的移动学习探析[J].中国电化教育,2009,(10).[39]詹青龙,元梅竹.移动学习资源建设的质量屋模型构建[J].中国电化教育,2009,(10).[40]张海,李馨.日本移动学习实践研究前沿——对话东京大学教育技术首席专家山内祜平副教授[J].中国电化教育,2009,(9).[41]魏洪伟,邸佳奇,孙惠杰.移动学习理论研究与实践[J].计算机工程与科学,2009,(9).[42]马如宇.影响移动学习用户使用态度的前置性和潜在性因素解析——基于扩展式科技接受模型的视点[J].中国远程教育,2009,(8).[43]方柏林.泛在移动环境下学生对移动学习项目的反馈(英文)[J].开放教育研究,2009,(4).[44]方海光,刘静,黄荣怀,李玉顺.基于学习对象化的移动学习资源自适应引擎的研究[J].中国电化教育,2009,(7).[45]马如宇.影响移动学习用户使用态度的前置性和潜在性因素探析——基于扩展式科技接受模型的视点[J].中国电化教育,2009,(7).[46]顾小清,查冲平,李舒愫,顾凤佳.微型移动学习资源的分类研究:终身学习的实用角度[J].中国电化教育,2009,(7).[47]李伊白.面向新生代农民工的移动学习:现状、需求与发展策略[J].中国远程教育,2010,(9).[48]倪小鹏,张静然.移动学习的发展和趋势——访移动学习专家凡特霍夫特博士[J].中国电化教育,2009,(7).[49]http://wWw.edu.cn/solutionsj660/20060512/t20060512—178129.shtml050]http:{l恻.edutech.net.cn/viewthread.php?tid=3242[51]http://www.apple.com.cn/education/profiles/escondido/[52]http://www.apple.tom.cn/education/profiles/ohio—state/53 攻读学位期间发表的论文【1】解攀科.基于Solarisl0的DNS服务器安全性配置【J】.中国教育网络,2008,(7)·【2】郭伟秀,解攀科.Flex在网络教学软件中的应用[J】.中小学电教,2008,(11)· ⑥硕士学位论文MASTER’STHESIS致谢转眼之间,我即将完成在职研究生的学习。本论文是这一阶段我学习、工作的总结。本论文的最终完成,离不开诸多人的鼓励和帮助。首先感谢我的导师刘清堂教授。本文是在刘老师的大力指导下完成的。虽然刘老师本身的工作和科研非常繁忙,仍抽出很多时间指导我的论文撰写工作。在此过程中,我深深体会到刘老师严谨、认真的科学研究态度,他对我的论文从数据来源、研究原理等诸多方面严格要求、反复质疑和敦促修正。刘老师是对我影响最大的老师之一,他亲自教授我们很多的重要课程(包括本科阶段的)。刘老师高尚的师德、渊博的学识、勤奋的治学一直以榜样的力量影响着学生们。此外我还要感谢信息技术系的赵呈领老师、黄汉福老师、杨九民老师、左明章老师、王继新老师、宁国勤老师、彭文辉老师、吴彦文老师、吴军其老师、王忠华老师、张屹老师、赵刚老师、熊才平老师、谭冬霞老师,还有许多可敬的老师们。他们孜孜不倦地讲授我们很多重要的课程。正是由于他们的传道、授业、解惑,让我们不仅学到了的重要的专业知识,且教授了我们如何求知治学、为人处事。感谢武汉纺织大学的领导、同事,您的支持与帮助,使得我顺利得完成了课程的学习和论文撰写。特别要感谢武汉纺织大学现代教育技术中心的干文勋主任,他提供较为宽松的工作、科研环境,使得我在搞好工作之余,能广泛地开展一些感兴趣的研究工作。他还亲自审阅我的论文和提出了很多宝贵的意见。特别感谢我的妻子,在最繁忙的那段日子里,她毫无怨言的分担了所有的家庭事务,让我专心的测试程序和完成论文的撰写。正是她的理解和支持,本论文才得以最终完成。感谢所有关心和帮助过我的人!解攀科2011年4月于武汉.光谷 基于Android的移动学习系统设计与实现作者:解攀科学位授予单位:华中师范大学本文读者也读过(6条)1.施金兰基于Android平台的网络共享研究与实现[学位论文]20112.熊志君Android在高校学生信息服务系统中的应用研究[学位论文]20103.李惠基于Android的个人知识管理平台的研究与设计[学位论文]20114.张孟东基于Android的多媒体系统设计与实现[学位论文]20115.丁伟基于Android平台的移动流媒体客户端的研究与实现[学位论文]20106.周筠移动环境下学习系统的设计与实现[学位论文]2009本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1899629.aspx
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处