当一个可编辑的文本框获得焦点时,系统就会启动当前输入法,首先调用当前输入法的onCreate()函数。
Android系统的输入法通常都派生自基类android.inputmethodservice.InputMethodService,基类InputMethodService定义了Android输入法的公共API集合,其中onCreate就是其中的一个API函数。各个具体的输入法实现根据需要重载实现这些API的全部或者一部分。
Android
SDK提供了一个最简单的输入法示例,SoftKeyboard ,这个示例可以在SDK安装目录下samples/plaform-X下找到(其中X为SDK的API
level数,如cupcake为3,donut为4,froyo为8)。SoftKeyboard 的onCreate()函数代码如下:
@Override
publicvoid onCreate() {
super.onCreate();
mWordSeparators=
getResources().getString(R.string.word_separators);
}
除了简单调用父类的同名函数外,从资源文件中读出单词分隔符的串并保存在成员变量里。每个输入法在被创建时要进行的初始化不尽相同。如Android源代码树在packags/inputmethods子目录下还有其它具体的输入法实例。(参考文档http://android.git.kernel.org/?p=platform/packages/inputmethods/LatinIME.git;a=tree)可以把Android源码取到本地计算机,还可以在线浏览另一个输入法实例LatinIME的onCreate()函数