这是openwnn源码解析的第四篇,现在主要来介绍一下其设置界面。通过设置界面,大家可以深入了解输入法具有的功能。
最近看到网上有转载我的文章,但没有注明出处。由于这是系列文章单单转载一两篇读者也不一定看得懂。因此在这里做一个标记,如果看到转载的同学,可以访问我的博客http://blog.csdn.net/xianming01。
1、功能介绍
还是一样,由于我没有编译openwnn源码,因此这里的例子以android模拟器自带的openwnn日文输入法为例(android2.2)。
其设置界面如下:
其中“日语用户词典”和“英语用户词典”,你点进去会是一个词典编辑页面。
2、代码解析
这里涉及到的代码有几个:OpenWnnControlPanelJAJP.java,openwnn_pref_ja.xml;另外对与词典编辑,包含UserDictionaryToolsEdit.java,UserDictionaryToolsList.java,UserDictionaryToolsListFocus.java,UserDictionaryToolsListJAJP.java,UserDictionaryToolsEditJAJP.java,ClearLearnDictionaryDialogPreferenceJAJP.java,ClearUserDictionaryDialogPreferenceJAJP.java;以及KeyboardListPreferenceJAJP.java这个键盘配置项(这个配置项貌似就是传说中的皮肤功能)。
具体android的这种配置方式,是利用SharedPreferences和PreferenceActivity这两个类来实现的。其具体实现原理,可以参看本人的博客《android基础知识07:SharedPreferences和PreferenceActivity》。
2.1OpenWnnControlPanelJAJP.java
这里的代码比较简单
程序通过配置文件直接生成一个PreferenceActivity。
2.2Preferencescreen中利用intent跳转activity
这里需要注意一个问题,就是说在openwnn_pref_ja.xml中有一个比较特别的配置项。你点击“日语用户词典”和“英语用户词典”,它转到的是一个新的Activity。我们来看一下这些配置项:
这里涉及如何在PreferenceScreen中转到一个activity的操作,具体可以参看我的博文《android技巧01:Preferencescreen中利用intent跳转activity》
2.3 皮肤
在这个设置项里,“键盘自定义”这个选项是比较特殊的,通过它你可以设置输入法的皮肤。这里我回到DefaultSoftKeyboard.java类中initView函数是这样初始化皮肤的:
这实际上就是根据配置项,读取所设置的皮肤。
另外,在openwnn_pref_ja.xml文件中,对皮肤选项的设置配置项是这样的:
这里实际上是自定义了一个ListPreference。这个类源码如下:
这里实际上只是重载了onDialogClosed函数,当你关闭了键盘自定义对话框后,通知输入法,键盘配置已经改了。(具体这个事件是如何生效的,也就是前端如何根据这个信息来修改键盘的代码我还没看。)
3、其他
日文设置界面,除了以上介绍的配置项以外,比较麻烦的是关于词典的配置项。这一点,我们会在后面的文章介绍。
本文主要是介绍了日文输入法配置项中的难点。
分享到:
相关推荐
安卓(Android)系统本身的确没有原生的日文输入法,但是谷歌公司在安卓SDK中包含了日本omronsoft软件公司的开源输入法OpenWnn。OpenWnn是omronsoft公司的手机输入法iWnn IME的精简开源版本。OpenWnn在官方各个版本...
日文,中文,英文。...OpenWnn for Android is a IME(Input Method Editor) package which works on Android's IMF(Input Method Framework). This version contains Japanese, Chinese and English IME.
对其中c代码进行编译,因此利用此源码可以直接编译出可运行apk文件。
Android输入法框架源码,可以很快上手开发
OpenWnn可以编译运行的源码,学习安卓输入法开发的好素材。
OpenWnn安卓输入法完整源码,修复了网络上其他版本中BUG,导入ECLIPSE 就可以直接运行到安卓设备,如有任何意见建议请留言
前一段时间需要开发一个Android上的输入法,收集了一些源码,仅供参考
可能对研究输入法的朋友有些... OpenWnn for Android is a IME(Input Method Editor) package which works on Android's IMF(Input Method Framework). This version contains Japanese, Chinese and English IME.
其他 openwnn很多编译不通过,要么是.so文件没编译好,要么代码不支持。这个是能编译通过,部署成功的。so文件也有的
Android9.0内日文输入法OpenWnn,源码,已编译验证过,主要修改64位机器,SO库放置位置,以及在9.0失效的api替换,可在9.0源码内直接替换。
这是一款不错的开源输入法应用源码,该应用不但可以支持输入中文之外,还可以输入英文,日语的功能,而且还带有多种风格的输入法可以提供给用户切换等,功能非常强大,是一款非常难得的android输入法应用。...
可以运行的openwnn开源输入法代码,加入了从串口接收数据的功能
android 输入法 openwnn eclipse版本,希望可以帮助到输入法开发的初学者 openwnn是一个完整的输入法,大家都可以基于这个版本来自己修改,修改称自己想要的输入法
一款日本人开发的中文、英文、日文安卓输入法,底层是c语言,工程直接用Android studio导入(Import project(Gradle。。。)),可以直接编译生成apk。
安桌手机手写输入法.apk
一款Android手机上的输入法。含有中文输入法。
例如:Android键盘 Package Summary(包装总结) a. com.android.inputmethod.latin(来源网站) d. Restart(重启) b. (No Application Class)(无应用类型) c. (NO Label)(无标签) e. system(系统) f. process...
The OpenWnn engine class for English IME.