APP下载

基于Android平台的课程学习系统的设计与实现*

2014-05-25吕伟鹏万小霞

关键词:字段例句词典

沈 成,张 凯,吕伟鹏,万小霞

(盐城师范学院,江苏 盐城 224002)

基于Android平台的课程学习系统的设计与实现*

沈 成,张 凯,吕伟鹏,万小霞**

(盐城师范学院,江苏 盐城 224002)

移动终端数量飞速增加,已经成为人们日常工作中必不可少的组成部分;设计基于Android平台的课程学习系统,通过在手机上安装客户端程序,使得手机具有了课程学习的功能;界面外观采用Android中的Activity搭配xml实现,通过XML格式获取数据,方便客户的学习;最后以英语课程学习为例,显示课程学习系统的效果。

Android;英语课程;学习系统

Android作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于Android的电话。2012年第1季度,Google发布针对中国城市智能手机用户的调研报告,城市的智能手机普及率已达总人口的33%[1],而在大学生当中,调查报告显示大学生拥有智能手机的比例高达84.9%[2],手机已经成为每个学生的必需工具。为了给学习提供不间断的学习机会,在智能手机上安装课程学习软件对某些学生来说无疑会带来很大的便利。英语学习是众多学生要面临的问题,甚至有学生对英语学习产生倦怠的情绪[3],激发大学生学习英语的兴趣有诸多方法[4],其中英语学习环境也很重要[5]。在此利用Android手机的移动性及课程学习的随机性,设计实现了基于Android平台的英语课程学习系统。

1 系统分析与设计

1.1 需求分析

本系统从用户使用的角度对系统功能进行分析,用户至少需要的功能有学习新的单词,进行单词记忆;词典功能,如果用户碰到不认识的或不确定的单词时,可以进入词典功能查阅词典,系统应该根据输入的中文或英文单词,给出相应的解释,如果查不到单词,则提示用户单词不存在;阅读小短文,用户在随身携带手机时,可以利用空余时间,进入阅读短文模块,选择感兴趣的话题,阅读英文小短文,增加英语的阅读量,同时也能扩展自己的词汇量;名言警句,阅读名人的名言或是一些警示语句,时刻提醒用户在做人、做事以及生活等方面的一些知识,提醒用户在为人处事等日常生活中的行为。

1.2 功能模块设计

图1 系统功能架构图

从用户使用角度进行分析,系统功能主要分为6大模块:单词记忆模块、超级词典模块、阅读理解模块、每日一句模块、帮助文档模块和退出系统模块,整个系统功能模块的架构图如图1所示。

(1)单词记忆模块。该模块的主要功能为单词记忆,功能包括快速记忆和强化记忆,快速记忆只给出英语单词,而不给出单词意思,若用户不知道该词义,则可点击显示按钮,此时给出汉语解释,也可点击打乱排列顺序按钮重新排序后继续记忆;强化记忆:只给出单词的汉语解释,但不显示单词,让用户填写英文单词,如果忘记,可点击显示英文按钮,此时给出英文单词,也可点击打乱排列顺序按钮重新排序后继续记忆。

(2)超级词典模块。该模块提供英语词典功能,内置离线数据库,包括日常交际中的大部分单词的解释、音标、例句等信息。当用户联网时,可远程连接到服务器查询单词,服务器通过爬虫采集网络上几大词典的信息,整合后通过xml形式传回客户端进行解析,单词信息更加全面丰富,提供大量例句,权威解释,网络释义等功能。

(3)阅读理解模块。每篇文章都包括核心单词列表,以帮助用户记忆并掌握这些单词的用法,鉴于移动客户端屏幕尺寸的不确定性,每篇文章都提供放大缩小功能,以帮助用户自助调整字体尺寸,满足视觉舒适度。

(4)每日一句模块。该模块每天提供一句经典英文供大家欣赏,在学习英文的同时,思考生活哲理,激励学习动力,一举两得。

(5)系统帮助模块。该模块向用户提供系统使用的说明文档和帮助手册。

(6)退出系统模块。该模块起到关闭系统,释放系统资源的作用。

1.3 数据库设计

