袁 芬
浙江长征职业技术学院计算机与信息技术系,浙江 杭州 310023
智能手机就像计算机,它具有独立的操作系统。用户可以自行安装软件,借助第三方服务商提供的程序不断扩充手机功能,并且可以通过移动通信网络来实现无线网络接入[1]。与此同时,随着移动互联网技术的飞速发展,基于智能手机的移动学习成为当前教育技术研究的一个热点,提供教育信息、教育资源和教育服务,满足碎片式学习的需求,真正实现“Anyone、Anytime、Anywhere、Anystyle”(4A)的学习[2]。
移动学习系统是为广大学习者提供教育资源和学习服务支撑的软件系统。经过前期的需求调研以及本人多年的教学实践经验总结,基于智能手机的移动学习系统的功能需求主要有:
(1)课程资源发送。移动学习系统是连接教育者和学习者之间的桥梁,为学习者提供各种学习资源包,包括课程资源包、电子教案、微课视频等。学习者自主选择资源预习、学习和复习,这也是移动学习系统的最主要的功能。
(2)学习轨迹记录。移动学习系统利用电子档案袋记录学习者学习轨迹和进步情况,记录与分析学习成绩,激励进一步学习。这也有利于教育者、学习者自身及时地了解自己的学习情况,及时地调整学习进度。
(3)学习任务查询。学习者可以在移动学习系统上查找资源,并获取相关信息,在分析总结的基础上完成学习任务。
(4)协作互动。移动学习系统强调师生之间、学生之间的互动。利用互动工具,建立互动机制,及时为学习者解答疑惑,提交作业,开展协作合作学习。
当然,这些功能并不是移动学习系统的全部功能,具体的移动学习系统教育者可以根据学习者学习能力、学习内容特征等的差异来选择设计开发。
Android系统是开发基于平台的开源手机操作系统,它由操作系统、中间件、用户界面和应用程序组成。Android系统是一个真正意义上的开放性移动开发平台,不仅包含上层的用户界面和应用程序,还包括底层的操作系统,开发人员可以自由获取和修改源代码[3]。所有的应用程序都运行在虚拟机上,程序之间是完全平等的,用户可以随意将第三方软件置换掉系统自带的系统软件。Android系统架构自底向上分为5个层次,分别是Linux 内核层、Android函数库、Android运行时、应用程序框架层、应用程序层。如图1所示。
图1 Android 操作系统架构图
移动学习系统开发中必然涉及数据的请求与获得,而数据都存储在数据库中,因此各种数据的获取都必须对数据库进行操作。为了简化数据库使用过程中的配置及编码,本平台采用了Hibernate技术。
Hibernate是一个开源的、轻量级的ORM(Object Relation Mapping,对象到关系的映射)解决方案,它允许程序以面向对象的形式操作关系型数据库,负责将对象数据保存到关系型数据库中,以及从关系型数据库中读取数据并封装成对象的工作。Hibernate最大的优点在于处理持久化数据的时候使用面向对象的方式,从而很好地解决了面向对象的Java语言与关系型数据库之间数据表示形式不一致的矛盾[4]。
移动学习系统中涉及 Android服务器端与客户端之间的数据传递,因此迫切需要一种合适的数据交换格式,而JSON 的出现解决了数据交换格式的问题。
JSON(JavaScript Object Notation)是 JavaScript的对象符号,它是一种轻量级数据交换格式。JSON的数据格式既方便计算机本身解析和生成,又适合人来读写。早期JSON是JavaScript语言的数据交换格式,后来慢慢发展成为一种与语言无关的数据交换格式,可以在不同平台间进行数据交换。
Android客户端与服务器端进行数据交互时,常常需要将服务器端的数据转化成字符串并在客户端对JSON数据进行解析生成对象。在本移动学习系统中由服务器端的 WebServer接口提供的数据时经由 JSON转换和传递的,在 Android 就需要对这部分数据解析为原数据对象,GSON 的作用就在于此[5]。
GSON(Google GSON)是 Google 公司发布的一个开放源代码的Java库,主要用途在于串行化Java对象为 JSON字符串,或反串行化 JSON 字符串成 Java对象。
随着移动通信技术和移动终端技术的蓬勃发展,移动应用日新月异。移动学习的需求也在不断增加,开发基于智能手机的移动学习系统,成为广大教师面临的重要课题。本文对移动学习系统的功能需求进行分析与研究,并对移动学习系统中的关键技术进行分析和比较,对技术人员进行移动学习系统的开发具有指导和借鉴意义。
[1]高垣.基于移动协作学习系统设计与实现[D].西安:西北大学,2010.
[2]王羽莹.基于多平台的汉语移动学习智能手机软件的研究与开发[D].北京:北京邮电大学,2011.
[3]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,17(11):110-112.
[4]赵丞兵.基于 Android平台的移动学习系统设计与实现[D].北京:北京邮电大学,2012.
[5]任捷怡.基于移动终端设备的移动学习系统的研究与实现[D].成都:西南交通大学,2012.