Android 平台提供了拼写检查工具框架,可让您在应用中实现和使用拼写检查功能。该框架是 Android 平台提供的文本服务 API 之一。

如需在您的应用中使用该框架,您需要创建一个特殊类型的 Android 服务,该服务可生成拼写检查工具会话对象。根据您提供的文本,该会话对象会返回拼写检查工具生成的拼写建议。

拼写检查工具生命周期

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

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

如需启动拼写检查,您的应用会开始实现拼写检查工具服务。您应用中的客户端(例如,Activity 或各个界面元素)会从该服务请求拼写检查工具会话,然后使用该会话获取文本建议。当客户端终止其操作时,它会关闭其拼写检查工具会话。如有必要,您的应用可随时关闭拼写检查工具服务。

实现拼写检查工具服务

如需在您的应用中使用拼写检查工具框架,请添加包含会话对象定义的拼写检查工具服务组件。您还可以向应用添加可控制设置的可选 Activity。此外,您还必须添加描述拼写检查工具服务的 XML 元数据文件,并向清单文件添加适当的元素。

拼写检查工具类

使用以下类定义服务和会话对象:

注意:您必须以异步和线程安全的方式实现拼写检查的所有方面。拼写检查工具可以由在不同核心上运行的不同线程同时调用。

拼写检查工具清单和元数据

除了代码之外,您还需要为拼写检查工具提供适当的清单文件和元数据文件。

相应的清单文件定义了用于控制设置的应用、服务和 Activity,如以下代码段所示:

package="com.example.android.samplespellcheckerservice" >

android:label="@string/app_name" >

android:label="@string/app_name"

android:name=".SampleSpellCheckerService"

android:permission="android.permission.BIND_TEXT_SERVICE" >

android:name="android.view.textservice.scs"

android:resource="@xml/spellchecker" />

android:label="@string/sample_settings"

android:name="SpellCheckerSettingsActivity" >

请注意,想要使用该服务的组件必须请求 spellchecker.xml 元数据文件,这将在下一部分中介绍。

相应的元数据文件 spellchecker.xml 包含以下 XML:

android:label="@string/spellchecker_name"

android:settingsActivity="com.example.SpellCheckerSettingsActivity">

android:label="@string/subtype_generic"

android:subtypeLocale="en”

/>

android:label="@string/subtype_generic"

android:subtypeLocale="fr”

/>

上述元数据指定了拼写检查工具用于控制设置的 Activity。它还定义了拼写检查工具的子类型;在本示例中,相应的子类型定义了拼写检查工具可以处理的语言区域。

从客户端访问拼写检查工具服务

使用

图 2. TextView 中的拼写检查。

不过,在其他情况下,不妨直接与拼写检查工具服务进行互动。下图显示了与拼写检查工具服务互动的控制流程:

图 3. 与拼写检查工具服务互动。

拼写检查工具是android,拼写检查工具框架  |  Android 开发者  |  Android Developers...相关推荐

  1. Android - Binder机制 - Binder框架总结

    以下几篇文章是较深入分析binder机制. 目录 1. Android - Binder机制 - ServiceManager 2. Android - Binder机制 - 普通service注册 ...

  2. Android检测程序崩溃框架CustomActivityOnCrash

    Android检测程序崩溃框架CustomActivityOnCrash 在Android程序中,程序有时会遇到各种之前没有遇到的问题,这时如果能够对程序进行额外判断就好的,CustomActivit ...

  3. Android 代码检查工具SonarQube

    代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一个.官网 Sonar 概述 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具 ...

  4. node/js 漏洞_6个可用于检查Node.js中漏洞的工具

    node/js 漏洞 Vulnerabilities can exist in all products. The larger your software grows, the greater th ...

  5. Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果...

    为了规范代码,我们一般会集成静态代码检测工具,比如PMD.FindBugs.Checkstyle,那么Jenkins如何集成这些检查工具,并把检查结果放到构建邮件里呢? 今天做了调研和实现,过程如下 ...

  6. httpstat:一个检查网站性能的 curl 统计分析工具

    httpstat:一个检查网站性能的 curl 统计分析工具 httpstat 是一个 Python 脚本,它以美妙妥善的方式反映了 curl 统计分析,它是一个单一脚本,兼容 Python 3 ,在 ...

  7. java实现网站错别字搜索对的结果_自媒体文章错别字检测工具,给你检查文章错别字,方便又省事...

    自媒体文章错别字检测工具,给你检查文章错别字,方便又省事,随着自媒体行业的发展,越来越多的人选择副业或者主业来从事自媒体,撰写生活趣事或者分享干货知识.所以每个人对自媒体行业的认知或者专业知识的不做, ...

  8. CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

    CCKiller:Linux轻量级CC攻击防御工具,秒级检查.自动拉黑和释放 一.功能申明 二.功能介绍 三.工具安装 四.攻防测试 五.更多说明 文章目录 很久以前分享过一个CC攻击的防御脚本,写得 ...

  9. Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放

    一.功能申明 分享之前我必须先申明一下,众所周知,DDoS攻击指的是分布式拒绝服务.而CC攻击只是DDoS攻击的一种,本文所阐述的CC攻击,指的是单个IP达到我们设定好的阈值并发请求,而非海量IP的低 ...

最新文章

  1. CF587F Duff is Mad
  2. 渗透攻击(NT/2000系统)
  3. python中的pandas的两种基本使用_pandas中join()的两种应用方法
  4. MYSQL--事务处理
  5. 企业如何寻找最合适的托管数据中心,以维持IT和业务的增长运营
  6. Webpack之插件html webpack plugin
  7. TransE:Translating Embedding多元关系数据嵌入(知识图谱嵌入)2013 NIPS
  8. LeetCode--283--移动0
  9. 华为设备离线什么意思_华为手机中的P、Mate、nova分别是什么意思?看完你全懂了...
  10. Stanford CoreNLP - 自然语言软件
  11. 《2019上半年网络工程师考试大纲》
  12. opencms mysql_OpenCms for MySql 安装图解
  13. (生物信息学)R语言与统计学入门(四)——Fisher检验
  14. Android 图片文字识别
  15. 二叉搜索树的删除操作详解,图文并茂,化繁为简
  16. 谷歌浏览器被hao123绑定首页了
  17. (转)同居男女同一天的日记对比
  18. 国产操作系统VS Windows系统的深度使用比较,哪种操作系统更好用?来自一位深度使用者的全面剖析
  19. 【项目】小帽学堂(十一①)
  20. IOS应用程序启动显示白屏或黑屏

热门文章

  1. 列表元素循环移位中Python切片的妙用
  2. 深度学习白话_如何提高论文的深度?
  3. SQL:having和where的区别
  4. VScode+ROS(C++)代码断点调试实践笔记
  5. C++之explicit探究
  6. C++之继承探究(七):虚析构函数
  7. navicat打开表提示不存在_真相 | 专家提示:“真空轮胎”真的不存在!别再提了...
  8. 小米air耳机重新配对_平价蓝牙耳机品牌,百元平价蓝牙耳机推荐
  9. 女生中专学计算机,女生读中专哪个专业好
  10. java编程xml_XML Java编程