android
输入法
02:openwnn
源码解析
01—输入流程
之后要开始
android
日文输入法的测试,因此现在开始研究
android
输入法。之前两
篇文章已经对
android
自带的输入法实例
softkeyboard
的源码进行了解析。这一系
列将开始学
openwnn
的源码。
openwnn
是一家日本公司开发的开源输入法框架,涉及中文、日文、韩文。目
前已经加入到了
android
源码之中。因此你打开一个模拟器时,会发现其中有一个
japanese ime
的输入法,其服务名为
openwnn
,这个就是
openwnn
的日文输入法。
1
、日文输入
本文章主要以日文输入法为主。为了方便大家阅读,先对日文输入法做一个简
单的介绍:
•
日文输入法分为罗马音输入法(类似中文拼音)和假名输入法(类似中文
五笔)。比如,你要输入
”
可愛
“
,则用罗马音输入,需要输入
”kawai“
,然后
在候选词中选择
”
可愛
“
;若使用假名输入,则需要输入
”
かわい
“
,在候选中
选择
”
可愛
“
。
•
日文由平假名、片假名(分全角片假名和半角片甲名)和汉字组成。通常学
日语的人会说到
50
音图,就是日语
50
个平假名(与之对应有
50
个片假名)
的读音。其中平假名是由汉字演化而来的,类似于日文的拼音,比如
”
可愛
“
的日文读音就是
”
かわい
“
。片假名是由于外来语的入侵,原来平假名无法表
达所有的外文内容而设计的。
这里,如果你读到
ComposingText.java
这个类时,其中会涉及到三个输入层:
第一层为原始输入,比如输入的按键;第二层为假名层;第三层为最终显示结果,
一般为汉字与假名的混合体。以前面那个例子,在罗马音输入法模式下,第一层
为
”kawai“
,第二层为
”
かわい
“
,第三层为
”
可愛
“
。若你不懂日文的一些基本特点,这
一个地方有可能看不懂。
2
、输入流程
2.1 android
输入法输入流程
现在我们开始介绍输入流程。从前面的文章对
softkeyboard
的分析(若你对输
入法不了解,请看前两篇介绍
softkeyboard
的文章,否则后面的内容很难看懂),