Android平台中文输入法设计和实现—硕士学位论文 (1).doc

上传人:小小飞 文档编号:3900996 上传时间:2019-10-09 格式:DOC 页数:80 大小:1.49MB
返回 下载 相关 举报
Android平台中文输入法设计和实现—硕士学位论文 (1).doc_第1页
第1页 / 共80页
Android平台中文输入法设计和实现—硕士学位论文 (1).doc_第2页
第2页 / 共80页
Android平台中文输入法设计和实现—硕士学位论文 (1).doc_第3页
第3页 / 共80页
Android平台中文输入法设计和实现—硕士学位论文 (1).doc_第4页
第4页 / 共80页
Android平台中文输入法设计和实现—硕士学位论文 (1).doc_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《Android平台中文输入法设计和实现—硕士学位论文 (1).doc》由会员分享,可在线阅读,更多相关《Android平台中文输入法设计和实现—硕士学位论文 (1).doc(80页珍藏版)》请在三一文库上搜索。

1、The design and Implement of Chinese input system Based on Dynamic self-adaptation AbstractLanguage mode Android平台中文输入法设计和实现中文摘要伴随着手持通信设备的日益普及和短信、微博等应用的广泛使用,人们越来越多地依赖于这些设备进行文字信息输入和处理。如何快速准确地利用手持式设备输入文字信息,特别是中文信息,对中国人而言有利于重要。首先,本文介绍了Andriod的主要组件和系统框架等内容,并分析了当今移动平台上的主流汉字输入法的优缺点。其次,本文以纵横输入法为例介绍了在Android

2、平台下的码本的设计和检索技术,包括字词码本结构的设计、索引方式的设计、联想功能的实现、码本的存储以及输入法具体的检索流程。最后,本文全面分析了Android系统平台的输入法框架,对该框架的组成、流程、生命周期以及一些所需实现的类和函数等进行了详细的阐述。在此基础上,在Andriod平台上设计并实现了纵横输入法,并介绍了其实现技术。对实例输入系统的测试表明,该系统已达到了实用水平,并已经有了一定规模的用户群。关键词:输入法、Android、码本、输入架构The Design and Implementation of Chinese Input Method on Android Abstrac

3、tWith the widespread use of mobile devices and increasing popularity of short message, microblogging and other mobile applications, the requirement of inputting and processing text information, especially the Chinese information for us, on mobile devices is recreasing rapidly. .Firstly, this deserta

4、tion describes the main component and system framework of Andriod, and then analyzes the advantages and disadvantages of the popular Chinese input methods on all kinds of mobile platforms.Secondly, it uses CKC input method as a sample to describe the design of the relation table between codes and th

5、eir Chinese characters or phrases and the retrieval method on the Android platform, including the structure of the relation table, the indexing, the association functions, the storage of the relation table, and specific retrieval processes of the input method. Finally, it analyzes the input method f

6、ramework on the Android platform and gives a detailed exposition of the framework components, circuit, life cycle and some of the necessary achieved classes, functions, and so on. On this basis, it designes and realizes the CKC input method on the Andriod platform, and introduces its implemention te

7、chnology.Tests on the CKC input system on the Android platform show that our system has reached a very practical leveland it already has been used on some extent.Key Words: Chinese input method; Android; code book; Input architecture IV目 录中文摘要IAbstractII目 录I第一章 绪论11.1 课题背景与意义11.3 研究现状21.3.1移动手机平台发展现

8、状21.3.2手机输入法发展现状51.3 本文工作71)提出了一个适合Android平台的输入法码本设计方案72)分析了Android输入法框架,设计了一个基于Android平台的输入系统73)介绍了Android平台输入系统的实现技术81.3 论文组织8第二章 相关工作基础92.1 Android平台92.1.1 Android平台简介92.1.2 Android 平台框架102.1.3 Android 平台开发环境搭建112.2 纵横输入法132.2.1 纵横输入法简介132.2.2 纵横输入法优点132.3 输入法框架介绍142.3.1 输入法框架简介142.3.2 输入法框架组成142

