汪书北 拥措 赵栋材
基于Android平台的藏语学习软件设计与实现*
汪书北 拥措 赵栋材
西藏大学藏文信息技术研究中心,拉萨 85000
针对目前移动设备上藏语学习软件存在功能单一、实用性较差等问题,设计和实现了基于Android平台的藏语学习软件,该软件解决了藏文显示,藏汉语言切换,藏文输入,藏汉互译等关键问题。根据学习藏语的规律和步骤,该软件实现了藏文辅音字母学习、藏语发音、藏语语法、藏文句子和藏语文章学习的功能,能够高效的解决藏语入门难,发音难等问题,是藏语入门学习必不可少的帮手。
藏语;学习软件;安卓
目前为止,国内外尚未研发出基于Android系统的藏语学习软件。世面上已有的藏语学习软件,诸如“梦之藏文发音学习软件”,其内容仅限于初学者对藏文字母表及读音的学习,学习的方向较为局限。再加上此类软件只能在PC机上应用,操作起来不够方便。所以本文从Android客户端出发,设计一款让用户能够更加轻松、便捷、全面学习的藏文软件。
随着西藏旅游的发展,越来越多的人进入西藏,西藏文化变得炙手可热,藏语作为文化的一部分也深得大家的喜爱。学好藏语将会更快的融入到藏族同胞的日常生活中去,对当地的文化的了解也将更加深入。藏语学习软件可以为旅游者提供便利,能够为需要过藏语一级的同学带来福音,更重要的,能够促进民族文化的传播。本软件涵盖了藏语一级的所有听力、词汇和句子,只要适当的练习和学习就可以很轻松的达到藏语一级水平。
藏语学习软件提供了如图1所示的功能模块。
软件功能模块划分详细介绍如下:
(1)Launcher:包括用户登录、用户注册和找回密码。用户登录是用户进行的登录操作。用户登录将会使用更多软件的功能,比如在线交流等。用户注册是用户第一次使用或者想要使用软件中更多功能而进行的操作。找回密码是由于密码丢失而需要进行的操作,该操作需要向手机或者邮箱发送验证码。
(2)课程管理:包括基础知识、同步训练、词汇积累。基础知识包括藏文的30个辅音字母、4个元音、语法、上下加字、前加字、后加字、再后加字和句子。同步训练包括阅读训练和写作训练,为了方便阅读和写作,这一模块还添加了藏汉互译功能。词汇积累是在学习藏语过程中常用单词的汇总。
(3)在线交流:包括名师答疑和小组讨论。在学习中遇到不懂的问题时,可以通过软件中的在线交流向老师寻求解答。小组讨论则是注册了本软件的用户可以在一起探讨学习中遇到的问题和分享学习经验。
在Android设备上的藏文显示、藏汉语言互译、藏文输入、数据库创建与调用及藏汉互译都是本软件的关键与核心,下面将介绍这些核心的技术实现。
4.1 在Android设备上显示藏文
很多使用Android系统的智能移动设备都不能够有效的支持藏文显示,如果要解决藏文显示的问题,可以采取以下两种办法:
第一种,获取Android系统root权限,然后将藏文字体加入Android系统字库。
第二种,由于Android提供了对view控件自定义字体的方法,所以在程序开发时可以自定义控件的字体。由于市场上大部分手机是无法获取root权限的,所以第二种方法的实现要比第一种更加便捷,要实现第二种方法,首先需要将藏文字体放在项目资源文件夹assets中,然后对视图控件设置藏文字体,藏文字体为himalaya.ttf,是windows系统自带的一种字体。主要实现代码如下:
4.2 藏汉语言切换
要实现软件中藏汉语言的相互切换需要进行以下三个步骤:
(1)首先在项目res文件夹下建立资源文件夹values-zh-rCNTB,“zh”表示语言,“r”是一个标记,“CNTB”表示中国西藏。然后将values文件夹下的资源文件(例如strings.xml)相对应的汉语翻译为藏语,并将资源文件保存到values-zh-rCNTB文件夹下。
(2)进行语言的切换,切换的主要代码如下:
4.3 藏文输入的实现
要实现藏文的输入,首先要能够显示藏文,藏文的显示已经在4.1中提到,然后要有一款藏文输入法。本软件中采用的输入法是Tibetan Keyboard。为了方便用户对藏文的输入,所以本软件内置了藏文输入法,藏文输入法放置在项目assets文件夹中。程序先将资源文件夹下的输入法通过写入流方式写入到移动设备的内部存储上,然后调用安装程序进行安装。代码中的fileName是指输入法的全称,files是指输入法在移动设备中的存放路径。实现藏文输入法安装的主要代码如下:
4.4 藏汉互译的实现
藏汉词汇互译需要大量的词汇作为支撑,所以在本地数据库的表 tibetDepot中导入了14000条词汇,词汇是以藏汉意思相对照的关系存储。存储形式可查看本文图2。用户在查询词汇时,就会将此词汇拿到数据库中进行匹配,如果数据库中存在就输出查询结果,否则就会将此词汇自动添加到词库。
4.5 数据库的创建与调用
Android中创建数据库,需要写一个实现类去继承SQLiteOpenHelper,然后通过实现类来操作数据库。但是创建的数据库中没有任何数据,所以需要从外部导入一个数据库。本软件把外部数据库放在项目assets文件夹中,当软件首次调用数据库时,就会将外部数据库通过写入流的方式写入到软件的本地目录中,最后通过SQLiteOpenHelper实现类去操作数据库。主要实现代码如下:
检查数据库是否存在的方法,返回布尔值
在本软件的设计中需要用到数据库,比如藏语单词词库和句子库等。因为Android系统内置了SQLite,所以本软件使用了软件Navicat for SQLite进行数据操作。
5.1 数据库的结构
数据库的名称为Utibet.db,存放在data/ data/com.utibet.zangyut/Utibet.db。
数据库内的表,如表1所示,各表的结构如表2所示。
表2 表alphabet、tibetDepot、sentence的结构
数据表tibetDepot和article的部分内容如图2和图3所示。
5.2 数据库查询主要代码
数据库查询可以查询所有的数据代码,也可以根据关键字查询,下面以tibetDepot表的查询为例。代码中 db为数据库的实例,words1List为保存查询信息的ArrayList集合。
查询所有数据的代码:
根据关键字查询的代码:
本软件采用主页面和左菜单的设计,主页面包含藏语的基础学习,左菜单栏中包含了在线交流、藏语输入法安装等功能模块。辅音字母学习中的字母拼写是通过gif动画显示。
藏语学习软件采用听说读写的设计模式,使藏语学习变得简单高效。只要按照本软件学习方法模块中的方式去学习,在较短时间内可达到藏语一级水平,能够实现与藏族同胞简单地对话;如果学习时间较长,词汇积累量较多,就能够看懂藏语最简单的文章,听懂最常用的生活用语,达到藏语二级水平。相信藏语学习软件一定能够促进民族文化的传播,增进人们对西藏文化的了解。软件中的功能模块还会根据藏语学习的具体情况来做相应的调整,在藏文信息处理上还需要进一步的优化,特别是藏汉互译时需要处理藏语的语法结构,以便能够精确地进行互译。
[1]查斯.“藏语教学方法初探”[C].见:肖明月主编.第二届世纪之星创新教育论坛论文集.北京:世纪之星杂志社,2015.46-47
[2]王天航,史树敏,龙从军,等.基于错误驱动学习策略的藏语句法功能组块边界识别[J].中文信息学报,2014,28(5):170-191完整的.
[3]孙逊,鲜学丰,陈天乐,等.基于Android系统的英语听、说自主学习软件的设计与实现[J].计算机与现代化,2015(12):104-112(缺卷的)
[5]李慧霞,李志华,郭宁宁.基于Android的成语移动学习软件的设计和实现[J].智能计算机与应用,2015,5(4):60-67(完整的)
[6]Cay S.Horstmann,Gary Cornell.Java2核心技术[M].北京:机械工业出版社,2004.
[7]埃克尔.Java编程思想[M].陈昊鹏 译.北京:机械工业出版社,2007.
[8]迈耶(Meier,R.).Android4高级编程[M].佘建伟,赵凯译.北京:清华大学出版社,2013.
[9]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.
[9]杨丰盛.Android技术内幕·系统卷[M].北京:机械工业出版社,2011.
[10]赵亮,张维.基于Android技术的界面设计与研究[J].电脑知识与技术,2009.
[11]朱如龙.SQL Server数据库应用系统开发技术[M].北京:机诫工业出版社,2004.
[12]王珊.萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.
[13]齐志昌,谭庆平,宁洪.软件工程[M].北京:高等教育出版社,2004.
[14]Ian Sommerville.软件工程:第9版[M].程成译.北京:机诫工业出版社,2011.
[15]
Design and Implementation of Android Software Platform Based on Tibetan Language Learning
Wang ShubeiYong Cuo Zhao Dongcai
Research Center of Tibetan Information Technology,Tibet University,Lhasa Tibet850000,China
Tibetan language learning software on mobile device at the present time has the problem of single function and practicability.This paper designs a kind of Tibetan language learning software based on Android platform of,the software solves the Tibetan shows that Chinese language switch,Tibetan language input,the key problems in Tibetan.Based on the rule and steps of learning the Tibetan language,the software implements the Tibetan consonants,Tibetan language pronunciation,Tibetan learning grammar,Tibetan sentences and Tibetan study the function of the article.The software can efficiently solve the introduction of Tibetan language,pronunciation difficult problems,which is an important way to study the Tibetan language.
Tibetan;Learning software;Android
TP311.52
A
1672-464X(2016)2-88-05
(责任编辑:张卷美)
全国大学生创新项目(2015QCX086),2015年西藏自治区自然科学基金《移动学习在藏汉双语教育中的研究》
** 作者简介:汪书北(1993-),男,汉族,本科,学生,主要研究方向藏文信息处理。