2010年8月16日

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. 浅谈Java中Collections.sort对List排序的两种方法
  2. python list.sort()根据多个关键字排序的方法实现
  3. android中textView周围显示图片
  4. 粘贴复制Android复制和粘贴的实现
  5. what is Android?
  6. Android(安卓)商显会议平板聚光灯效果实现
  7. Android实现圆角弹框功能
  8. 美图秀秀自由拼图android实现
  9. android:实现双击事件(DoubleClick)

随机推荐

  1. 磁盘空间-逻辑卷
  2. 基于Cocos SDKHub接入华为HMS Game服务—
  3. 前端JavaScript开发中需要注意的代码问题
  4. 基于SSH框架的人力资源管理系统设计与实
  5. CCNP(ISCW)实验:配置Cisco支持AAA计费
  6. 2021年最新UI/UE设计学习线路
  7. shell脚本中数组常用操作
  8. idea激活码_idea激活码2021_idea激活码20
  9. kubernetes概述-介绍、组件、架构
  10. vmware 虚拟机中Ubuntu 20.04系统大小写