基于移动互联网的课程教学辅助系统的构建及应用

2017-01-17 19:36李建葛竹春傅伟
软件工程 2016年11期
关键词:移动网络

李建+葛竹春+傅伟

摘 要:进入移动网络时代,智能设备已经逐渐普及到校园,对教育领域来说既是机遇,也是挑战。传统的基于WEB的课程教学辅助系统已不适应当前教与学的要求。有鉴于此,构建了一个基于移动互联网的课程辅助教学系统,并就该系统的设计思想、主体功能、总体构建、核心模块进行了详尽的阐述。开发实现的移动课程教学辅助系统实现了各类课程教学资源的优化运用,为课程课堂外的学习提供了一个全新、便捷的手段,具有较好的实用价值和推广意义。

关键词:移动网络;教学辅助系统;构建及应用

中图分类号:TP399 文献标识码:A

1 引言(Introduction)

随着互联网技术、移动通信技术的飞速发展,4G、Wi-Fi技术和智能手机的普及,推动了移动互联网的发展,极大地方便了人们的生活[1,2]。科技进步也相应的促进了高校教育方式和学习方式的改变。教育类APP作为信息技术在教育领域的应用,迅速成为一类颇受欢迎的数字化教学、学习方式,为移动学习的开展提供了有力的设备支持,正成为教师和学生日常工作、学习的必备工具和主要学习平台[3,4]。本系统主要根据高校课程特点,构建出一个通用型课程辅助教学系统,作为对课堂教学的补充和拓展。通过多类学习资源和助学方式的应用,实现教师、学生之间导与学的有效互动,有效调动教师教学、学生学习的积极性、主动性,并使课堂教学之外的辅助环节更为有效,切实提高了教学效率和教学效果[5]。

2 移动课程教学系统总体架构设计(The overall framework design of the mobile curriculum teaching assistant system)

基于移动网络的通用型课程教学辅助系统,旨在为学生提供多样性的学习服务,增加学习中的乐趣,提高学习者的学习主动性,让课程学习无处不在[6]。

2.1 系统总体架构设计

本文设计的移动课程教学辅助系统框架是基于移动通信网络或接入网络的高可靠性和高数据传输速率进行设计的,移动课程教学辅助系统终端的绝大多数功能都需要通过一个无线网络连接到互联网。移动课堂系统的整体架构如图1所示。

2.2 系统功能模块设计

移动课程教学辅助系统由Android移动客户端程序和Web服务器端管理系统两部分组成。根据系统前期对高职院校课程教学调研分析可得,移动客户端的功能包括用户注册、用户登录、用户信息修改、课程资源下载、实时提问、在线测试等主要功能。服务器端功能包括用户管理、课程管理、资源管理、资源分类管理、测试管理、提问回复、管理等功能。如图2所示。

3 系统核心功能模块的实现(The realization of the system core function module)

基于移动网络的课程教学富足系统主要基于目前流行的Android开发技术和JSP WEB开发技术进行开发,开发平台选用Eclipse集成开发环境,Eclipse是一款非常优秀的开源IDE,在大量插件配合下,完全可以满足从企业级Java应用到手机终端Java软件的开发[7,8]。数据库选择MySQL数据库软件轻巧、方便、功能强大。

3.1 客户端核心功能实现

(1)客户端界面美化

作为一款实用型APP,并要求能吸引学生的注意力,愿意使用这个系统学习,必然要对系统的美工、界面进行一些优化,使之美观、大方。移动课程教学辅助系统客户端界面的设计为达到这个目的,做了很多的工作,除制作了一些测试用的视频、课件外,还确立了一个统一的风格,对应风格设计制作了自定义背景图片,采用ImageButton和ImageView控件代替普通的控件,并导入一些图片资源并设置为控件的底纹。整体布局设计上,使用布局框对整体界面进行宏观调控,混合使用线性布局、相对布局和绝对布局来调节页面及各个控件。

(2)客户端界面跳转

客户端程序定义了一个枚举类型的全局变量WhichView来记录当前显示的页面状态,当点击返回按钮或者左右标签切换按钮时,判断当前显示页面,根据当前状态做出相应的跳转,退出或者切换等。核心代码如下:

public boolean onKeyDown(int keyCode,KeyEvent e)

//返回按键事件

{

if(keyCode!=4)//4为返回键的键码

{

return false;//如果按下返回键,不做任何响应

}

………//用户登录,注册,信息修改等页面跳转

else if(curr==WhichView.ALLRESOURCE_VIEW)

{

gotoMainView();//当前页面为资源库界面返回到首页

return true;

}

………//其他功能界面返回设置

else if(curr==WhichView.EXAMINATION_VIEW|| curr==WhichView.CHECKEXAM_VIEW)

{

gotoMainView();//当前页面为测试或查看测试结果界面返回到首页

return true;

}

return false;

}

(3)客户端课程资源列表显示

移动课程教学辅助系统的核心模块-资源显示界面,列举出服务器上所有的可供下载的课程资源,用户可以直接在客户端上查看资源的详细信息,方便用户查询并根据自己的要求下载所需的资源。核心代码如下:

public void initListViewf(String msgStr,int list) {

resourceNameArray=msgStr.split("\\|");//切割内容字符串

final int count=resourceNameArray.length/4;

//获取资源的行数

BaseAdapter ba=new BaseAdapter() {

public int getCount() { //重写getCount方法

return count;// 总共4个选项

}

public View getView(int arg0,View arg1,ViewGroup arg2) {

//重写getView方法

LinearLayout ll=new LinearLayout(MainActivity.this);

ll.setOrientation(LinearLayout.HORIZONTAL);//设置朝向

ll.setPadding(5,5,5,5);//设置留白

TextView tv=new TextView(MainActivity.this);//初始化

tv.setWidth(60);

tv.setText(resourceNameArray[arg0*4]);//设置内容

tv.setTextColor(getResources().getColor(R.color.black));

ll.addView(tv);//将TextView添加到LinearLayout

……//界面多个控件初始化,并添加到布局容器

return ll;} };

if(list==Constant.ALLRESOURCELISTVIEW01){

ListView lv=(ListView) findViewById(R.id.allresourceListView01);

lv.setAdapter(ba);//设置适配器

lv.setOnItemClickListener(new OnItemClickListener() {//设置监听器

public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3) {

rgid=resourceNameArray[arg2*4];//获取资源名称 gotoResourceDetail(rgid);//返回到资源库界面}});}}

3.2 服务器端核心功能实现

系统WEB服务器端采用JSP WEB开发技术,采用MySQL数据管理软件。服务器端程序主要用来给系统管理员,主要是教师实现用户管理、课程管理、资源管理、测试管理、提问管理等。

(1)数据库连接

应用系统的核心数据一般采用数据库进行保存,维护,连接数据库无疑是一个系统稳定运行的前提。本系统调用MySQL的JDBC包来连接数据库的,通过加载驱动,调用相应的方法来实现数据连接。核心代码如下所示。

Class.forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost/teachsys";

con=DriverManager.getConnection(url,"root","123456");

(2)数据库更新机制

各类应用系统的操作,无外乎就是数据库中数据的查询、更新操作。数据库的更新操作,有多种实现机制,对于实用型系统,数据更新需要满足数据的批量更新操作,这样最常用的办法就是采用事务处理机制实现数据批量更新,系统中数据更新部分核心代码如下。

con=DB.getCon();//得到数据库连接

con.setAutoCommit(false);//禁止自动提交,开始一个事务

stat=con.createStatement();

String sql=new String(sqla.getBytes(),

"iso8859-1");//转码

stat.executeUpdate(sql);//执行更新

sql=new String(sqlb.getBytes(),"iso8859-1");//转码

stat.executeUpdate(sql);//执行更新

con.commit();//将事务提交

con.setAutoCommit(true);//恢复自动提交模式

3.3 网络通信模块实现

Android对于http网络通信,提供了标准的java接口:httpURLConnection接口和httpclient接口[9]。本系统通信模块采用的是httpclient接口,它的功能更丰富有效。http通信分为post和get方式,其中传输数据量比较大的是post方式,而且它的安全性更高,本系统采用post方式。以下是本模块的核心代码。

public static String postWithoutFile(String actionUrl,Map params)

{

HttpClient httpclient=new DefaultHttpClient();

HttpPost httppost=new HttpPost(actionUrl);

List nameValuePairs=new ArrayList(params.size());

for (Map.Entry entry:params.entrySet())

{//构建表单字段内容

nameValuePairs.add(new BasicNameValuePair(entry.getKey(),MyConverter.escape(entry.getValue())));

}

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response;

response=httpclient.execute(httppost);

InputStream in=response.getEntity().getContent();

ByteArrayOutputStream baos=new ByteArrayOutputStream();

int ch=0;

while((ch=in.read())!=-1)

{baos.write(ch);}

byte[] data=baos.toByteArray();

baos.close();

return MyConverter.unescape(new String(data).trim());

}

4 系统应用(Application of system)

基于移动网络的课程辅助教学系统基于主流的移动终端设备,并选用了主流的WEB服务端开发技术,实现了客户端的方便使用和服务端资源的快速、便捷管理,此类系统的应用为学生实现随时随地通过4G网络课程学习提供了支撑平台,目前该系统已完成了服务器端的部署和真实移动设备的测试使用,向实用型迈出了一大步,同时也发现了一些问题,并将在今后进行进一步的优化、改进,并有望在投入正式实用。系统测试截图如图3和图4所示。

5 结论(Conclusion)

随着网络的迅猛发展,如何让零散而大量的课程资源有效利用起来,设计构建实用性强的网络化课程教学支撑平台已成为重中之重。进入移动智能时代,信息的获取手段已经变得更加便捷,基于移动网络和智能终端设备的课程教学辅助平台已成为迫切需要[10]。目前,关于移动学习的基础理论研究较多,但具体的移动学习类软件相对较少,因此,开发符合所在高校实际需求,实用性好的移动APP教学软件,辅助教学,方便学生学习,将具有很好的现实意义。

参考文献(References)

[1] Kang H,et al.Real-Time Motion Control on Android Platform[J].Journal of Supercomputing,2016,72(1):196-213.

[2] Cho H,et al.Anti-Debugging Scheme for Protecting Mobile Apps on Android Platform[J].Journal of Supercomputing,2016,72(1):232-246.

[3] Yueyu Xu.Developing a Comprehensive Teaching Evaluation System for Foundation Courses with Enhanced Validity and Reliability[J].Educational Technology Research and Development,2012,605:55-58.

[4] 张毅,张成霞.基于Android手机的课堂互动应用的设计和实现[J].现代电信科技,2015(1):35-39.

[5] 吴君胜,曾海.基于Android的网络课程移动学习辅助教学系统设计与应用[J].微型电脑应用,2014,30(3):18-20.

[6] 颜芳.基于Android的移动课堂学习系统的设计与实现[D].华中师范大学,2015.

[7] 夏帮贵.基于Android平台的移动学习系统[J].西华大学学报(自然科学版),2011(9):81-84.

[8] 施连敏,盖之华.基于Android的校园信息服务应用平台的设计与实现[J].软件导刊,2015,10(2):57-58.

[9] 张薇.基于WIFI移动开放课堂的构建[J].山西广播电视大学学报,2012,7(2):14-16.

[10] 柏忠贤.移动学习支持系统开发与应用研究[D].浙江师范大学,2012.

作者简介:

李 建(1979-),男,硕士,讲师.研究领域:计算机网络与信息安全,语义WEB,信息化教学.

葛竹春(1968-),男,硕士,教授.研究领域:软件工程,信息安全.

傅 伟(1982-),男,硕士,讲师.研究领域:计算机网络,物联网.

猜你喜欢
移动网络
移动网络的大学英语微课自主学习引导研究
网络经济背景下PC网络及移动网络博弈分析
蜂窝网络终端直通通信功率控制研究
移动网络的信息安全管理
基于移动网络的语音集群通信系统
移动网络下社区医疗卫生服务创新研究
论中学生沉迷手机的原因与危害及应对措施
浅析移动社交网络语义话题的若干关键技术
移动互联网络对大学生心理影响及对策研究
微信营销的发展前景分析