9、.3.3 输入法应用组成152.3.4 输入法消息流转机制162.3.5 输入法生命周期182.3.5 输入法主要的类和函数192.4 本章小结20第三章 码本结构设计213.1 码本特点213.2 字码本结构213.3 词码本结构223.4 联想与码本存储243.5 检索过程243.6 本章小结25第四章 Android平台下输入法的设计与实现264.1 中文输入法的设计264.1.1 逻辑处理设计264.1.2 键盘界面设计274.1.3 候选字词界面设计294.1.4 消息流转设计294.1.5 候选字词查找设计304.2 中文输入法的实现324.2.1 键盘布局的实现324.2.2 初

10、始化输入法334.2.3 消息捕获与传递344.2.4 消息处理364.2.5 数据查找与反馈394.3 本章小结41第五章 输入法的安装与使用425.1 输入法安装425.2 输入法使用435.2.1 切换输入法435.2.2 按键布局445.2.3 基本输入模式445.2.4 万能键的使用455.2.5 标点符号输入465.2.6 键盘切换465.3 输入法卸载475.4 本章小结48第六章 总结与展望49参考文献50攻读学位期间公开发表的论文52第一章 绪论1.1 课题背景与意义近年来,我国手机用户数量以惊人的速度增长,工信部2011年3月1日发布2011年1月份通信业运行状况,数据显示

11、,2011年1月,全国电话用户总数达到11.64亿户,其中移动电话用户净增1072.0万户,达到8.7亿户1。手机终端功能的多样化和网络技术的快速发展,也使手机的使用越来越普遍。而飞速增长的移动电话市场,同时也促进了移动产业价值链各个环节的共同发展,这其中就包括了网络运营商、网络设备制造商、终端厂商乃至内容提供商等。伴随着手持通信设备的日益普及,人们越来越多地依赖于通过这些设备进行信息处理和交流,因此如何快速准确地向手持式设备输入文字信息成为当今信息领域研究的热点之一。目前,手持通信设备使用的输入法主要为:数字键盘输入法、手写输入法以及全键盘输入法。由于手持设备本身硬件的限制,数字键盘输入法成

12、为手机中最常用的输入法,然而现在,我国数字键盘汉字输入的技术和市场主要被外国垄断,90%以上的手机嵌入的汉字输入法技术使用的是国外技术和专利,我们使用的每台手机都必须给外国公司支付超过0.3美元的汉字输入技术专利费,仅此一项,每年就要支付几亿元人民币。目前,美国的T9输入法和加拿大字源(eZiText)输入法约占我国手机数字键盘输入法市场的80%,而国产输入法市场占有率不足20%2。然而即便这样,国外公司的中文输入技术,仍缺乏从汉字的基本规律出发,来理解汉字的系统性和科学性,不能从根本上彻底解决汉字与信息输入技术的有机结合,在这种情况下,我们开发自己的国产手机输入法,不仅可以为手机终端用户提供

13、最先进的汉字输入技术,还可以为手机生产商节约技术成本,同时为国家节省大笔外汇。在这种背景下,信息产业部在2007年便公布了相应的技术标准用于规范数字键盘汉字输入技术,通过技术标准的制定和实施,促进数字键盘汉字输入技术进步3。国内也陆续推出了自己的输入法,例如由广东国笔科技有限公司推出的国笔智能输入法,腾凌智能数字键盘中文输入法等。然而,国外手机数码输入法已经占据了非常大的市场份额,以及国产汉字输入技术的相对还不是很成熟,国产手机数码输入法的发展仍有很艰巨的道路要走。本文所讨论的输入法为基于笔形的数码输入技术,此方法具有简、繁通用的特点。智能输入技术的引入极大地提高了汉字输入系统的性能,最早该技