在对系统的功能进行分析后,进行数据库设计。系统根据数据库设计原则,遵循第三范式原则,能在扩展性和数据规范性方面达到平衡,一个表描述一个单一的实体,表内每一条记录都有唯一的标识。本系统数据库采用内置的SQLite数据库,程序View层采用Activity和XML配置,数据库访问使用Android内置的SQLiteDatabase访问类库,使用SharePrefence类库存取XML配置文件。系统中主要包括任务表、单词表、例句表,任务表主要包括id、任务名称name和任务是否完成isfinish三个字段,id字段是由数据库系统自动编号的整型值,是单词记忆任务的编号,作为任务表的主键,名称字段是字符串型,是单词记忆任务的名称,名称格式以List+数字的形式标识,以确保任务名称的唯一性,isfinish字段表示该任务是否完成。单词表主要包括单词编号word_id、任务名称id、存储单词名称word_name、存储单词的解释信息word_def、单词发音文件的地址word_audio、存储例句的编号sen_id六个字段,word_id是单词编号,也是单词表的主键,是由系统自动编号的整型值,id字段参照任务表中的id字段,作为外键,word_name字段存储单词,以小字字母存储,word_def是字符串型,长度1 024字节,存储单词的中文解释信息和词性说明,word_audio字段是字符串型,存储单词的发音信息,sen_id是参照例句表中的例句编号。例句表包括例句编号sen_id、单词名称word_id、例句英文信息orig和例句中文解释信息trans四个字段,sen_id字段是整型字段,是由数据库系统自动编号的整型值,作为例句编号,该字段为本表主键,word_id字段是整型字段,是外键,参照单词表中的word_id选项,orig字段是字符串型字段,长度为1 024字节,存放例句的英文信息,trans字段是字符串型字段,长度为1 024字节,存储例句的中文解释信息。

1.4 系统控制流程

用户打开程序界面,选择不同的按钮即可进入相应的学习模块。以阅读理解为例,用户打开阅读理解的界面后,系统先呈现给用户文章列表,用户选择后,跳转到相应的Activity,系统读取已经存储好的文章信息,返回给Activity进行展示,用户点击返回,返回到主界面,图2所示为阅读理解模块的时序图。

图2 阅读理解时序图

2 系统功能实现及关键技术

根据前面对系统的功能分析及数据库的设计,进行系统的开发工作。系统开发环境选取Eclipse集成开发环境,采用 Java语言进行编程,Android模拟器使用Android SDK。设计实现了单词记忆模块、超级词典模块、阅读理解模块、每日一句模块、帮助文档模块和退出系统模块的功能。下面给出系统部分功能模块关键技术的实现。

2.1 系统主界面设计

Android程序的界面可以使用Java代码设计,也可以使用XML文件定义,采用XML文件定义用户界面,是一种优秀的设计方式,XML文档专业负责用户界面的设置,而Java程序专门负责业务实现,这样能大大降低程序的耦合度。从主界面上可以直接单击相应的按钮进入各个功能模块,主界面的XML部分代码如下:

其中的标记<RelativeLayout>定义整个界面的布局,此处采用相对布局方式,相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定,标记<TextView>作用是在界面上显示文本,此处显示的文本是“英语学习系统”,它是由<TextView>标记内的“android:text”的值来决定,标记<Button>表示按钮,供用户单击使用,此处以“单词记忆”按钮为例,显示的文本由android:text的值决定,取决于“@string/menuitem1”所设定的值,按钮可以响应单击事件,当单击此按钮时,运行“android:onClick”值所指定的方法,即toWordRemember()方法。

2.2 阅读理解模块

当用户单击“阅读理解”按钮,根据main.xml文件中配置的“android:onClick”获得”toReading”,执行MainActivity中的toReading()方法,在toReading()方法中,创建一个Intent实例intent。Intent是Android应用内不同组件之间通信的载体,当运行时需要连接不同的组件时,通常使用于Intent实现,Intent可以启动应用中另一个Activity,也可以启动一个服务,甚至能发送广播消息。此处当用户单击“阅读理解”按钮,程序界面应用跳转到有“阅读理解”的界面,因此创建Intent实例后,调用其setClass()方法,设计所跳转的Activity类,如 intent.setClass(this,ReadingActivity3.class),然后调用当前上下文的 startActivity()方法,即 this. startActivity(intent),来启动ReadingActivity3,进入阅读理解界面。在ReadingActivity3启动后,自动运行其中的onCreate()方法,启动此Activity。在此界面下列出精选的阅读理解的文章供用户点击阅读。

