Android平台提供能够让你在应用程序中执行和访问拼写检查的拼写检查器框架。这个框架是由Android平台提供的文本服务API之一。

要在应用程序中使用该框架,你就要创建一个特殊的Android服务类型,该服务会生成一个拼写检查器的session对象。基于你提供的文本,该session对象会返回由拼写检查器生成的拼写建议。

拼写检查器的生命周期

下图显示了拼写检查器服务的生命周期:

图1.拼写检查服务的生命周期。

要进行拼写检查,你的应用程序就要启动它的拼写检查器的实现。客户端在应用程序中,如Activity或独立的UI元素,首先从服务端申请一个拼写检查的session,然后使用这个session来获得对应文本的拼写建议。当客户端终止了它的操作时,它要关闭它的用于拼写检查的session。如果需要,你的应用程序可以在任何时候关闭拼写检查服务器。

实现一个拼写检查器的服务

要在你的应用程序中使用拼写检查器的框架,就要添加一个包含session对象定义的拼写检查服务组件。你还可以给你的应用程序添加一个控制设置的可选的Activity。你好必须要添加一个描述拼写检查服务的XML元数据文件,并且把对应的元素添加到清单文件中。

拼写检查器的类

使用下面的类来定义服务和session对象:

SpellCheckerService的子类:

SpellCheckerService类和拼写检查器框架的接口。在你的子类中,你必须实现下面的方法:

这个一个工厂方法,它能够给想要做拼写检查操作的客户端返回一个SpellCheckerService.Session对象。

这是一个拼写检查服务提供给客户端的对象,用它把文本传递给拼写检查器并接收拼写建议。在这个类中,你必须实现以下方法:

在对createSession()方法的响应中,系统会调用这个方法,在这个方法中,你可以基于当前的语言环境等来初始化SpellCheckerService.Session对象。

这个方法执行实际的拼写检查。这个方法会返回SentenceSuggestionsInfo对象的数组,其中包含了对传入句子的拼写建议。

你可以有选择的实现用于批量处理单词建议的请求。

注意:你必须用异步和线程安全的方式来全面的实现拼写检查。一个拼写检查器可以同时被运行在不同核心上的不同线程来调用。

拼写检查工具是android,Android的文本和输入---拼写检查器(一)-Go语言中文社区...相关推荐

  1. android打包成apk会屏蔽注解,Android解决混淆打包之后注解被去掉的问题-Go语言中文社区...

    一.实验环境(蓝色粗体字为特别注意内容) 1,环境:Eclipse+ADT 2,参考文献: 我们都知道Android中是通过findViewById()这个方法来绑定xml中的控件的.但是当控件较多时 ...

  2. android wifi连接流程,(九十三) Android O 连接WiFi AP流程梳理续——保存网络-Go语言中文社区...

    前言: 之前在(五十五)Android O 连接WiFi AP流程梳理 梳理连接流程梳理到SupplicantStaNetworkHal 然后没梳理的下去,现在继续梳理下. 之前梳理的时序图 1.流程 ...

  3. android openal播放器,用 Golang 开发 Android 应用(五)—— Audio(openAL)使用-Go语言中文社区...

    计划按以下的内容更新 Audio(openAL) 使用 Audio 是很重要的部分,但我之前漏掉它了,所以最初的计划里没有相关内容,发现这个漏网之鱼后,我"上下求(sou)索"&q ...

  4. android蓝牙锁,android 蓝牙锁应用实例开发(一) 简介-Go语言中文社区

    本人水平有限,文章中如果出现什么不正确或者模糊的地方,还请各位小伙伴留下评论,多多指教 : ) 前记 咳咳,这是小生第一次写博文,所记录的内容也是小生第一次所做的较为完整且复杂的一个项目.之所以写下来 ...

  5. android 运行jar包,android将so打到jar包中并运行-Go语言中文社区

    加载so有两种方法 System.load() 和System.loadLibrary(); 前者需传入库文件的绝对路径,后者只需传入库文件名. 首先我的jar包目录如下: Loader是加载类: s ...

  6. go 捕获网卡http_接口测试工具Postman(三)使用postman抓包捕获HTTP请求-Go语言中文社区...

    一.捕获HTTP请求 Postman提供了轻松查看和捕获应用程序中发送和接收的实际HTTP请求流量的工具, 可以在Postman本机应用程序中使用内置代理进行抓包. 1.postman内置代理 pos ...

  7. php 代码 自动检查工具下载,PHP_CodeSniffer安装和使用教程(自动代码检查规范工具)...

    在我们开发中都会讲究代码规范,若是个人开发者,代码规范与否,只要自己看得懂便可以了,但是在团队协作中,代码规定尤为重要,下面,我们介绍一款PHP_CodeSniffer,自动检查代码规范的工具. PH ...

  8. android edittext 限制文本框输入的长度和提示信息

    package com.hwtt.android.oa.tool;import android.content.Context; import android.text.InputFilter; im ...

  9. android go怎么安装,Android studio3.0安装教程-Go语言中文社区

    Android studio是目前开发Android主流的软件 但是因为被墙缘故 ,导致很多人一直refreshiing gradle project 或者其他安装问题 网上虽然有很多解决方法,但是大 ...

最新文章

  1. java datasource mysql_Java MysqlDataSource類代碼示例
  2. java readshort_Java DataInputStream.readShort()方法示例
  3. mysql 触发器判断不插入数据_mysql关于触发器怎么判断数据存在时更新不存在时添加呢!...
  4. 【跃迁之路】【535天】程序员高效学习方法论探索系列(实验阶段292-2018.07.25)...
  5. Linux 打通ssh无密码登录
  6. ELK 构建 MySQL 慢日志收集平台详解
  7. springboot并发上传文件_springboot实现单文件和多文件上传
  8. 【kafka】kafka 查看 GroupCoordinator 以及 kafka Group dead 消费组死掉 以及 GroupCoordinatorRequest 使用
  9. windows编程函数(一)
  10. 真正智能的语音识别系统离我们还有多远
  11. ChromeFFOpera下DIV不设置高度显示背景颜色和边框的办法
  12. 远程打印服务器配置,打印服务器的配置与管理(1) 网络打印机的安装与部署...
  13. win7去掉桌面快捷方式小箭头
  14. 《数字图像处理》-(3)-1从傅里叶级数到傅里叶变换详细推导以及傅里叶图像的性质
  15. 设计模式深入学习---Decorator装饰模式(结构型模式)
  16. Python量化交易|pd.expanding() VS pd.rolling() 时间窗口函数区别图解
  17. golang 字符串转整形 string 转 int ,go string 转 int
  18. Redis 如何实现防止超卖和库存扣减操作?
  19. 专业系统维护:CleanMyMac X for mac
  20. vue3 watch监听在组件初次加载的时候执行

热门文章

  1. 360手机麦克风测试软件,【奇酷小技巧】教你无需ROOT增大话筒、听筒和外放声音!...
  2. Python入门100题 | 第037题
  3. Python编程基础:第五十八节 线程Threading
  4. arcgis-“一个或多个已经添加图层的范围与关联空间参考不一致”“Arcmap不能绘制一个或者多个图层”
  5. 关于自动驾驶的思考以及我准备做的事情
  6. 【机器学习算法-python实现】采样算法的简单实现
  7. 微服务实战(七):从单体式架构迁移到微服务架构
  8. java 利用ManagementFactory获取jvm,os的一些信息--转
  9. 几种常用的加密方式简单介绍
  10. 《Credit Risk Scorecard》第四章:Data Review and Project Parameters