14、术被拼音输入法用来解决由于同音字引起的重码问题,接着又被用来简化用户输入,后来又被用来适应不同用户的输入习惯,本文讨论如何将智能输入技术和中文输入技术结合起来,以实现输入法动态自适应的输入。以往,手机操作系统不开放编程接口,不支持第三方软件的开发。随着手机市场的竞争日益强烈以及手机终端功能的不断增强,越来越多的手机操作系统开放接口以便支持第三方软件的开发,像Windows Mobile操作系统、Symbian操作系统、Smartphone 操作系统以及Android操作系统等。在中国智能手机操作系统市场上,Android发展迅速,其市场份额由2008年的0.3%飙升至2010年的14.3%。可

15、见,Android系统的发展势头非常好,在国内手机操作系统市场份额必将领先其他,因此本文将Android系统作为纵横输入法的目标实现平台。对于本课题的实现,有如下意义: 将智能输入技术进一步应用与手机输入系统中,便于适应用户的输入习惯,提高了用户输入汉字的速度。 利于促进国内数码汉字输入技术的进步,提高国产输入法在市场中的竞争力。 对于各种输入法向手持设备上的移植具有借鉴意义。1.3 研究现状如今,智能移动设备正处于高速发展的阶段。产品价格的不断合理化,也大力推动了智能手机的普及。它的发展同时也带动了其相关软件产品的发展,汉字输入法软件就是其中之一,因为它是向汉字用户推广智能手机产品的必要前提

16、4。1.3.1移动手机平台发展现状早期手机由于功能单一且用途简单,故其硬件设备也简单,针对不同硬件设备开发的相应的手机操作系统成本较(手机中文输入法的设计与实现)低5。但随着手机功能逐渐的综合化和复杂化,软硬件成本逐渐增加,人们开始开发一些符合某些硬件标准的手机的操作系统,既可以方便用户使用,也大大降低了手机生产的软件成本。智能手机也自此应运而生。2005年以后,智能手机更是飞速发展,改变了人们的生活方式。智能手机具有五大特点:1、具有开放的操作系统,可以自由安装第三方应用,使系统功能得到无限扩展;2、具有无线接入互联网的能力,即在GSM网络中需要支持GPRS,在CDMA网络中支持CDMA 1

17、X或3G网络;3、具有PDA功能,包括PIM(个人信息管理)、多媒体应用、浏览网页、日程记事等;4、功能强大,扩展性强,第三方支持多;5、人性化,可以根据个人需要扩展及其功能24。目前主要的手机智能操作系统包括:Symbian、Android、Windows Phone、iOS、Palm OS、Linux等24。1. SymbianSymbian是由几家大型移动通讯设备商(诺基亚、摩托罗拉、三菱、爱立信及Psion等)共同出资成立的一家合资公司,专门用于研发手机操作系统(Symbian OS)7,其目标是开发一种开放性的操作系统,使其能在手机及其他一些移动设备上运行。2008年Symbian被

18、诺基亚全额收购。Symbian是一套相当成熟的操作系统,具有强大的开放性和较低的研发成本,被授权的开发商能更自由的研发第三方软件,利润也是相当丰厚;运行环境稳定安全,效率也相当高,界面灵活简单,用户体验相当友好,因此也稳坐智能手机市场冠军相当长一段时间。不过,Symbian也有一些致命的缺点,直接导致了后来的失败结局。例如:一、Symbian机型的硬件配置普遍较低,各类机型所采用的屏幕分辨率和处理器主频都比较低,虽然系统可以获得较高的处理效能,但是在多媒体等方面表现仍然不尽如人意。二、在多媒体方面,Symbian OS对主流的媒体格式的支持性较差。三、虽然Symbian OS为了适应不同的人群

