当前位置:   article > 正文

Android输入法架构学习总结

安卓输入法入力模式控制逻辑

 

此文为本人学习输入法之后所做的一个总结报告。与大家分享。

 

安卓输入法框架(Input Method FrameworkIMF

一.输入法框架简介

 

Android平台1.5版本以后,Google开放了 Android平台输入法框架(InputMethod Framework, IMF) IMFAndroid平台的特色设计。它的出现大大推动了不带实体键盘的设备的诞生。同时,Android平台输入法框架也给出了输入法的开发所需要的接口,为Android平台的输入法提供了可扩展性。

 

二.输入法框架组成

一个IMF结构中包含三个主要的部分:
●(输入法服务)input method manager(IMM):管理各部分的交互,是一个客户端API,存在于各个应用程序的context中,用来沟通管理所有进程间交互的全局系统服务,可以通过Context.getSystemService()来获取一个InputMethodManager的实例。
●(输入法应用)input method(IME):实现一个允许用户生成文本的独立交互模块。系统绑定一个当前的输入法。使其创建和生成,决定输入法何时隐藏或者显示它的UI。同一时间只能有一个IME运行。
●(客户端)client application:通过输入法管理器控制输入焦点和IME的状态。一次只能有一个客户端使用IME

输入法整体框架如图1所示:

图1.输入法的总体框架

2.1 IMM的实现

InputMethodManagerService.java是整个系统当中,一切与输入法有关的地方的总控制中心。它通过管理下面三个模块来实现系统的输入法框架。

1WindowManagerService

负责显示输入法,接收用户事件。

2InputMethodService

输入法内部逻辑,键盘布局,选词等,最终把选出的字符通过 commitText提交出来。

3InputManager  

UI 控件(View,TextView,EditText等)调用,用来操作输入法。比如,打开,关闭,切换输入法等。

2.2 输入法应用组成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/147562
推荐阅读
相关标签
  

闽ICP备14008679号