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 操作系统平台,Microsoft Windows 7.
(2)开发工具:Eclipse 3.7 ,ADT(Android Develop Toolkit)2.1 ,JDK1.6.
4.2 Android 开发环境搭建
依次进行如下安装:JDK 安装→Eclipse 安装→Android SDK安装→ADT 安装→创建 AVD.
4.3 主要技术代码
(1)对于 C / S(客户端/服务器)应用,从远程获取文件特别是图片、视频等,会消耗较大流量,加载速度慢会验证影响用户体验,解决办法是使用缓存。设计本地缓存管理类 CacheManager 如下:
//构造方法
private CacheManager(string dir) {
this.cacheDir = dir;
File dirFile = new File(cacheDir);
if(! dirFile.exists())){
dirFile.mkdirs();
}
//清理过期缓存
removeExpiredCache();
//初使比缓存文件列表
buildCache();
}
private CacheManager() {
this(CACHE_TEMP_DIR);
}
//获取缓存管理器实例
public static CacheManager getInstane(){
if(instance = = null)
instance = new CacheManger();
return instance;
}
CacheManager 缓存图片的实现
public void cacheBitmap(Bitmap bm,string url){
if(bm = = null | | url = = null) {
Log.w(TAG,“Trying to save null bitmap”);
return;
}
//获取存储器 SdCard 的剩余存储空间
int freespaceonsd = 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,“low free space on sd,do not cache”);
return;
}
}
//将图片文件加入到绘存文件列表中
hardBitmapCache.put(filename,bm);
//下载并保存图片文件至缓存文件夹
……
(2)Database Open Helper 类 , 获取可读写的数据库操作对
象,实现如下:
private static final int DB_VERSION = 10;
//构造方法
public DatabaseopenHelper(Context context) {
super(context,DB_NAME,null,DB_VERSION);
}
//创建数据库
@override
public void onCreate(SQLiteDatabase db) {
createTables(db);
}
//数据库升级
@override
public void onUpgrade (SQLiteDatabase db,int oldVersion,int
newVersion) {
//依据数据库版本升级
if(newVersion > oldVersion) {
upqradeTables(db);
}
}
5总结与展望
虽然本移动学习平台的实现, 从一定程度上开辟了移动学习的新方法,但还是存在以下问题:
(1)移动学习平台设计的适用性 、完善性问题 . 不同移动终端厂家设计技术平台的迥异,使得移动学习平台架构相对困难。
(2)服务器负载与性能问题 . 缺乏相应的技术解决方案 ,大规模数据负载难以保证。
针对以上问题,应进一步深入理解移动学习理论,参考其他优秀移动平台的设计方案,适应不同应用模式。 对程序进行优化提高其运行效率,进一步完善提高平台稳定性,并提供更好的用户体验。
主要参考文献
[1]李玉斌,张爽。移动学习的内涵、方式及其对远程教育的意义研究[J].现代远程教育研究,2005,6(2):30-34.
[2]叶成 林 ,徐福荫。移动学习研究综述 [J]. 电化 教育研究 ,2004,7(4):12-19.