19、和各类的需要而采用了多种平台,但这也成为了Symbian发展一个障碍。每个平台之间的第三方软件不能相互兼容,软件开发商专注于单一平台,而减少了各个平台通用的软件个数,给用户带了很多不便。四、版本之间兼容性较差,每个新的版本的Symbian发布并且产品上市之后,很多软件要开发商通过开发新的版本跟进,才能继续使用。五、对细节的注意不是很够。由于Symbian只提供厂商一个内核及UI,很多细节功能是需要手机厂商进行添加的。而很多手机厂商重点放在了多功能及综合的性能等多方面,忽略了基本功能,以至于一些机型的闹钟功能都必须由第三方软件来实现,给不熟悉系统的用户带来了很多困难。2. AndroidAndr

20、oid是Google于2007年11月5日提出的基于Linux平台的开源手机操作系统的名称,号称是首个为移动终端打造的真正开放的和完整的移动软件。Android系统主要厂商包括美国摩托罗拉、韩国的三星、英国的索尼爱立信还有很多的中国厂商,例如:HTC、联想、华为、中兴等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。据市场调研公司尼尔森发布统计数据称,2010年第二季度谷歌Android手机在美国的销量首次超过了苹果iPhone,这也让诸多业内人士直呼未来是Android的8。3. iOSiOS是苹果公司为iPhone、iPod touch

21、以及iPad开发的操作系统。iOS有用户界面相当友好,操作也很方便,系统性能稳定,丰富的第三方软件资源、服务也很完善等很多优点。但是它的缺点也是相当的多,如:一、系统内核源代码完全封闭的,并且只有获得苹果公司的授权的第三方软件开发者才能开发iOS软件。并且较多的开发平台限制也增加了第三方开发者的研发成本。二、其第三方软件中,大部分是付费软件。三、搭载iOS系统的苹果产品价格较为昂贵,让大部分消费者望而却步。所以致使其被之后的Android超越了。4. Linux嵌入式Linux操作系统是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB字节的存储器芯片或者单片机中,适

22、合于特定嵌入式应用场合的专用Linux操作系统9。嵌入式Linux系统是智能手机操作系统的后来者,由于该系统免费开放源代码,国内外很多公司致力于Linux操作系统和应用软件的开发10。其优势表现为以下几点11:a、 应用于智能手机上Linux操作系统和应用与电脑上的Linux操作系统是同一个系统,而且全都是是免费操作系统。在操作系统上免费就等于节省了产品的生成成本。b、 Linux操作系统系统资源占有率较低,而且性能比较稳定12,如果Linux平台的系统资源占用程度,比体积庞大的Windows Mobile小的多。c、 Linux操作系统与JAVA相互融合,是任何一个操作系统所不能比拟的,Li

23、nux+JAVA的应用方式,能够给用户极大的拓展空间。不过Linux也有很多天生的缺点,例如:a、 入门难度高、熟悉其开发环境的工程师少、集成开发环境不够完善。b、 由于微软PC操作系统源代码不公开,基于Linux的产品很难与PC进行连接。c、 从事Linux操作系统开发的公司虽然多,但缺乏开发实力较强的公司,并且这些公司相互独立开发难以实现重大突破。因此Linux也很难抢占移动市场份额。5. Windows PhoneWindows Mobile系列彻底退出手机操作系统市场后,微软于2010年2月,又正式发布了Windows Phone手机操作系统以对抗谷歌的Android和苹果的iPhon

24、e,该系统的程序将与Windows Mobile互不兼容。Windows Phone系统主要生产厂商有:三星,HTC,LG等。诺基亚也将把Windows Phone作为其智能手机的主要操作系统,并与微软达成战略合作关系,这必将给移动操作系统领域带来新的活力。6. Palm OSPalm是Palm公司开发的一种32位嵌入式操作系统,主要应用于掌上电脑,其对硬件要求不高,使得采用Palm系统的设备体积较小巧,电池续航长24。Palm系统不但占用系统资源少,硬件要求不高,电池寿命长,而且系统简单易用,采用了触控的操作界面,一个触控笔可以完成几乎所有操作,十分方便携带。不过它也有很多不完善的地方,如缺

