基于android平台的“大学计算机基础”课程APP设计实现
2015-04-08鲁红英代西果黄于鉴
鲁红英 代西果 黄于鉴
摘要:随着移动智能终端的普及和运营商网络能力的进一步提升,移动互联网正由互联网最初的只提供浏览的数据网络向商务、社交、生活、购物、娱乐和学习的应用网络转变。本文提出了基于android平台的“大学计算机基础”课程app的设计思想,以此拓展移动互联网技术在教学工作中的应用,推进创新教学方式,提高教学质量。
关键词:移动互联网 课程APP android平台
目前,App客户端已成为移动互联网的主要应用形式。它是通过特定程序满足用户要求,多指智能手机和移动终端的第三方应用程序,并具有用户增长速度快、经济能力强,思维活跃;可整合LBS、QR、AR等新技术,带给用户前所未有的用户体验;基于手机的随时随身性、互动性特点,容易通过微博、SNS等方式分享和传播,实现裂变式增长;相比传统营销手段成本更低等特点。为了推进移动互联网技术在教育教学工作中的应用,打破课堂单一的教学形态,本文在研究分析移动互联网的发展趋势、移动APP的特点以及移动互联网应用领域的基础上,就如何开发“大学计算机基础”课程APP客户端进行了分析和研究,并给出了建设方案。
1 “大学计算机基础”课程APP客户端建设目标和原则
“大学计算机基础”作为一门本专科生的通识课程,又是大学第一门计算机课程,应具有基础性、实践性和先进性的特点。“大学计算机基础”课程APP客户端建设目标是构建“以学生为中心”的新型教学模式,要树立学生为主体的学习模式,让学生进行探索研究式的自主学习,让教师成为教学的主导者,起到控制学习过程、提供教学资源和教学建议的作用;倡导学生通过智能移动终端设备进行浏览教学讲义、观看教学录像,在线测试等功能,充分调动学生学习积极性和体现移动终端的便利性。
“大学计算机基础”课程APP学习资源平台总体建设原则是:一要注意学习内容的模块化。要打破以章节为单位的教学形式,以课程知识点作为学习模块,一个模块对应一个知识点,以方便学生灵活掌握学习内容,保证学生在很短时间内完成内容的学习;二要精炼学习内容。学习内容力求要点突出,重点难点明确,概括精炼。以便学习者在较短的时间内完成学习的同时保证学习效果,能够持续激发和维持学生参与移动学习的学习动机和兴趣;三要体现学生基础的差异化。移动学习资源的开发要考虑到不同学生基础,尽量设计出个性化的丰富资源,使每个人都以自己喜欢的方式、合适的进度进行学习。
2 “大学计算机基础”课程APP客户端总体设计
“大学计算机基础”课程APP学习资源平台包括:课程APP客户端和后台管理。用户通过课程客户端访问资源平台提供学习内容,管理员和老师通过后台管理上传课程资料。“大学计算机基础”课程APP教学资源平台架构如图1所示。 2.1“大学计算机基础”课程APP功能模块
“大学计算机基础”课程APP客户端包括用户登录、注册和修改密码,通知公告,课程概况(课程简介、课程大纲、参考文献),师资介绍,教学内容(课程教学历史沿革、理论课程设计、试验课程设计、理论课程内容),教学资源(电子课件、教学录像),课外阅读,在线考试,教学评价,信息反馈等。
2.2后台管理
后台管理采用B/S结构,管理员和老师通过浏览器访问教学资源平台管理功能。后台管理主要包括用户管理(用户查询、添加用户、删除用户、禁用用户、报名审核),系统管理(操作员管理、角色权限管理),教师队伍管理,教学资源管理,消息推送,内容发布,信息查询统计等。
3技术路线
“大学计算机基础”课程APP学习资源平台是基于android系统环境下开发的,其主要特点是即使客户端和服务器断开后,用户也可依靠客户端存储的少量数据完成业务操作。
3.1 Android系统架构
Android的系统架构采用了分层架构的思想,如图2所示。从底层到上层共包括三大部分共四层。底层部分是Linux内核和硬件抽象层,核心部分是核心类库、Android运行时库和应用框架层,应用部分是应用程序程序层。
在此,重点介绍应用程序层的核心内容。应用程序层提供一些核心应用程序包,例如联系人管理、浏览器、日历、地图、短信和电子邮件等。同时,开发者可以利用Java语言设计和编写应用程序,编写的程序与核心应用程序彼此平等、友好共处。主要包括以下部分:
活动(Activity)——应用程序的表示层。应用程序的每个界面都将是Activity类的扩展。Activity用视图(View)构成GUI来显示信息、响应用户操作。
服务(Services)——应用程序中的隐形工作者。Service组件在后台运行,更新数据源和可见的Activities,触发通知(Notification)。在应用程序的Activities不激活或不可见时,用于执行依然需要继续的长期处理。
内容提供器(Content Providers)——可共享的数据存储。Content Providers用于管理和共享应用程序数据库。
意向(Intents)——应用程序间(inter-application)的消息传递框架。使用Intents你可以在系统范围内广播消息或者对一个目标Activity或Service发送消息,来表示要执行一个动作。
小部件(Widgets)——可以添加到主屏幕界面(home screen)的可视应用程序组件。作为Broad caseReceiver的特殊变种,widgets可以为用户创建可嵌入到主屏幕界面的动态的、交互的应用程序组件。
通知(Notifications)——用户通知框架。Notification不必窃取焦点或中断当前Activities就能通知用户。
3.2服务器端与客户端数据交互
Web Service是一种基于SOAP协议的远程调用标准。SOAP协议使用基于XML的数据机构和超文本传输协议(HTTP)的组合定义了一个标准方法来使用Internet上各种不同操作环境中的分布式对象。使用Web Service通过HTTP POST方式接受客户的请求,使用soap协议传输xml数据,既保证了数据的安全性和封装性,又具有可扩展性。
通过Web Service可以将不同操作系统平台,不同语言、不同技术整合到一起。在Android SDK中并没有提供调用Web Service的库,因此,需要使用第三方类库(KSOAP2)来调用Web Service。
在android客户端开发中调用服务端web service的步骤如下:
//指定Web Service的命名空间和调用的方法名
Soap Object request = new Soap Object("http://service", "get Name");
//设置调用方法的参数值
request.addProperty("param1", "value1");
//生成调用WebService方法的SOAP请求信息
SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = request;
//创建Http TransportSE对象。通过Http TransportSE类的构造方法可以指定
//Web Service的WSDL文档的URL
HttpTransportSE ht = new
HttpTransportSE("http://service/axis2/services/SearchProductService?wsdl");
//使用call方法调用WebService方法
ht.call(null, envelope);
//使用getResponse方法获得WebService方法的返回结果
SoapObject soapObject = (SoapObject) envelope.getResponse();
在使用多线程获取到后台数据之后,在客户端将数据解析出来,然后将这些信息排版并显示到activity(界面)上,同时将一些不变的数据存到android自带的sqlite数据库,下次即使是离线也可以使用其中部分功能。
在后台服务端开发,开放出这些功能的接口,供客户端调用。本系统主要使用的是php语言,用“正则表达式”解析出教学资源平台上提供的一些资源,然后变成以web service需要xml数据格式,使用soap协议将数据返回给客户端。同样客户端使用soap协议上传用户信息到服务端后,使用php提供的数据库操作类结合sql语言对数据库进行增、删、改、查的操作,本系统使用的数据库是mysql。这样客户端与后台的交换就完成了。 3.3“大学计算机基础”课程APP平台界面设计在进行课程APP界面设计时,一要特别注意界面的简洁明了,学生不需要过多的思考就能知道各个按钮的功能,不需要过多的培训就知道如何使用,尽量减少用户点击的次数;二要注意课程平台设计需综合考虑色彩、噪音、时限和其他各种感官感受;三是界面操作便捷。“大学计算机基础”课程APP学习资源平台界面如图3所示。 4结束语
本文介绍了基于android系统的“大学计算机基础”课程APP学习资源平台的架构,分析了APP功能模块、服务器端和客户端数据交换方式和后台管理模块的功能特点和技术实现要点,并得到如下结论:(1)课程APP是一个充满活力、拥有广泛应用前景的研究领域,而与网络学习课程的结合,必将为学生提供了优质便捷的学习途径;(2)编写移动应用程序时,应注意使用多线程技术,这样避免程序发生堵塞而对用户操作失去响应,导致手机“死机”的问题;(3)由于学生使用的移动终端设备不同,应开发不同系统版本的课程APP,这样定会增加软件开发成本;(4)教学课程APP的开发工作必将引起高校教学工作者的高度关注。
参考文献:
[1]CNNIC发布第34次《中国互联网络发展状况统计报告》[J].中国教育信息化,2014,(15):91.
[2]张晓.基于android平台的校园信息系统app的设计实现[J].计算机光盘软件与应用,2013,(24):253-254+256.
[3]许健才,洪洲,宋诚英.基于移动互联网的社区课程学习平台建设研究[J].大众科技,2013,(11):148-150+57.
基金项目:成都理工大学2013-2016年高等教育人才培养质量和教学改革项目阶段成果(项目编号:13JGY64)。