基于android移动终端藏语学习软件的设计与实现*

计算机时代 / 2018年10月19日 13:29

手机

王文广+拥措+冯艳杰+汪书北

DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.025

摘 要: 基于android移动终端的“藏语通”是一款具有辅助功能的藏语学习软件。为了满足广大用户对藏语的学习需求,突破藏区传统的面试教育,推动藏语学习的开放化,该软件的设计注重实用性及通用性。采用模块化设计理念,使系统具有良好的可扩展性,实现了藏语学习方法、藏语语法、藏汉词典、写作训练等模块。其界面设计、连接、滑动均有较好的体验,并且解决了藏文在安卓手机上输入和显示问题。

关键词: 藏语通; android移动终端; 学习软件; 模块化设计

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2016)07-85-04

Design and implementation of Tibetan learning software for Android

Wang Wenguang1, Yong Cuo2, Feng Yanjie3, Wang Shubei1

(1. The Research Center of Tibetan Information Technology, Tibet University, Lhasa, Tibet 850000, China;

2. The modern educational technology center, Tibet University; 3. College of Economic and Management, Zhoukou Normal University)

Abstract: The Tibetan-repository, which is based on the android mobile terminal, is Tibetan language learning software with auxiliary functions. The software design pays attention to being pragmatic and universal, so that it can break through the traditional face-to-face Tibetan education, make Tibetan language learning more open, even meet the demands of various customers for Tibetan language learning. The modularization conception is adopted in the design process to insure the good extensibility of the system. The APP not only realizes the four main modules (Study Skills for Tibetan; Tibetan grammar; Tibetan-Chinese dictionary; Writing Training), but also resolves the problem of Tibetan language input and display in the Android mobile phone.

Key words: Tibetan-repository; Android platform; learning software; software modularization

0 引言

移动互联网的发展日新月异,智能手机,平板电脑等数字化设备己经被普遍的使用,移动电子设备的普及,给我们带来了移动学习的热潮,一种崭新的学习模式己经兴起[1]。通过调查发现,对于藏语的学习,还仅限于传统的面试教育,这种学习方式己不能适应现代社会发展的要求。移动学习的出现对藏语学习而言,打破了传统课堂教育不能根据学习者的性格、习惯、能力、基础等多种特点,自由进行学习的限制;利用各种移动设备,实现按需、随时随地的学习,将大量分散的、不连续的、碎片状的时间整合起来。

本文探讨一种开放式教学和自主性学习的软件——《藏语通》。

1 研究现状和问题分析

1.1 藏语学习软件的研究现状

目前为止,国内外尚未研发出基于Android平台系统的全面藏语学习软件。世面上已有的藏语学习软件,诸如“梦之藏文发音学习软件”,其内容仅限于初学者对藏文字母表及读音的学习,学习的方向较为局限。此类软件也只能在PC机上操作。所以本项目从Android客户端出发,致力于为用户提供便捷、全面的藏文学习体验。

1.2 主要解决的问题

⑴ 在android平台上开发藏语学习软件,必须要实现藏文显示和藏文输入。

⑵ 在我们的项目中有一个模块——藏汉词典。该模块首先要实现藏汉互译,其次要实现准确查找词语和数据库中藏文检索,研究和完善在移动终端上的藏文信息处理。

⑶ android系统中的藏文流畅处理:比如研究藏文字库导入、藏文输入法的选择。

2 《藏语通》客户端总体设计

2.1 操作系统和开发语言

根据IDC数据显示,在2015的移动市场Android应用仍然处于绝对主导地位。2015年第一季度全球智能手机出货量中,有78%是Android手机,基于对未来用户数量的乐观预判,我们采用了在Andriod平台上开发,在Android平台上开发有两个优势:价格和开源的特性,这使我们能够大胆的根据需求从底层进行高度定制化的二次开发。

我们选择Java编程语言,因为Java是运行在框架运行环境中的,易于跨平台移植。

2.2 《藏语通》学习软件的模块概要

我们项目组经过需求调研和分析,最终确定以下四个功能模块:藏语学习模块、藏汉词典模块、在线交流模块、藏文一级备考模块。如图1所示。

藏语学习模块:这个模块是用户学习藏语的主要阵地,有藏语学习方法、藏语语法、藏语单词、日常用语、阅读理解和写作训练。

藏汉词典模块:实现了对藏汉两种语言词句的查询,帮助用户查找一些不懂的单词。

在线交流模块:用户在学习藏语的过程中可以自由地提出问题,以及帮助他人解决问题,交流经验。

藏文一级备考:是为准备过藏语一级考试的用户而设置的一个功能。建有历年藏文一级考试真题和参考答案,以及我们根据藏文一级的难度出的模拟试题。用户使用这一功能会对藏语一级的出题形式及其难度有一个很好的把控,做到有针对性的学习。

此外,为了让用户的手机能正常地显示藏文的输入输出,我们在软件内置藏文输入法的下载。

2.3 系统体系结构的设计

基于B/S架构的Android端体系结构如图2所示。

[表现层][功能服务层][数据访问层] [用户客户端] [学习方法][藏语单词][藏语语法][日常用语][一级备考][简易词典][用户交流] [语法及单

词文本] [真题试卷及留言] [藏语单词词库]

