安卓系统环境下的移动学习平台设计
来源:杂志发表网时间:2015-12-20 所属栏目:软件开发
1移动学习平台的研究现状 移动学习是一种结合移动终端运算能力和无线网络传输能力而形成的新型学习模式[1].从移动终端盒无线网络种类上区分,移动学习可以分为广义移动学习和狭义移动学习两类[2]:①广义移动学习使用者可以使用各种移动终端,如智能电话、PDA、笔记本等,通过移动通信网、无线局域网进行学习;②狭义移动学习特指使用移动电话,通过移动通信网络开展学习活动。 移动学习平台的发展是伴随着移动学习的发展而发展的,与移动学习的实现模式相对应,移动学习平台主要有基于手机信息的移动学习系统,基于WAP的移动学习站点,基于C/S的移动学习平台。 通过研究对比发现,目前国内外关于移动学习平台的发展存在如下一些问题: (1)移动学习平台对内容的表现形式和组织方式的支持不够,导致内容表现形式和组织方式单一,难以使用不同的要求。 (2)移动学习平台客户端和用户体验较差。 (3)对移动学习的学习工具和支持不够。 (4)交互设计单一。 2研究的目的和意义 基于移动设备的移动学习在我国有着广阔的应用前景,如何让更多的学习者通过智能手机获取知识、接受教育,如何让他们乐于通过手机获取知识、接受教育,是一个有重要意义的研究。 本研究将以移动学习理论为基础,建立移动学习平台理论和软件模型,为移动学习平台的设计研究提供一定的参考,也为移动学习平台的开发和建设提供借鉴。 3移动学习平台的设计 系统主要模块包括课程学习、视频学习、学习资讯、学习工具与支持服务、社区。对于模块的设计,首先要进一步细化模块的功能要点,然后依据功能要点,结合系统层次的结构设计,即从表示层、业务逻辑层和数据层3个层面进行设计。 3.1表示层 表示层位于客户端,是人机交互的接口。用户在客户端浏览器输入网络地址,通过运行WML和ASP程序,来实现用户与业务逻辑处理结果之间的信息交流。表示层主要负责系统与用户之间的会话处理,为移动学习提供人机交互界面。 3.2业务逻辑层 业务逻辑层位于服务器端,用于封装系统的业务服务,负责接受表示层的应用请求,对其进行业务处理的逻辑判断,是系统的核心。它的逻辑判断过程为,若通过,逻辑判断则调用数据库内容,进行数据处理,并将处理结果返回给表示层;若不通过,返回给表示层相应的提示信息。 3.3数据服务层 数据服务层和业务逻辑层一样,位于服务器端,它为系统提供数据来源,负责存储整个系统内的所有数据。 4移动学习平台的实现 4.1系统开发环境 (1)开发语言:JAVA操作系统平台,MicrosoftWindows7. (2)开发工具:Eclipse3.7,ADT(AndroidDevelopToolkit)2.1,JDK1.6. 4.2Android开发环境搭建 依次进行如下安装:JDK安装→Eclipse安装→AndroidSDK安装→ADT安装→创建AVD. 4.3主要技术代码 (1)对于C/S(客户端/服务器)应用,从远程获取文件特别是图片、视频等,会消耗较大流量,加载速度慢会验证影响用户体验,解决办法是使用缓存。设计本地缓存管理类CacheManager如下: //构造方法 privateCacheManager(stringdir){ this.cacheDir=dir; FiledirFile=newFile(cacheDir); if(!dirFile.exists())){ dirFile.mkdirs(); } //清理过期缓存 removeExpiredCache(); //初使比缓存文件列表 buildCache(); } privateCacheManager(){ this(CACHE_TEMP_DIR); } //获取缓存管理器实例 publicstaticCacheManagergetInstane(){ if(instance==null) instance=newCacheManger(); returninstance; } CacheManager缓存图片的实现 publicvoidcacheBitmap(Bitmapbm,stringurl){ if(bm==null||url==null){ Log.w(TAG,“Tryingtosavenullbitmap”); return; } //获取存储器SdCard的剩余存储空间 intfreespaceonsd=FileUtil.freespaceonsd(); //判断SdCard上的剩余空间是否足够 if(FREE_SD_SPACE_NEEDED_TO_CACHE>freespaceonsd);{ //当SdCard上的剩余空间不足时,根据LRU算法,清除过期 文件 removeCache<>; //当清除过期文件后剩余空间依然不足时,则不再缓存文件 if(FREE_SD_SPACE_NEEDED_TO_CACHE>freespaceonsd){ log.w(TAG,“lowfreespaceonsd,donotcache”); return; } } //将图片文件加入到绘存文件列表中 hardBitmapCache.put(filename,bm); //下载并保存图片文件至缓存文件夹 …… (2)DatabaseOpenHelper类,获取可读写的数据库操作对 象,实现如下: privatestaticfinalintDB_VERSION=10; //构造方法 publicDatabaseopenHelper(Contextcontext){ super(context,DB_NAME,null,DB_VERSION); } //创建数据库 @override publicvoidonCreate(SQLiteDatabasedb){ createTables(db); } //数据库升级 @override publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,int newVersion){ //依据数据库版本升级 if(newVersion>oldVersion){ upqradeTables(db); } } 5总结与展望 虽然本移动学习平台的实现,从一定程度上开辟了移动学习的新方法,但还是存在以下问题: (1)移动学习平台设计的适用性、完善性问题.不同移动终端厂家设计技术平台的迥异,使得移动学习平台架构相对困难。 (2)服务器负载与性能问题.缺乏相应的技术解决方案,大规模数据负载难以保证。 针对以上问题,应进一步深入理解移动学习理论,参考其他优秀移动平台的设计方案,适应不同应用模式。对程序进行优化提高其运行效率,进一步完善提高平台稳定性,并提供更好的用户体验。 主要参考文献 [1]李玉斌,张爽。移动学习的内涵、方式及其对远程教育的意义研究[J].现代远程教育研究,2005,6(2):30-34. [2]叶成林,徐福荫。移动学习研究综述[J].电化教育研究,2004,7(4):12-19.
点此咨询学术顾问 快人一步得到答案