25、少一些常用基本功能,比如通讯功能和多媒体功能,中文产品也相对较少。1.3.2手机输入法发展现状文字输入方式根据设备终端所采用的硬件,可分为数字键盘、全键盘及手写输入三大类2413。早期的手机汉字输入法,用手机数字键29分别代表26个英文字母,如数字键2代表“ABC”三个字母1415;在输入时,输入2代表A,22代表B,222代表C。所以在输入拼音的时候需要一一选择需要的字母来组成拼音,然后根据拼音来选择需要的文字。这种输入法效率十分低的15。目前数字键盘输入法虽然种类繁多,但主要市场份额基本上被T9、iTAP和字能(eZi)这三种输入法所占领101617,其他输入法的市场份额极少。这三款数字键

26、盘输入软件,均提供拼音、笔画、注音(台湾地区)三种输入方式10。T9输入法全称T9智能输入法,该输入法是由语音技术、文字输入和图像解决方案提供商Nuance通讯公司开发的418,目前占有率最高。T9输入法是针对移动小型终端的文字输入解决方案,以输入字符高效快捷而著称19。T9的中文输入包括简体中文和繁体中文,输入方式包括笔画、拼音以及注音。目前已支持汉语、英语、法语德语、意大利语等44种语言,中文字库容量达9000多字17 19。字能输入法20是由总部设在加拿大的字源咨询技术有限公司和爱立信合作推出的。此输入法具有20902个汉字的高容量字库,是T9输入法字库的两倍多。该输入法主要被早起的爱立

27、信、阿尔卡特以及一些国产手机如联想等采用。该输入法支持拼音和笔画两种中文简体输入方式,两种输入方式都具有联想功能15。iTAP输入法全称iTAP智能按键输入法,是摩托罗拉经过潜心研究,在T9的基础上发展起来的。摩托罗拉在美国加州设有专门的研究所,不断地对iTAP输入法软件字库进行更新,输入法软件支持20多种语言21,支持语言的种类比其他输入法软件都多。该输入法还能够根据最常用的声、韵母组合和最频繁使用的文字统计、声调和词语联想等先进技术,实现简便、快捷的输入17。国内比较知名的手机输入法开发厂商主要有电讯、A4、搜狗和腾讯418,前两家都是专门从事手机输入法开发的厂商,目前它们分别被百度和腾讯

28、收购。因为国内对中文的理解更深,也更加了解中文的输入习惯,实际上国产输入法在性能上不逊色于或优于海外输入法4。拼音输入法比目前国外同类技术快29%至41%,笔画输入法比国外同类技术快40%至51%,音形组合输入法比国外输入法快近70%422。由于手机设备大部分是海外生产的,直接捆绑了海外的输入法,导致了国内输入法难以提高占有率,打开市场。不过随着手机系统的不断开放,例如Android中完全开源的手机系统出现后,用户可以自行安装输入法,国产输入法将会得到迅猛的发展。1.3 本文工作1)提出了一个适合Android平台的输入法码本设计方案合理的码本设计对于输入法来说有着非常重要的作用 ,直接关系到

29、输入法的查询性能、所需存储空间等多个方面。一种输入法,如果占用过多的存储空间或者具有较差的输入性能,均不利于用户的使用。然而这两个方面又是相互矛盾的,所以需要在输入法的性能与资源占用之间进行平衡。为了实现简繁通用,本文输入法采用了Unicode编码,并对码本进行了压缩。本文编码方案所需要的文件包括字索引文件、字码本文件、词索引文件、词码本文件。本文详细介绍了该编码方案,并从码本的结构、索引的结构以及输入法根据输入码检索码本的具体流程,对该编码方案进行了详尽的阐述。2)分析了Android输入法框架,设计了一个基于Android平台的输入系统Android手机系统平台,自Google公司2007

