Android平台中文输入法设计和实现.docx

上传人:b****0 文档编号:9492774 上传时间:2023-05-19 格式:DOCX 页数:59 大小:927.22KB
下载 相关 举报
Android平台中文输入法设计和实现.docx_第1页
第1页 / 共59页
Android平台中文输入法设计和实现.docx_第2页
第2页 / 共59页
Android平台中文输入法设计和实现.docx_第3页
第3页 / 共59页
Android平台中文输入法设计和实现.docx_第4页
第4页 / 共59页
Android平台中文输入法设计和实现.docx_第5页
第5页 / 共59页
Android平台中文输入法设计和实现.docx_第6页
第6页 / 共59页
Android平台中文输入法设计和实现.docx_第7页
第7页 / 共59页
Android平台中文输入法设计和实现.docx_第8页
第8页 / 共59页
Android平台中文输入法设计和实现.docx_第9页
第9页 / 共59页
Android平台中文输入法设计和实现.docx_第10页
第10页 / 共59页
Android平台中文输入法设计和实现.docx_第11页
第11页 / 共59页
Android平台中文输入法设计和实现.docx_第12页
第12页 / 共59页
Android平台中文输入法设计和实现.docx_第13页
第13页 / 共59页
Android平台中文输入法设计和实现.docx_第14页
第14页 / 共59页
Android平台中文输入法设计和实现.docx_第15页
第15页 / 共59页
Android平台中文输入法设计和实现.docx_第16页
第16页 / 共59页
Android平台中文输入法设计和实现.docx_第17页
第17页 / 共59页
Android平台中文输入法设计和实现.docx_第18页
第18页 / 共59页
Android平台中文输入法设计和实现.docx_第19页
第19页 / 共59页
Android平台中文输入法设计和实现.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Android平台中文输入法设计和实现.docx

《Android平台中文输入法设计和实现.docx》由会员分享,可在线阅读,更多相关《Android平台中文输入法设计和实现.docx(59页珍藏版)》请在冰点文库上搜索。

Android平台中文输入法设计和实现.docx

Android平台中文输入法设计和实现

硕士学位论文

Android平台中文输入法的设计和实现

TheDesignandImplementationofChineseInputMethod

onAndroid

 

研究生姓名

指导教师姓名

专业名称计算机技术

研究方向中文信息处理

论文提交日期

苏州大学学位论文独创性声明及使用授权声明

学位论文独创性声明

本人郑重声明:

所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的成果。

除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学或其它教育机构的学位证书而使用过的材料。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人承担本声明的法律责任。

研究生签名:

日期:

学位论文使用授权声明

苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。

本人电子文档的内容和纸质论文的内容相一致。

除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。

论文的公布(包括刊登)授权苏州大学学位办办理。

研究生签名:

日期:

导师签名:

日期:

 

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

Android平台中文输入法设计和实现

中文摘要

伴随着手持通信设备的日益普及和短信、微博等应用的广泛使用,人们越来越多地依赖于这些设备进行文字信息输入和处理。

如何快速准确地利用手持式设备输入文字信息,特别是中文信息,对中国人而言有利于重要。

首先,本文介绍了Andriod的主要组件和系统框架等内容,并分析了当今移动平台上的主流汉字输入法的优缺点。

其次,本文以纵横输入法为例介绍了在Android平台下的码本的设计和检索技术,包括字词码本结构的设计、索引方式的设计、联想功能的实现、码本的存储以及输入法具体的检索流程。

最后,本文全面分析了Android系统平台的输入法框架,对该框架的组成、流程、生命周期以及一些所需实现的类和函数等进行了详细的阐述。

在此基础上,在Andriod平台上设计并实现了纵横输入法,并介绍了其实现技术。

对实例输入系统的测试表明,该系统已达到了实用水平,并已经有了一定规模的用户群。

关键词:

输入法、Android、码本、输入架构

作者:

指导老师:

TheDesignandImplementationofChineseInputMethod

onAndroid

Abstract

Withthewidespreaduseofmobiledevicesandincreasingpopularityofshortmessage,microbloggingandothermobileapplications,therequirementofinputtingandprocessingtextinformation,especiallytheChineseinformationforus,onmobiledevicesisrecreasingrapidly..

Firstly,thisdesertationdescribesthemaincomponentandsystemframeworkofAndriod,andthenanalyzestheadvantagesanddisadvantagesofthepopularChineseinputmethodsonallkindsofmobileplatforms.