图2 《藏语通》学习软件体系结构

《藏语通》学习客户端在设计逻辑上分为表现层、功能服务层和数据访问层。

Android客户端的表现层采用Android框架自带的UI组件,实现用户显示界面;服务层采用Android四大组件之一的Activity对显示层发出的请求进行相应的操作;数据访问层采用Android手机自带的SQLITE数据库存储。

3 《藏语通》客户端的实现

3.1 数据库的建立

本软件的内容分为学习方法、单词、日常用语、藏汉词典等,建立单词内容和词典内容的数据库。

单词内容的数据库采用的是andriod内置的SQlite进行创建,SQLite是一款轻型、功能强大的嵌入式关系数据库。我们将藏语单词存放在了对应的工程的databases目录下,单词信息数据表如表1所示。

词典内容的本地数据库同样采用SQLite数据库,操作数据库用的是SQLite数据库类来写SQL语句。本地数据库词库表信息如表2所示。

3.2 软件主界面

在开发过程中,界面开发很重要,因为它直接关系到用户体验,而且间接关系到功能开发。一个和睦美丽的界面会给人带来舒畅的视觉享受。项目组在开发主界面时,以图片说明软件功能作为头导航部分,图片是自动切换调用View Pager方法实现各图片隔时自动切换。主要代码如下:

@Override

protected void onStart() { super.onStart();

scheduledExecutorService=

Executors.newSingleThreadScheduledExecutor();

scheduledExecutorService.scheduleWithFixedDelay(new ViewPagerTask(), 4, 4,TimeUnit.SECONDS); }

@Override

public void run() {

currentItem=(currentItem +1) % imageIds.length;

//更新界面

handler.sendEmptyMessage(0);

handler.obtainMessage().sendToTarget(); }

头导航下面的部分功能图标通过继承TabActivity的方法来写的:一是使用TabActivtiy里的getTabHsot()方法得到TabHost对象;二是向TabHost添加tabs调用tabHost.addTab(TabSpec)方法。

3.3 藏汉词典模块的实现

用户选择藏汉词典的操作后,智能客户端会自动加载到指定的数据库,在单词查询界面,用户输入要查询的藏语或汉语单词,会获得一个SQLiteDatabas实例,然后调用该实例的query方法来检索本地数据表进行匹配,判断是否存在该单词,如果存在就返回该单词在数据库中的中文或藏文解释。其整个流程图如图3所示。

主要实现代码:

if (db.isOpen()) {

Cursor=db.rawQuery("select * from tibetdpot;", null);

if (cursor!=null && cursor.getCount()>0)

//判断是否存在该单词 {

List words1List=new ArrayList();

int _id;

String tibetm;

String Chinese;

while (cursor.moveToNext()) {

_id=cursor.getInt(cursor.getColumnIndex("_id"));

tibetm=cursor.getString(cursor.getColumnIndex

("tibetm")); //取zangwen

Chinese=cursor.getString(cursor.getColumnIndex

("Chinese")); //取zhongweng

words1List.add(new words(_id, tibetm.trim(),

chinaesem.trim())); }

藏文显示的主要代码:

public void Setzwtypeface(Context context, TextView v) {

Typeface face=Typeface.createFromAsset(context

.getAssets(), "fonts/zwzti/himalaya.ttf");

v.setTypeface(face); }

4 性能测试

本软件开发完成后,采用小米公司生产的小米3进行真机性能测试,软件安装完成后对各功能测试,均能达到预期效果。

藏语学习模块的效果图如图4,进入软件的主程序界面,用户可以选择所要学习的模块,例如真题预览、单词学习和藏语语法学习等。

藏汉词典模块的效果图如图5,进入藏汉词典界面,我们可以查询藏语单词对应的汉语解释,同样也可以查询汉语词语对应的藏语解释。

5 总结与展望

本文探索了藏文信息处理及藏语言移动学习。《藏语通》软件的设计与实现,以期突破藏区传统的面试教育、推动藏语学习的开放化。由于我们的知识和经验有限,软件中也有很多不足之处,希望今后继续研究和改善以下三个问题。

⑴ UI和代码的进一步优化,以提高用户视觉效果和操作流畅度。

⑵ 强化词典功能:增加装载数据库功能,不同的用户涉及的领域不一样,对藏语词典的使用情况也不一样,用户根据自己的需求可以装载自己的数据库。还可以增加摄像头取词功能。

⑶ 添加在线藏汉翻译:在联网的基础上,根据藏语语法,实现藏汉之间的即时翻译是日后研究的重点。

参考文献(References):

[1] 张敬丹.基于Android的移动学习软件的设计与实现[D].燕

山大学,2015.

[2] 黄艺锋基于Android平台电子词典的设计与实现[J].计算机

应用,2011.32(2):298-232

[3] 陈玉忠.藏文信息处理技术的研究现状与展望[J].中国藏学,

2003.4:97-107

[4] 扎丽玛.英汉蒙电子词典计算机查询软件的设计与实现[D].

内蒙古师范大学,2006.

[5] 冯馨.一种基于Android平台移动学习系统研究与设计[D].

湖南大学,2013.

[6] 尼玛扎西.一种在移动电话上实现藏文处理的方法[J].四川

大学学报,2009.41(1):162-167

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。