30、年发布以来,以其开放性、硬件选择的多样性和对第三方开发商较少的限制等各种因素,已经成为最流行的手机操作系统之一。本文详细介绍了Android平台的各个功能组件以及平台框架结构等。而从Android平台1.5版本以后,Google更是开放了Android平台输入法框架(Input Method Framework,IMF),为Android平台的输入法带来了可扩展性。为了能开发出Android平台下的输入法,本文对Android平台的输入法框架进行了详细的介绍。本文首先介绍了Android输入法的生命周期以及它的几个重用组成部分,包括:输入法服务,输入法应用和客户端。然后又重点介绍了输入法应用的

31、几个重要组成。最后还罗列了根据Android平台输入法框架中需要实现的几个重要的类以及几个重要的函数接口和这些接口的简要说明。3)介绍了Android平台输入系统的实现技术根据对Android平台输入法框架的分析,本文在Android平台上实现了一款新的汉字输入法。本文首先从输入法的逻辑处理、键盘视图设计、界面设计以及消息的流转以及处理等多方面,详细阐述了该输入法的设计与实现的过程,其次又分析介绍了本文所设计的输入法检索码本的具体流程。1.3 论文组织本文共分七章,论文的结构和各个章节的主要内容如下:第一章,为全文概述,首先介绍了课题的研究背景与意义以及本文的工作安排。第二章,介绍了与设计目标

32、相关的基础工作,包括简单介绍Android平台及其框架和Android开发平台的搭建,介绍纵横输入法的相关基础知识,并分析其优缺点,最后还全面介绍了Android手机平台输入法的生命周期及其重要组成部分等,罗列了Android平台输入法框架中,所需实现的几个重要类及接口。第三章,介绍了纵横输入法码本的特点,并从字词码本结构、索引结构以及码本检索流程等多方面,对纵横输入法的编码进行了具体的描述。第四章,先从逻辑处理、键盘界面、候选字词界面、消息流转、以及候选字词查找等多方面对该输入法进行了设计。然后从键盘的布局、输入法的初始化、消息的捕获与传递、消息的处理以及数据的查询与反馈等多方面,详细地介绍

33、了Android平台上纵横输入法的实现流程。第五章,详细介绍了该汉字输入法的设置、安装、使用与卸载。第六章,总结全文,并展望下一步的研究工作。74Android手机平台上中文输入法设计和实现 第二章 相关工作基础第二章 相关工作基础2.1 Android平台2.1.1 Android平台简介随着通信行业的快速发展,手机已经成为人们生活中的必需品,手机的功能也越来越完善4。目前主要的手机智能操作系统包括:Symbian OS, Windows Phone, Linux, Palm OS 和 Android23。由于操作系统的开放性、硬件选择的多样性和对第三方开发商较少的限制等因素,Android

34、系统已经成为最流行的手机操作系统之一,具有很大的发展前景。Android 本来的意思是机器人,同时它还是Google 在2007年联合无线应用与移动技术领域的带头企业一起构成的手机联盟Open Handset Alliance 宣布的依靠Linux 平台的开源手机操作系统的名称24。该系统包含了操作系统、用户界面、中间件和应用程序,是首个为移动终端打造的真正意义上的开放和完整的移动移动设备综合平台。Google 重新设计了Java 虚拟机和系统,使得Android 的Java 应用更接近于底层系统,效率更高;另外使用虚拟机技术使得Android 的应用在被监控的情况下运行,安全性更高。与Win

35、dows CE ,iPhone OS ,Symbian 等不同,Android 公开源代码,支持第三方软件的加入,消除了任何以往阻碍移动产业创新的专有权障碍。正是由于其开放性,Google Android 手机能够加载很多个性化的东西,比如防火墙、即时通信软件、Office阅读器、输入法等各种在电脑上安装使用的软件。无论是娱乐还是商业应用,智能手机的功能都能在强大的第三方软件的支持下获得无限的扩展25。丰富的Android 应用也使其手机功能更加强大,这加速了电脑与手机的融合,也加速了后PC 时代的到来。Android操作系统应用了开源社区的很多优秀成果,并做了大量的优化和丰富的扩充。Andr