Secondly,itusesCKCinputmethodasasampletodescribethedesignoftherelationtablebetweencodesandtheirChinesecharactersorphrasesandtheretrievalmethodontheAndroidplatform,includingthestructureoftherelationtable,theindexing,theassociationfunctions,thestorageoftherelationtable,andspecificretrievalprocessesoftheinputmethod.

Finally,itanalyzestheinputmethodframeworkontheAndroidplatformandgivesadetailedexpositionoftheframeworkcomponents,circuit,lifecycleandsomeofthenecessaryachievedclasses,functions,andsoon.Onthisbasis,itdesignesandrealizestheCKCinputmethodontheAndriodplatform,andintroducesitsimplementiontechnology.

TestsontheCKCinputsystemontheAndroidplatformshowthatoursystemhasreachedaverypracticallevelanditalreadyhasbeenusedonsomeextent.

KeyWords:

Chineseinputmethod;Android;codebook;Inputarchitecture

WrittenbySunXiao

SupervisedbyLiPeifeng

第一章绪论

1.1课题背景与意义

近年来,我国手机用户数量以惊人的速度增长,工信部2011年3月1日发布《2011年1月份通信业运行状况》,数据显示,2011年1月,全国电话用户总数达到11.64亿户,其中移动电话用户净增1072.0万户,达到8.7亿户[1]。

手机终端功能的多样化和网络技术的快速发展,也使手机的使用越来越普遍。

而飞速增长的移动电话市场,同时也促进了移动产业价值链各个环节的共同发展,这其中就包括了网络运营商、网络设备制造商、终端厂商乃至内容提供商等。

伴随着手持通信设备的日益普及,人们越来越多地依赖于通过这些设备进行信息处理和交流,因此如何快速准确地向手持式设备输入文字信息成为当今信息领域研究的热点之一。

目前,手持通信设备使用的输入法主要为:

数字键盘输入法、手写输入法以及全键盘输入法。

由于手持设备本身硬件的限制,数字键盘输入法成为手机中最常用的输入法,然而现在,我国数字键盘汉字输入的技术和市场主要被外国垄断,90%以上的手机嵌入的汉字输入法技术使用的是国外技术和专利,我们使用的每台手机都必须给外国公司支付超过0.3美元的汉字输入技术专利费,仅此一项,每年就要支付几亿元人民币。

目前,美国的T9输入法和加拿大字源(eZiText)输入法约占我国手机数字键盘输入法市场的80%,而国产输入法市场占有率不足20%[2]。

然而即便这样,国外公司的中文输入技术,仍缺乏从汉字的基本规律出发,来理解汉字的系统性和科学性,不能从根本上彻底解决汉字与信息输入技术的有机结合,在这种情况下,我们开发自己的国产手机输入法,不仅可以为手机终端用户提供最先进的汉字输入技术,还可以为手机生产商节约技术成本,同时为国家节省大笔外汇。

在这种背景下,信息产业部在2007年便公布了相应的技术标准用于规范数字键盘汉字输入技术,通过技术标准的制定和实施,促进数字键盘汉字输入技术进步[3]。

国内也陆续推出了自己的输入法,例如由广东国笔科技有限公司推出的国笔智能输入法,腾凌智能数字键盘中文输入法等。

然而,国外手机数码输入法已经占据了非常大的市场份额,以及国产汉字输入技术的相对还不是很成熟,国产手机数码输入法的发展仍有很艰巨的道路要走。

本文所讨论的输入法为基于笔形的数码输入技术,此方法具有简、繁通用的特点。

智能输入技术的引入极大地提高了汉字输入系统的性能,最早该技术被拼音输入法用来解决由于同音字引起的重码问题,接着又被用来简化用户输入,后来又被用来适应不同用户的输入习惯,本文讨论如何将智能输入技术和中文输入技术结合起来,以实现输入法动态自适应的输入。

以往,手机操作系统不开放编程接口,不支持第三方软件的开发。

随着手机市场的竞争日益强烈以及手机终端功能的不断增强,越来越多的手机操作系统开放接口以便支持第三方软件的开发,像WindowsMobile操作系统、Symbian操作系统、Smartphone操作系统以及Android操作系统等。

在中国智能手机操作系统市场上,Android发展迅速,其市场份额由2008年的0.3%飙升至2010年的14.3%。

可见,Android系统的发展势头非常好,在国内手机操作系统市场份额必将领先其他,因此本文将Android系统作为纵横输入法的目标实现平台。

对于本课题的实现,有如下意义:

✧将智能输入技术进一步应用与手机输入系统中,便于适应用户的输入习惯,提高了用户输入汉字的速度。

✧利于促进国内数码汉字输入技术的进步,提高国产输入法在市场中的竞争力。

✧对于各种输入法向手持设备上的移植具有借鉴意义。

1.3研究现状

如今,智能移动设备正处于高速发展的阶段。

产品价格的不断合理化,也大力推动了智能手机的普及。

它的发展同时也带动了其相关软件产品的发展,汉字输入法软件就是其中之一,因为它是向汉字用户推广智能手机产品的必要前提[4]。

1.3.1移动手机平台发展现状

早期手机由于功能单一且用途简单,故其硬件设备也简单,针对不同硬件设备开发的相应的手机操作系统成本较(手机中文输入法的设计与实现)低[5]。

但随着手机功能逐渐的综合化和复杂化,软硬件成本逐渐增加,人们开始开发一些符合某些硬件标准的手机的操作系统,既可以方便用户使用,也大大降低了手机生产的软件成本。

智能手机也自此应运而生。

2005年以后,智能手机更是飞速发展,改变了人们的生活方式。

智能手机具有五大特点:

1、具有开放的操作系统,可以自由安装第三方应用,使系统功能得到无限扩展;2、具有无线接入互联网的能力,即在GSM网络中需要支持GPRS,在CDMA网络中支持CDMA1X或3G网络;3、具有PDA功能,包括PIM(个人信息管理)、多媒体应用、浏览网页、日程记事等;4、功能强大,扩展性强,第三方支持多;5、人性化,可以根据个人需要扩展及其功能[24]。

目前主要的手机智能操作系统包括:

Symbian、Android、WindowsPhone、iOS、PalmOS、Linux等[24]。

1.Symbian

Symbian是由几家大型移动通讯设备商(诺基亚、摩托罗拉、三菱、爱立信及Psion等)共同出资成立的一家合资公司,专门用于研发手机操作系统(SymbianOS)[7],其目标是开发一种开放性的操作系统,使其能在手机及其他一些移动设备上运行。

2008年Symbian被诺基亚全额收购。

Symbian是一套相当成熟的操作系统,具有强大的开放性和较低的研发成本,被授权的开发商能更自由的研发第三方软件,利润也是相当丰厚;运行环境稳定安全,效率也相当高,界面灵活简单,用户体验相当友好,因此也稳坐智能手机市场冠军相当长一段时间。

不过,Symbian也有一些致命的缺点,直接导致了后来的失败结局。

例如:

一、Symbian机型的硬件配置普遍较低,各类机型所采用的屏幕分辨率和处理器主频都比较低,虽然系统可以获得较高的处理效能,但是在多媒体等方面表现仍然不尽如人意。

二、在多媒体方面,SymbianOS对主流的媒体格式的支持性较差。

三、虽然SymbianOS为了适应不同的人群和各类的需要而采用了多种平台,但这也成为了Symbian发展一个障碍。

每个平台之间的第三方软件不能相互兼容,软件开发商专注于单一平台,而减少了各个平台通用的软件个数,给用户带了很多不便。

四、版本之间兼容性较差,每个新的版本的Symbian发布并且产品上市之后,很多软件要开发商通过开发新的版本跟进,才能继续使用。

五、对细节的注意不是很够。

由于Symbian只提供厂商一个内核及UI,很多细节功能是需要手机厂商进行添加的。

而很多手机厂商重点放在了多功能及综合的性能等多方面,忽略了基本功能,以至于一些机型的闹钟功能都必须由第三方软件来实现,给不熟悉系统的用户带来了很多困难。

2.Android

Android是Google于2007年11月5日提出的基于Linux平台的开源手机操作系统的名称,号称是首个为移动终端打造的真正开放的和完整的移动软件。

Android系统主要厂商包括美国摩托罗拉、韩国的三星、英国的索尼爱立信还有很多的中国厂商,例如:

HTC、联想、华为、中兴等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。

据市场调研公司尼尔森发布统计数据称,2010年第二季度谷歌Android手机在美国的销量首次超过了苹果iPhone,这也让诸多业内人士直呼未来是Android的[8]。

3.iOS

iOS是苹果公司为iPhone、iPodtouch以及iPad开发的操作系统。

iOS有用户界面相当友好,操作也很方便,系统性能稳定,丰富的第三方软件资源、服务也很完善等很多优点。

但是它的缺点也是相当的多,如:

一、系统内核源代码完全封闭的,并且只有获得苹果公司的授权的第三方软件开发者才能开发iOS软件。

并且较多的开发平台限制也增加了第三方开发者的研发成本。

二、其第三方软件中,大部分是付费软件。

三、搭载iOS系统的苹果产品价格较为昂贵,让大部分消费者望而却步。

所以致使其被之后的Android超越了。

4.Linux

嵌入式Linux操作系统是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB字节的存储器芯片或者单片机中,适合于特定嵌入式应用场合的专用Linux操作系统[9]。

嵌入式Linux系统是智能手机操作系统的后来者,由于该系统免费开放源代码,国内外很多公司致力于Linux操作系统和应用软件的开发[10]。

其优势表现为以下几点[11]:

a、应用于智能手机上Linux操作系统和应用与电脑上的Linux操作系统是同一个系统,而且全都是是免费操作系统。

在操作系统上免费就等于节省了产品的生成成本。

b、Linux操作系统系统资源占有率较低,而且性能比较稳定[12],如果Linux平台的系统资源占用程度,比体积庞大的WindowsMobile小的多。

c、Linux操作系统与JAVA相互融合,是任何一个操作系统所不能比拟的,Linux+JAVA的应用方式,能够给用户极大的拓展空间。

不过Linux也有很多天生的缺点,例如:

a、入门难度高、熟悉其开发环境的工程师少、集成开发环境不够完善。

b、由于微软PC操作系统源代码不公开,基于Linux的产品很难与PC进行连接。

c、从事Linux操作系统开发的公司虽然多,但缺乏开发实力较强的公司,并且这些公司相互独立开发难以实现重大突破。

因此Linux也很难抢占移动市场份额。

5.WindowsPhone

WindowsMobile系列彻底退出手机操作系统市场后,微软于2010年2月,又正式发布了WindowsPhone手机操作系统以对抗谷歌的Android和苹果的iPhone,该系统的程序将与WindowsMobile互不兼容。

WindowsPhone系统主要生产厂商有:

三星,HTC,LG等。

诺基亚也将把WindowsPhone作为其智能手机的主要操作系统,并与微软达成战略合作关系,这必将给移动操作系统领域带来新的活力。

6.PalmOS

Palm是Palm公司开发的一种32位嵌入式操作系统,主要应用于掌上电脑,其对硬件要求不高,使得采用Palm系统的设备体积较小巧,电池续航长[24]。

Palm系统不但占用系统资源少,硬件要求不高,电池寿命长,而且系统简单易用,采用了触控的操作界面,一个触控笔可以完成几乎所有操作,十分方便携带。

不过它也有很多不完善的地方,如缺少一些常用基本功能,比如通讯功能和多媒体功能,中文产品也相对较少。

1.3.2手机输入法发展现状

文字输入方式根据设备终端所采用的硬件,可分为数字键盘、全键盘及手写输入三大类[24][13]。

早期的手机汉字输入法,用手机数字键2~9分别代表26个英文字母,如数字键2代表“ABC”三个字母[14][15];在输入时,输入2代表A,22代表B,222代表C。

所以在输入拼音的时候需要一一选择需要的字母来组成拼音,然后根据拼音来选择需要的文字。

这种输入法效率十分低的[15]。

目前数字键盘输入法虽然种类繁多,但主要市场份额基本上被T9、iTAP和字能(eZi)这三种输入法所占领[10][16][17],其他输入法的市场份额极少。

这三款数字键盘输入软件,均提供拼音、笔画、注音(台湾地区)三种输入方式[10]。

T9输入法全称T9智能输入法,该输入法是由语音技术、文字输入和图像解决方案提供商Nuance通讯公司开发的[4][18],目前占有率最高。

T9输入法是针对移动小型终端的文字输入解决方案,以输入字符高效快捷而著称[19]。

T9的中文输入包括简体中文和繁体中文,输入方式包括笔画、拼音以及注音。

目前已支持汉语、英语、法语德语、意大利语等44种语言,中文字库容量达9000多字[17][19]。

字能输入法[20]是由总部设在加拿大的字源咨询技术有限公司和爱立信合作推出的。

此输入法具有20902个汉字的高容量字库,是T9输入法字库的两倍多。

该输入法主要被早起的爱立信、阿尔卡特以及一些国产手机如联想等采用。

该输入法支持拼音和笔画两种中文简体输入方式,两种输入方式都具有联想功能[15]。

