Android输入法开发

参考资料

1. Android输入法开发

  https://www.cnblogs.com/carlo/p/4737523.html

  一,讲解了 输入法相关的概念:

  IMF:输入法框架 (Input Method Framework)

  IM: 输入法 (Input Method)

  IMS : 输入法服务 (Input Method Service)

  IMMS : 输入法服务管理器 (Input Method Manage Service),  system process的一部分,系统中只有一个该服务的实例 《eg : 一次只能打开 Sogou or 百度输入法》

  IMM : 输入法管理器 (Input Method Manage),  每个客户端进程包含一个该实例

  IME : 泛指一个具体的输入法APK, (Input Method Engine), 包含其内部的IMS和各种Binder

  二,核心思想:

  以Service方式运行具体的思想·

  在Service中创建输入法窗口,并把内容传递到EditText框中

  三,IME的两个Binder:

  IMS对应的Binder, IMMS通过该Binder去控制输入法,eg: 显示,隐藏等。

  专门供客户端调用的Binder, 该对象用于 在输入过程中,客户端 将事件 传给输入法

  四,IME几个要素

  

  五,动手写一个IME

  

https://my.oschina.net/hailongqiu/blog/1535494

https://blog.csdn.net/xutao3716/article/details/49616807

https://blog.csdn.net/vrix/article/details/6683664

https://developer.android.google.cn/guide/topics/text/creating-input-method.html

https://blog.csdn.net/wong_judy/article/details/5888574

https://www.jianshu.com/p/eb4ab57393f3

原文地址:https://www.cnblogs.com/yorayoung/p/14186773.html