36、oid操作系统主要包含了以下功能组件26:1. 经Google 针对移动设备剪裁和优化的Linux 内核。2. 由Google 重新实现的Java 虚拟机 Dalvik VM。3. 大量的函数库和服务,如浏览器引擎WebKit ,数据库 SQLite。4. 常用的应用程序,如拨号程序和通讯录等。5. 一套完整的SDK(Software Development Kit ),提供了使用Java语言进行Android应用开发的API 类库和工具集(包括Android 模拟器和Eclipse IDE 下的开发工具插件以及一组用于在模拟器和终端设备上打包、安装、调试和测试的应用程序的工具)。6. 经过优

37、化的轻量级2D 和3D 图形引擎,用于支持各种游戏的开发。7. 提供常见的音频、视频和图片格式支持的底层媒体库。8. 用于支持GSM 、蓝牙、3G 、WiFi 、摄像头、GPS 和各种输入设备的驱动程序。2.1.2 Android 平台框架Android 操作系统自顶向下分为4层,分别为应用层、应用框架层、函数库和虚拟机层以及Linux内核层 27。1. Linux 内核层位于硬件和其它软件层之间,采用YAFFS2 文件系统28,是基于Linux Version 2.6内核来开发的,包含了虚拟CPU 和Android 运行所需要的特定的驱动代码,主要作用为提供系统的如安全管理、内存机制、进程管

38、理等底层服务,为系统运行提供基础性的支持30。2. Android 运行时库和其他库层,包含一组核心库和Dalvik 虚拟机,核心库存为Android 提供了大部分Java语言核心库。Android具有丰富的库类支持且大部分为开源代码,如SQLite 、WebKit 、OpenGL等,例如SQLite数据库,体积小只有250KB但支持数据库大小至2TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快29。该层可以通过Java本地调用JNI(Java Native Interface)的接口函数来实现与上层之间的通信31。3. 应用框架层包含了所有开发所用的SDK类库和

39、某些未公开接口的类库。该层为Android 开发人员提供了访问框架应用程序接口的全部权限,使开发人员能方便并安全地访问系统功能和其他应用程序所发布的功能供其他程序使用,并发布自己应用程序的功能。通过采用结构化设计,大大简化了组件之间的重用,提高了开发者的开发效率。应用框架层为开发者提供了大量的组件和服务,如:丰富和可扩展的视图、内容提供器、资源管理器、通知管理器、活动管理器和位置管理器等。4. 应用层包含了Android本身的一些核心应用程序,例如邮件客户端,短信程序,日历程序,地图,浏览器,通讯录等等,还有一些基于Google Android 的SDK 开发的第三方应用程序。目前所有的应用程

40、序都是由Java语言开发的12。Android 平台结构图如图4.1所示。图2.1 Android平台框架2.1.3 Android 平台开发环境搭建Android应用程序主要的开发语言为Java 语言,主要的集成开发环境为Eclipse软件,并且Google 提供了在Eclipse下快速开发Android 应用程序的插件ADT 。ADT 是Android Development Tools 的缩写,它是集成到Eclipse 上的一个插件,能够提供一个强大的集成开发环境来开发Android 应用。搭建Android开发平台的流程如下:1. 软件准备a、 进入Java官网(http:/ )页面下

41、载jdk1.6+;b、 进入Eclipse官网(http:/www.eclipse.org/downloads/ )下载Eclipse 3.3(Europa); c、 进入Google Android 官网(http:/ )下载Android SDK;2. 安装集成平台和配置Java环境变量a、 安装JDK 并配置好Java 环境变量b、 安装Eclipse将下载的Eclipse压缩包解压到相应的安装目录即可。3. 配置Android 平台开发环境a、 安装Android Development Tools (ADT )插件启动Eclipse ,如果是Eclipse3.5 或Eclipse3.