iTAP输入法全称iTAP智能按键输入法,是摩托罗拉经过潜心研究,在T9的基础上发展起来的。

摩托罗拉在美国加州设有专门的研究所,不断地对iTAP输入法软件字库进行更新,输入法软件支持20多种语言[21],支持语言的种类比其他输入法软件都多。

该输入法还能够根据最常用的声、韵母组合和最频繁使用的文字统计、声调和词语联想等先进技术,实现简便、快捷的输入[17]。

国内比较知名的手机输入法开发厂商主要有电讯、A4、搜狗和腾讯[4][18],前两家都是专门从事手机输入法开发的厂商,目前它们分别被XX和腾讯收购。

因为国内对中文的理解更深,也更加了解中文的输入习惯,实际上国产输入法在性能上不逊色于或优于海外输入法[4]。

拼音输入法比目前国外同类技术快29%至41%,笔画输入法比国外同类技术快40%至51%,音形组合输入法比国外输入法快近70%[4][22]。

由于手机设备大部分是海外生产的,直接捆绑了海外的输入法,导致了国内输入法难以提高占有率,打开市场。

不过随着手机系统的不断开放,例如Android中完全开源的手机系统出现后,用户可以自行安装输入法,国产输入法将会得到迅猛的发展。

1.3本文工作

1)提出了一个适合Android平台的输入法码本设计方案

合理的码本设计对于输入法来说有着非常重要的作用,直接关系到输入法的查询性能、所需存储空间等多个方面。

一种输入法,如果占用过多的存储空间或者具有较差的输入性能,均不利于用户的使用。

然而这两个方面又是相互矛盾的,所以需要在输入法的性能与资源占用之间进行平衡。

为了实现简繁通用,本文输入法采用了Unicode编码,并对码本进行了压缩。

本文编码方案所需要的文件包括字索引文件、字码本文件、词索引文件、词码本文件。

本文详细介绍了该编码方案,并从码本的结构、索引的结构以及输入法根据输入码检索码本的具体流程,对该编码方案进行了详尽的阐述。

2)分析了Android输入法框架,设计了一个基于Android平台的输入系统

Android手机系统平台,自Google公司2007年发布以来,以其开放性、硬件选择的多样性和对第三方开发商较少的限制等各种因素,已经成为最流行的手机操作系统之一。

本文详细介绍了Android平台的各个功能组件以及平台框架结构等。

而从Android平台1.5版本以后,Google更是开放了Android平台输入法框架(InputMethodFramework,IMF),为Android平台的输入法带来了可扩展性。

为了能开发出Android平台下的输入法,本文对Android平台的输入法框架进行了详细的介绍。

本文首先介绍了Android输入法的生命周期以及它的几个重用组成部分,包括:

输入法服务,输入法应用和客户端。

然后又重点介绍了输入法应用的几个重要组成。

最后还罗列了根据Android平台输入法框架中需要实现的几个重要的类以及几个重要的函数接口和这些接口的简要说明。

3)介绍了Android平台输入系统的实现技术

根据对Android平台输入法框架的分析,本文在Android平台上实现了一款新的汉字输入法。

本文首先从输入法的逻辑处理、键盘视图设计、界面设计以及消息的流转以及处理等多方面,详细阐述了该输入法的设计与实现的过程,其次又分析介绍了本文所设计的输入法检索码本的具体流程。

1.3论文组织

本文共分七章,论文的结构和各个章节的主要内容如下:

第一章,为全文概述,首先介绍了课题的研究背景与意义以及本文的工作安排。

第二章,介绍了与设计目标相关的基础工作,包括简单介绍Android平台及其框架和Android开发平台的搭建,介绍纵横输入法的相关基础知识,并分析其优缺点,最后还全面介绍了Android手机平台输入法的生命周期及其重要组成部分等,罗列了Android平台输入法框架中,所需实现的几个重要类及接口。

第三章,介绍了纵横输入法码本的特点,并从字词码本结构、索引结构以及码本检索流程等多方面,对纵横输入法的编码进行了具体的描述。

第四章,先从逻辑处理、键盘界面、候选字词界面、消息流转、以及候选字词查找等多方面对该输入法进行了设计。

然后从键盘的布局、输入法的初始化、消息的捕获与传递、消息的处理以及数据的查询与反馈等多方面,详细地介绍了Android平台上纵横输入法的实现流程。

第五章,详细介绍了该汉字输入法的设置、安装、使用与卸载。

第六章,总结全文,并展望下一步的研究工作。

第二章相关工

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2