Android版本: 2.1 (Eclair)
代码路径:packages/inputmethods/PinyinIME/
项目结构:
AndroidManifest.xml- Android工程的清单文件,参考http://developer.android.com/intl/zh-CN/guide/topics/manifest/manifest-intro.html
Android.mk - Android工程的编译配置文件,类似于unix的Makefile文件。
jni/ - Java Native Interface, 用C/C++实现拼音输入法的功能,供上层Java代码调用的底层代码。
lib/ - 用AIDL文件给上层JAVA应用定义了jni可用的接口集IPinyinDecoderService。AIDL请参考http://developer.android.com/intl/zh-CN/guide/developing/tools/aidl.html
res/ - Android项目的资源目录(系统静态字典数据文件dict_pinyin.dat也放在这个目录下的raw子目录里)。参考http://developer.android.com/intl/zh-CN/guide/topics/resources/index.html
src/ - Java源代码,实现输入法在Android平台的UI及上层应用逻辑,通过lib下的AIDL定义的接口,调用jni/下C/C++实现,完成用户与输入法的交互功能。

摘要:
PinyinIME的实现代码主要分两部分:上层应用和底层服务。上层应用收集终端用户的输入事件,转调底层服务的接口完成输入法的各项功能,底层服务完成各项计算后,把结果返回结上层应用,最后上层应用把结果显示给终端用户,并等待用户的下一输入事件。
底层应用的实现全部由jni/子目录中的C++文件完成,所有给上层Java应用的接口在lib/下的AIDL文件中作了声明,在jni/android/com_android_inputmethod_pinyin_PinyinDecoderService.cpp中实现。

为此本源码笔记系列将集中在jni/子目录提供功能上,上层应用部分的分析视情况待定。下一篇将介绍底层服务所提供的接口。

转载自:http://blog.sina.com.cn/s/blog_4177a2e20100lkrp.html

更多相关文章

  1. 【译】Android 6.0接口变化(三)(Android 6.0 Changes)
  2. 【Android】配置文件属性说明
  3. 在sd卡存储文件
  4. 读取raw文件下文件内容
  5. 【翻译】(8-补丁1)Android接口定义语言(AIDL)
  6. android intent.setType指定浏览本地多种类型的文件
  7. 修改文件夹权限
  8. Android——文件操作

随机推荐

  1. Android(安卓)IPC 通讯机制源码分析
  2. Android之Handler用法总结
  3. Android(安卓)中Popwindow弹出菜单的两种
  4. [置顶] 我的Android进阶之旅------>Andro
  5. android 使用Intent传递数据之静态变量
  6. AndroidManifest.xml学习
  7. Android中图像和图像处理
  8. Android(安卓)写一个属于自己的Rxjava(二)
  9. Android最佳实践之高效的应用导航
  10. android 值得学习的网站