42、6 选择Help -Install New Software. ,点击Add ,如果Eclipse3.4及以下版本菜单是Help -Software Updates. ,点击Add Site 准备安装插件。在Location 中输入Android ADT插件在线下载地址:https:/dl- ,点击OK按钮就可以下载安装了。b、 应用Android SDK到Eclipse在Eclipse 工具栏中,选择:Window - Preferences.左边菜单中选中android,在右边浏览框中选择sdk的解压目录作为 sdk location,点击Apply ,然后点击OK按钮即可。为了便于模拟和

43、测试应用程序,Android SDK自带一个移动模拟设备可以在电脑上运行的虚拟设备。模拟器允许开发者开发的应用程序通过Android 平台服务,调用其他程序、访问网络、播放音频和视频、保存和接收数据、通知用户、渲染图像过渡和场景等功能。通过Eclipse的“窗体”(Windows)菜单-“Android虚拟设备管理器”(Android AVD manager)进入Android虚拟设备管理界面,然后点击“New”按钮弹出创建AVD对话框,在该窗口中添加Name(AVD名称)、Target(Android版本指定)、SDK大小和外观特征,即可完成对Android模拟器的创建工作。通过Eclips

44、e的“窗体”(Windows)菜单-“Android虚拟设备管理器”(Android AVD manager)进入Android虚拟设备管理界面,选择要启动的Emulator,然后点击“start”按钮,进入Emulator启动界面,点击“launch”按钮,完成所选模拟器的启动后,即可进行相关模拟测试程序。2.2 纵横输入法2.2.1 纵横输入法简介纵横输入法是由香港苏浙同乡会主席周忠继先生所发明,由苏州大学纵横汉字信息技术研究所研制。经过多年不断地完善,在北京、上海、江苏、浙江、广东、海南、香港、澳门等地大受欢迎。 在纵横码中根据汉字的字形,采用0到9十个数字对汉字进行编码。纵横码中规定了

45、十种基本笔形,分别用0到9十个数字对其进行编码。 一个汉字的基本编码方法为:将汉字看成一个方块字,取汉字四个角的笔形代码作为一个汉字的编码,输入法规定单字的输入码最多为四个数字,最少为一个数字。 词组的输入码根据组成词组的单字的输入码来取,词组的输入码最多为六个数字,最少为一个数字。2.2.2 纵横输入法优点现在手机上较有影响力的输入法有笔画类输入法和拼音类输入法。 拼音输入法虽然易学却很难普及,不适合普通话不标准不熟悉汉语拼音者学习,在方言地区推广就更困难。 一般的笔画类输入法又存在重码率高,词库较小、标点符号输入不方便、辅助用户使用功能较弱等缺点,影响用户输入效率。 纵横输入法克服了以上几

46、种输入法的缺点,词库很大、标点符号输入方便。采用GBK大字符集,既支持简体字输入又支持繁体字输入,具有简单易学、简繁通用、词组丰富、功能强大,标点符号输入方便,还可以对重码字词进行调频,具有辅助用户使用等优点32。2.3 输入法框架介绍2.3.1 输入法框架简介自Android平台1.5版本以后,Google开放了Android平台输入法框架(Input Method Framework,IMF),IMF是Android平台的特色设计。它的出现大大推动了不带实体键盘的设备的诞生。同时,Android平台输入法框架也给出了输入法的开发所需要的接口,为Android平台的输入法提供了可扩展性。2.

47、3.2 输入法框架组成一个输入法框架结构中包含三个主要的部分:输入法服务,负责管理各部分的交互,管理输入法应用,其中包括输入法的安装、注册、激活等。主要工作由InputMethdoManagerService(IMMS)完成。它是一个客户端API,存在于各个应用程序的上下文(context)中,用来沟通管理所有进程间交互的全局系统服务。输入法应用 ,具体处理用户输入行为的应用程序,实现一个允许用户生成文本的独立交互模块。系统绑定一个当前的输入法。使其创建和生成,决定输入法何时隐藏或者显示它的UI。同一时间只能有一个输入法应用运行。为了能够在Android的输入法框架中良好的运行,所有的输入法应用都需要继承特定的服务。客户端,是指具有文字编辑功能的系统控件(如EditText),是

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1