基于Android平台英语口语学练测App的设计与实现

    曾棉辉 林伟平 谢志文 包汉宗

    

    

    

    摘要:文章基于Android平台,设计并开发实现了英语口语学练测App,详细介绍了App的功能设计,实现的关键技术等。App与中学英语教材内容相配套,方便中学生进行英语口语练习。

    关键词:Android;App;英语口语;设计与实现

    社会发展对人才的综合能力要求越来越高,英语口语能力就是其一,具有较强口语交际能力的人才更受欢迎,因此培养和提高学生英语口语能力是英语教学的重要任务。基于此,探索基于现代信息技术支持的,利用移动互联网应用辅助英语口语学习,是非常有价值的途径。

    目前英语学习类App众多,但大多是以单词记忆为主要应用场景,对于通过App练习英语口语的较为少见。本研究突破了英语口语学习的传统方式,将移动应用App与英语口语学习相结合,克服了时间与空间的限制,利用碎片化的时间便可高效地学习。

    1.功能设计

    根据实际的市场分析,本App的具体用户定为学习英语的中学生,包括高中生和初中生。App提供的学习内容与中学英语课本学习内容相配套。软件的具体设计情况如下o

    1.1App功能结构

    在广泛调研的基础上,对英语口语学练测ipp的功能进行了设计,包括登录功能、个人中心、学习功能、复习功能、分享社交等模块,具体如图1所示。

    1.2登录功能

    (1)若用户在本平台注册过账号,可通过手机账号密码进行登录。

    (2)第三方登录方式进行登录,本App现仅支持新浪微博及腾讯QQ账号登录。

    (3)如果没有注册,用户需要通过手机号及密码进行注册,手机号会通接口数据进行短信验证的方式进行验证,方可通过注册。1.3个人中心

    (1)个人信息:登录完成可以查看个人信息。个人信息包含头像、昵称、个人简介、性别及年龄,用户可以在个人信息界面进行头像、昵称、个人简介、性别及年龄的修改。

    (2)我的记录。

    学习记录:每一次学习的记录都会进行保存,每一条的记录信息会保存:书籍、单元、已学、未学;点击“继续学习”时用户返回到之前学习的位置进行学习。

    复习记录:记录信息包含书籍、已学、未学;复习以整本为复习,数据含量大,通过个人记录可有效提高复习效率。

    我的成绩:用户可以通过选择自己的学习历史记录,查询相应学习内容的成绩;每一个小模块都会包含优评、中评、差评及未学等成绩的统计,用户可根据选择,返回学习或者重新复习。

    1.4学习模块

    学习模块分为单词、短语、句子、段落的学习,学习模块可以选择对应书籍及单元进行学习,用户可针对不同情况进行选择性学习,在此期间未进行登录,或者登录session已经失效,需要进行重新登录,才可以进行学习。

    1.5复习模块

    复习模块是以整本书籍进行复习,同样分为4个小模块:单词、短语句子及段落。用户可以根据自己的学习情况,有选择地进行复习。重复学习,可以使印象更加深刻。

    1.6社交分享

    用户可以将自己的学习表现,包括成绩、己完成内容等,分享到微信等社交平台。

    2.实现

    2.1 hpp数据库的实现

    根据ipp功能,数据库共设计了10表,分别为:book(书籍表)、unit(单元表)、word(单词表)、phrase(短语表)、sentence(句子表)、paragraph(段落表)、user(用户数据表)、study(学习成绩表)、(复习成绩表)、score review scorestudy record(学习记录表)、review record(复习记录表)。

    限于篇幅,本文只列举两个表的具体设计情况。单词表word表的设计如表1所示,用户表user表的设计如表2所示。

    2.2语音识别技术的实现

    App语音功能的实现基础是讯飞语音SDK,实现语音的录入、上传、云解析以及云返回JSON数据实现A0p的语音功能。App针对两个需求,即听写和评测,对讯飞SDK进行了二次封装,增强项目的解耦性以及可维护性,分别为3类:IFLYAnalytics.java(语音听写类)、IFLYEvaluation.Java(语音评测类)、IFLYEvaluationAndAnalytics.Java(语音及听写功能合并的类);当用户点击“麦克风”按钮时,先初始化IFLYEvaluationAndAnalytics.Java并配置相关参数,调用start()方法,并实现回调监听IFLYEvaluationAndAnalytics。

    MyRecognizeListenter(),通过重写public voidonBeginOfSpeech()监听开始语音事件,在此方法中主要判断语音是否正在启动中,如果正在启动,就会调用stop()停止语音,这是考虑到用户第二次点击时,应停止录音;重写publicvoid setTextResult(Strmg strResulll返回评测成绩及听写结果,在此方法中调用handler.handleMessage(msg)将返回结果交由handler处理,由于解析过程是在子线程中进行,在android只有主线程(UI线程)才能修改uI界面,所以子线程与主线程间的通信,采用handler的消息机制处理;重写public void error(SpeechError error)方法,在此方法中将会处理相关的错误信息,比如用户阅读时声音的大小、网络连接异常。

    2.3结果判别和标注功能的实现算法

    App在实现用户语音识别后,对识别结果以文本形式呈现。通过设计识别文本和标准原始文本进行对比,对不正确的地方标注红色,用于提示用戶哪里出现问题。

    系统英语字符串和用户阅读的字符串对象分别为String strSys和String strUser,先通过split(“(?![-\\w])”),将系统英语与用户阅读英语拆分为两个字符串数组,分别为String strArraySys和String strArrayUser;通过循环将数组分别转化List集合,分别为ListlistSvs和ListlistUser;调用listUser.removeAll(1i stsvs)会返回一个需要标记红色字体的数据集合ListlistError;调用listUser,indexof(1istError),返回每一个字符串的索引;textView红色部分字体标记法,通过实例spannableStringBuilderbuilder=new SpannableStringBuilder(strUser.toString())ForegroundColorSpan redSpan=new ForegroundColorSpan(Color.RED)说明;主要通过builder.setSpan()来设置红色字体。

    2.4 App的实现

    英语口语学练测App的实现,通过Android开发工具包ADT和内置的sQLite数据库实现,版本兼容Android2.3及以上版本。具体实现效果如图2—5所示,图2为用户选择学习内容的操作界面,图3为用户进行单词学习训练的效果,图4为用户进行完成一个学习内容后,对学习效果的统计反馈情况,图5为查看用户学习记录的界面。

    3.结语

    本文设计并实现了基于Android平台的英语口练习工具App。App采用了讯飞语音识别开放技术和mob社会化分享等第三方框架,并针对这些框架进行大量二次开发和代码封装,极大地提升了App用户的体验效果。App所提供的练习内容与人教版教材一致,可以辅助学生实现课上学习、课后复习的高效学习。通过试用和体验,大部分用户认为该App功能设计合理,用户体验较好,能够为学生的英语口语练习提供较好的帮助。

    

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 风廓线雷达有源相控阵天线研究

    罗琦史冰芸摘要:风廓线雷达有源相控阵天线可以显著避免来自地杂波的干扰,非常适用于气象领域。文章从系统整体设计、天线辐射模块方案、

  • 基于MATLAB 的信号时域采样及

    唐敏敏 张静摘要:频率混叠是数字信号处理中特有的现象,发生频率混叠后,信号会分析出错误的结果。而采样过程中,由于频率不够高,采样出