Android的文本和输入---拼写检查器(一)
来源:互联网 发布:肝网络用语什么意思 编辑:程序博客网 时间:2024/05/07 06:17
本文译自:http://developer.android.com/guide/topics/text/spell-checker-framework.html
Android平台提供能够让你在应用程序中执行和访问拼写检查的拼写检查器框架。这个框架是由Android平台提供的文本服务API之一。
要在应用程序中使用该框架,你就要创建一个特殊的Android服务类型,该服务会生成一个拼写检查器的session对象。基于你提供的文本,该session对象会返回由拼写检查器生成的拼写建议。
拼写检查器的生命周期
下图显示了拼写检查器服务的生命周期:
图1.拼写检查服务的生命周期。
要进行拼写检查,你的应用程序就要启动它的拼写检查器的实现。客户端在应用程序中,如Activity或独立的UI元素,首先从服务端申请一个拼写检查的session,然后使用这个session来获得对应文本的拼写建议。当客户端终止了它的操作时,它要关闭它的用于拼写检查的session。如果需要,你的应用程序可以在任何时候关闭拼写检查服务器。
实现一个拼写检查器的服务
要在你的应用程序中使用拼写检查器的框架,就要添加一个包含session对象定义的拼写检查服务组件。你还可以给你的应用程序添加一个控制设置的可选的Activity。你好必须要添加一个描述拼写检查服务的XML元数据文件,并且把对应的元素添加到清单文件中。
拼写检查器的类
使用下面的类来定义服务和session对象:
SpellCheckerService的子类:
SpellCheckerService类实现了Service类和拼写检查器框架的接口。在你的子类中,你必须实现下面的方法:
createSession()
这个一个工厂方法,它能够给想要做拼写检查操作的客户端返回一个SpellCheckerService.Session对象。
这个类实现的更多的信息请看Spell Checker Service示例应用
SpellCheckerService.Session
这是一个拼写检查服务提供给客户端的对象,用它把文本传递给拼写检查器并接收拼写建议。在这个类中,你必须实现以下方法:
onCreate()
在对createSession()方法的响应中,系统会调用这个方法,在这个方法中,你可以基于当前的语言环境等来初始化SpellCheckerService.Session对象。
onGetSentenceSuggestionsMultiple()
这个方法执行实际的拼写检查。这个方法会返回SentenceSuggestionsInfo对象的数组,其中包含了对传入句子的拼写建议。
你可以有选择的实现onCancel()
,这个方法处理取消拼写检查的请求,onGetSuggestions()用于处理一个单词的建议请求,onGetSuggestionsMultiple()
用于批量处理单词建议的请求。
注意:你必须用异步和线程安全的方式来全面的实现拼写检查。一个拼写检查器可以同时被运行在不同核心上的不同线程来调用。SpellCheckerService
和SpellCheckerService.Session对象会自动的完成此事。
- Android的文本和输入---拼写检查器(一)
- Android的文本和输入---拼写检查器(二)
- Android的文本和输入---拼写检查器
- 文本和输入:拼写检查器
- WPF 文本拼写检查
- Android的文本和输入---复制和粘贴(一)
- Android的文本和输入---创建输入法(一)
- Android stuido的使用 -- 取消拼写检查
- android edittext 拼写检查
- 基于贝叶斯算法的拼写检查器
- 只有21行的拼写检查器
- 只有21行的拼写检查器
- Hunspell拼写检查器
- 解析文本 导出XML 拼写检查
- [linux命令] 文本拼写检查aspell
- Android Studio的一些配置(去拼写检查、自动import、大小写智能提示等)
- jQuery版本的文本输入框检查器Input Check
- solr 1.4 的分布式请求过程 和 拼写检查过程
- C语言 获取本机IP地址,非回环地址
- osg2cpp例子
- osganalysis例子
- displaytag按需分页的包装及实例
- 公司内部技术
- Android的文本和输入---拼写检查器(一)
- SendMessage 和 PostMessage 的区别
- TFTPWIN ping不通开发板问题
- servlet的生命周期
- 365. Proverbs are the daughters of daily experience. 谚语是日常经验的结晶
- 20、栈和队列
- vim配置简介2
- 重新组织和重新生成索引sp_RefreshIndex
- vim常用插件3