欢迎来到天天文库
浏览记录
ID:12972375
大小:52.00 KB
页数:8页
时间:2018-07-20
《android的输入法框架》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、解读android键盘一:android输入法框架Android的输入法框架比价复杂。从进程的角度来讲,相关功能主要分布在下面三个位置:客户端应用是一个包含有图形界面的应用,如地址本。图形界面上包含有能够接收输入的编辑框,如TextView。输入法模块提供软键盘,将用户在软键盘上的按键输入根据某种算法(如Zi,T9,国笔等)转换成单词,然后传递给客户端应用。目录development/samples/SoftKeyboard下提供了一个输入法模块实例。如果想要实现一个中文输入法,可参考这个实例。平
2、台部分实现一些管理功能,负责装载某个输入法模块,启动,终止该模块等。相关代码主要位于下面几个位置。其中,位于3,5,6,7目录下的代码最值得关注。1.frameworks/base/core/java/com/android/internal/view这个目录下定义了几个重要的idl接口。IInputMethod.aidl定义了IInputMethodidl接口,用于客户端跨进程操作InputMethod接口。IInputMethodSession.aidl定义了IInputMethodSessi
3、on接口,是IInputMethod的辅助接口。用于客户端跨进程操作InputMethodSession接口。 IInputMethodCallback.aidl定义了一个helper接口,由客户端实现。IInputMethod.aidl和IInputMethodSession.aidl实例可以分别调用该接口中的不同方法 IInputMethodManager.aidl定义了InputMethodManager的service接口。客户端通过InputMethodManagerinterface调
4、用这个service。InputMethodManagerService.java实现了IInputMethodManager.aidl接口 IInputMethodClient.aidl定义接口,标识一个InputMethodManager的客户。这个service在客户端实现,提供给server端调用。 IInputContext.aidl定义了一个接口,由客户端提供InputMethod使用。InputMethod可以与客户端交互,调用客户端提供的callback。IInputConnect
5、ionWrapper.java实现了IInputContext接口。IInputContextCallback.aidl定义了一个接口,定义了一组callback函数给IInputContext.aidl实例调用,从客户端返回信息给InputMethod。InputConnectionWrapper.java实现了IInputContextCallback接口。 2.frameworks/base/services/java/com/android/serverInputMethodManager
6、Service.java实现了IInputMethodManager.aidl接口 3.frameworks/base/core/java/android/view/inputmethod这个目录下定义了几个重要的interface和类。InputMethodManager.java实现了InputMethodManager类。此类调用IInputMethodManager.aidl接口功能,而IInputMethodManager.aidl接口功能由InputMethodManagerServi
7、ce.java实现,并运行在不同于客户端进程的server进程中。 InputConnection.java定义了InputConnectioninterface。InputConnection接口在输入法和客户端之间建立了一个连接,输入法可以使用该连接获取或发送信息给客户端。InputConnection实例由客户端创建之后传递给输入法使用。BaseInputConnection.java实现了InputConnection接口的一个基类:BaseInputConnection。Editable
8、InputConnection.java实现了一个派生类 InputBinding.java定义了类InputBinding,这个类实现了parcelable接口。这个类的成员变量包含了客户端传向server的信息。 InputMethod.java定义了InputMethodinterface。文件InputMethodService.java中类InputMethodImpl实现了这个接口。这个接口定义了一套操纵一个输入法的方法。如,createSession,startInp
此文档下载收益归作者所有