2.3 超级词典模块

超级词典模块实现单词查询功能,在用户单击“超级模块”按钮后,根据main.xml文件中配置的onClick值“toWordSearch”,调用MainActivity中的toWordSearch()方法,在toWordSearch;()方法中,创建的Intent实例指向Dict这个Activity,调用当前上下文的startActivity()方法,启动Dict,进入超级词典界面。在超级词典界面,提供一个编辑框,EditText,用户可以在文本框中输入文本,用于查询单词的输入,提供一个按钮Button,当单击此按钮时,系统启动查询功能,在词典中查询匹配的单词,并将相应的解释在界面上显示出来。

2.4 单词记忆模块

单词记忆模块提供用户进行单词浏览记忆的功能。当用户单击“单词记忆”按钮,根据main.xml文件中配置的“android:onClick”的值“toWordRemember”,执行 MainActivity中的 toWordRemember()方法,在toWordRemember()方法中,创建的Intent实例指向RecallList,通过startActivity()方法,启动RecallList,进入单词记忆模块。在RecallList的onCreate()方法中,设置界面的标题,同时利用WordDictDAO连接数据库,在WordDictDAO中,使用SQLLiteDatabase的openOrCreateDatabase()打开数据库,将所取到的单词及其解释等信息以列表的形式显示,供用户阅读记忆。

[1]Google发布针对中国城市智能手机用户的调研报告[R/OL].(2012-06-06).http://www.36kr.com/p/116022.html

[2]智能手机在大学生中的使用情况及前景的调查报告[R/OL].http://www.docin.com/p-566382863.html

[3]钱翠兰,胡荣华.高等院校大学生英语学习倦怠问题探讨[J].安徽商贸职业技术学院学报,2012,11(4):78-80

[4]宗小捷.激发大学生英语学习兴趣的策略[J].佳木斯教育学院学报,2010(5):368-369

[5]陈洁,罗桂保.大学英语学习环境与自主学习[J].长春教育学院学报,2009,25(3):70-71

[6]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010

[7]王向辉.Android应用程序开发[M].北京:清华大学出版社,2010

[8]李绪成.Java EE实用教程-基于WebLogic和Eclipse[M].北京:电子工业出版社,2011

[9]埃克尔.Java编程思想[M].4版.北京:电子工业出版社,2007

[10]白文江.基于Android平台的移动应用开发研究[J].太原大学学报,2011,12(3):117-120

[11]吴想想.基于Android平台软件开发方法的研究与应用[D].北京:北京邮电大学,2011

[12]赵丞兵.基于Android平台的移动学习系统设计与实现[D].北京:北京邮电大学,2012

[13]本特利(BENTLEY J).编程珠玑[M].第2版.北京:人民邮电出版社,2010

[14]程杰.大话设计模式[M].北京:清华大学出版社,2007

Design and Implementation of Course Learning System Based on Android Platform

SHEN Cheng,ZHANG Kai,LU Wei-peng,WAN Xiao-xia
(Yancheng Teachers University,Jiangsu Yancheng 224002,China)

With the rapid increase of mobile terminals which become indispensable part of daily life of the people,it is necessary to design Android platform based course learning system to make mobile phones have course learning function by installing customer-end programs in a mobile phone.The outside interface is implemented by using Activity matched with xml in Android and the data are obtained by XML format in order to make the study of the customers convenient,finally by taking English course learning as an example,the effect of course learning is revealed.

Android;English course;learning system

TP391

A

1672-058X(2014)01-0056-04

责任编辑:代小红

2013-06-06;

2013-07-09.

2013年度盐城市工业科技支撑指导性计划项目(29);盐城师范学院自然科学基金项目(11YCKL030).

沈成(1989-),男,江苏盐城人,从事计算机网络、Web系统开发技术研究.

**通讯作者:万小霞(1978-),女,江苏赣榆人,讲师,硕士,主要从事领域为无线传感器网络研究.

猜你喜欢

字段例句词典
图书馆中文图书编目外包数据质量控制分析
米兰·昆德拉的A-Z词典(节选)
米沃什词典
好词好句
好词好句
好词好句
好词好句
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
漫画词典