基于Android的成语移动学习软件的设计和实现
2015-05-30李慧霞李志华郭宁宁
李慧霞 李志华 郭宁宁
摘 要:在信息高速发展的时代,移动设备已经成为人们日常生活中不可缺少的一部分。而针对不同用户的需求也开发出了各种应用在移动设备的软件。移动学习自然也就成为人们所关注的一个重要方面,而移动学习软件中不难发现针对英语学习的软件更是俯拾即是,针对成语学习的软件却是寥若晨星。成语作为传统文化的一部分,是中华文化的瑰宝,有责任将其推而广之。现在也越来越多的人意识到学习中国传统文化的重要性,成语更成为了学习的一个主要对象。因此,设计与实现一款基于Android的成语移动学习动软件,结合Android智能手机的优点,可以做到人人皆学、时时能学、处处可学。
关键字:移动学习;成语学习;Android
中图分类号: TP391 文献标识码: A 文章编号:2095-2163(2015)04-
Design and Implementation of Idiom Mobile Learning Software based on Android
LI Huixia1, LI Zhihua2, GUO Ningning3
(1 Computer and Information Technology College,Beijing Jiaoatong University,Beijing 100044,China;
2 Department of Computer Science and Technology,Binzhou University, Binzhou Shadong 256600,China;
3 Computer Science and Technology College,Harbin Engineering University, Harbin 150001,China)
Abstract: In the era of rapid development of information, the mobile devices have become an indispensable part of people daily life. And for the needs of different users, a variety of software applications on mobile devices are also developed. Naturally, mobile learning also becomes an important aspect of people's concerns. It is not difficult to find in the mobile learning applications for English learning software, which can be found everywhere, but in view of the idiom learning software is request. As part of our traditional culture, idiom is the treasure of our culture, we have a responsibility to the argument. Fortunately, now more and more people realize the importance of learning Chinese traditional culture, and the idiom becomes a main object of study. Therefore, the paper proposes the design and implementation of an idiom based on Android mobile learning software, combined with the mobile Android smartphone. With the help of the proposed software, the research of the paper could promote the realization of learning anytime and anywhere.
Keywords: Mobile Learning; Idiom Learning; Android;
0 引 言
移动学习(Mobile Learning,简称M-Learning)已经逐渐成为当今网络学习的一个重要发展方向,具体是在数字化的基础上结合现代移动计算机技术和互联网技术而为广大学习者生成并提供了一种全新的学习模式[1-2]。这一模式的创建使得随时随地学习成为可能,同时,因为智能机、PDA等移动式便携设备的高度普及,更使得日后的学习者不再会因为高昂的培训费而失去学习的良机。
尽管移动学习的发展,为学习者提供了更多的学习机会,但如何选择合适的学习软件进行学习则是事关其发展的重要一环[3]。一个好的学习软件不仅要能够有一个优良的学习情境,更要有一定的针对性和应用性,同时还要符合一个人正常的学习习惯并在学习的过程中促进学习者的兴趣提升。目前市场上一个功能完善的有关成语的移动学习软件仍付诸阙如[4-6]。基于此,本文即开展了这一软件的研发工作。研发中,除了基本成语的学习之外,增加了猜谜游戏等,在学习中玩,在玩的时候体验每个成语的应用等,增强了与学习者的互动[7-8]。
1系统设计与实现
成语移动学习软件主要由六个基本功能模块组成:系统设置、成语学习、成语搜搜、成语收藏、猜谜小游戏、帮助,而成语数据存放主要使用自己开发的WebService接口[9],这是由于后台WebService的使用为系统提供了数据的更新和强大的成语模糊搜索功能。系统的总体架构图如图1所示。
图1 系统总体架构图
Fig.1 System's overall architecture diagram
通过对系统功能模块的全面分析,可以得到整个的业务逻辑流程图,如图2所示。
图2 业务逻辑流程图
Fig.2 Flow chart of the business logic
1.1 成语学习
成语学习是整个学习软件的主要功能模块。该模块按照平时人们的常识和习惯对成语分进行分类,将成语主要分类为:动物类、人物类、季节类、自然类、数字类、寓言型、另类、其他类,每类都有与之对应的说明图片,为用户提供了简洁友好的界面。用户可以选择自己感兴趣的分类来进行学习。客户端收集了上千条实用性强的成语,每条成语都包括:成语文字、成语的读音、成语的释义、成语的近义词、成语的反义词、及该成语对应的英语解释。同时支持成语收藏功能,记录学习位置功能,记录功能也就是当用户学习到一个成语之后退出了该界面,那么当再次进入该界面时会继续定位在上次的位置,这样用户不用每次都从头开始,也不用担心忘记学到哪个成语的位置。而且连接WebService还支持成语更新功能。
类似标签,浏览位置记录算法实现主要代码如下:
// 获取上次观看到的位置
int selectposition = animalDao.selectRecord(this);
ListView listview = getListView();
if (selectposition != -1)
{
listview.setSelectionFromTop(selectposition, 0);
}
记录浏览位置的流程图如图3所示,整个的位置记录是在后台运行,用户无需亲自操作。
图3 浏览位置记录流程图
Fig.3 Flow chart of browsing position record
1.2 成语收藏
在成语学习的过程中,很可能对某个成语感兴趣或者想加深对该成语的认识,此时可以点击成语后面的收藏夹按钮,收藏的成语会添加到SQLite数据库中[5]。如果用户点击收藏的标签,可以查看所有收藏的成语,而若点击一个成语也可以查看成语的详细信息。如果用户学会了收藏夹内的成语,当然也可将其删除的。同时,收藏过的成语还会在手机屏幕上方进行实时的滚动显示,帮助学习者在潜移默化中掌握成语。
1.3 成语猜谜
成语猜谜游戏,属于该软件的休闲娱乐部分。为了让用户在学中玩、玩中学,在软件中增加了成语猜谜功能,可以锻炼用户的逻辑思维,同时巩固所学习的成语。在成语谜语中,谜底正确或者错误都有相应的图片提示,也会显示本局总得分;可以查看本题答案,也可以重新选择一组题(默认每组为10题);历史记录可以查看历史最高总分,评价可以查看本局游戏的正确率等信息。
成语猜谜每次出现的10个题目都是随机出现的,每一次的题目选项都是通过radiobutton按钮来控制的,每次只能选择一个答案,答案是唯一的[5,10-11]。并且每次题目都不一样,即使用户记住答案也不能保证下次猜谜能用得上,猜得对。此部分的主要代码实现如下所示:
// select()方法是随机产生20个数据,并且将这些数据放到一个list的列表中,
public ArrayList
database = new Welcome().openDatabase(context);
Cursor cursor = database.rawQuery(
"select ga_idiom from game ORDER BY RANDOM() LIMIT 30 ", null);
while (cursor.moveToNext()) {
String ga_idiom = cursor.getString(cursor.getColumnIndex("ga_idiom"));
game = new Game(ga_idiom);
idiom.add(game);
}
cursor.close();
database.close();
for (int i = 0; i < games.size(); i++) {
idiom.remove(games.get(i).getGa_idiom());
}
return idiom;}
接下来将成语放到了一个数组中,并且将成语数组重新排列,再将成语对应的答案与之实现匹配。
1.4 成语搜索
就像英语移动学习软件那样,可以通过连接网上的WebService来查询单词,在网上有许多关于英语的WebService服务[12-14],但是关于成语的WebService还是很少的,所以本系统是通过自己开发WebService来满足成语查询的功能。成语的搜索功能是通过连接WebService服务器[9]来实现的。WebService的体系结构如图4所示。
图4 WebService体系结构
Fig.4 WebService architecture
Android连接WebService可以通过以下方式连接:
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
// 设置调用方法的参数值
rpc.addProperty("originalId", clientId);
// 生成调用WebService方法的SOAP请求信息
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
// 创建HttpTransportsSE对象
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
// 使用call方法调用WebService方法
ht.call(SOAP_ACTION, envelope);
// 获得WebService方法的返回结果
detail = (SoapObject) envelope.getResponse();
在服务器端录入了新华词典中绝大部分的成语,支持用于根据首字母模糊查询,方便用于搜索成语。通过连接WebService服务器实现查询,提高了查询速度,节省手机资源。
1.5 系统设置
系统设置将有利于某些系统选项的直观设定,可方便用户进一步执行系统操作。当每次进入软件时都会默认将背景音乐打开,有了背景音乐即可使用户沉浸在中国的古代文化中,给人以视听双重享受[15]。在系统设置部分涉及到的知识是Intent和Service,因为背景音乐是不断在后台运行的,则可将其作为一个服务进行处理[11-12]
背景音乐设置的相关代码如下:
Intent intent = new Intent(SetActivity.this, AudioService.class);
switch (btn.getId()) {
case R.id.btn_certain:
// 启动Service,然后绑定该Service,同时销毁该Activity
startService(intent);
case R.id.btn_cancel:
// 结束Service
// unbindService(conn);
stopService(intent);
此后,将用一个服务连接来监听音乐是否还在播放,也就是要监听autoService是否已经被清除,代码如下所示:
private ServiceConnection conn = new ServiceConnection() {
public void onServiceDisconnected(ComponentName name) {
audioService = null;
}
public void onServiceConnected(ComponentName name, IBinder binder) {
// 这里将实例化audioService,通过binder来实现
audioService = ((AudioService.AudioBinder) binder).getService();
}
};
2 结束语
随着互联网技术的迅速发展,特别是互联网+移动终端的组合问世,愈加便利了人们的生活,同时也提高了社会生活质量[16-18]。本系统打破了常规借助成语词典学习的限制,是将移动学习与成语学习相结合的一次开发尝试,在成语学习模块将成语进行分类学习,而且可以将感兴趣的成语加入到收藏夹,同时收藏夹里的成语又可以滚动显示在屏幕上,这样随时随地学习,增加记忆力,最重要的是在本款软件中将学习与游戏相结合,也就是寓教于乐,不仅增加了学习的乐趣,更重要的则是提高了学习效率。
参考文献:
[1]Aleksander Dye et al:Mobile Education-A Glance at The Future[EB/OL] .http://www.nettskolen.com/forskning/mobile_education.pdf.
[2]WAHRENBERG. Development of an Android Mobile Application for International Students[A].第八届和谐人机环境联合学术会议(HHME2012)论文集CHCI[C].广州:第八届和谐人机环境联合学术会议组织委员会,2012.
[3]任海峰,赵君.移动学习国内外研究现状分析[J] .成人教育,2010(1):95-96.
[4]姚昱旻.基于Android 的移动学习终端平台的开发与研究[D].长沙:中南大学,2008.
[5]吴想想.基于Android平台软件开发方法的研究与应用[D].北京:北京邮电大学,2011.
[6]武玉坤.基于Android移动学习平台的设计[J]. 计算机光盘软件与应用,2013,1:20-21.
[7]高敏,吴介军,姚红静.基于手机的M-Learning系统研究与设计[J].现代教育技术,2008,08:93-96.
[8]党李成.基于Google Android智能手机平台的研究与应用[D].合肥:安徽大学,2010.
[9]李凤云,黄迎春,冯永新.基于WebService的SOA实现技术研究[J]. 科技视界,2012(8):17-19.
[10]李刚,编著. 疯狂Android讲义[M]. 北京:电子工业出版社,2013.
[11][美]Bill Phillips Brian Hardy,著.Android编程权威指南[M]. 北京:人民邮电出版社,2014.
[12]王凌燕,吴华,王丽燕. 基于Android的英语语法移动学习系统设计与实现[J].计算机与现代化,2013(5):233-235.
[13] 李向东,杨昕.基于Android平台的移动学习系统的设计与实现[J].计算机时代,2014,(4):24-27.
[14]夏帮贵.基于Android平台的移动学习系统[J]. 西华大学学报(自然科学版),2011(6):82-84.
[15]沈成,张凯,吕伟鹏,等. 基于Android平台的课程学习系统的设计与实现[J].重庆工商大学学报(自然科学版),2014(1):56-58.
[16]杨子天,邵宇.基于Android平台的在线考试系统的设计与实现[J].电脑知识与技术,2014,(12):554-558.
[17]吴燕琴.基于手机的移动学习资源设计研究[D] . 武汉:华中师范大学,2011.
[18] 丁永明,纪方明.基于Android 平台移动学习软件的研究与实现[J].数字通信界,2011(01):66-68.