下载此文档

Android开发实例详解之IMF(Android SDK Sample—SoftKe....pdf


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
no Pain no Gain no Gavin 博客同步更新至:http://blog./deaboway http://blog./deaboway
最近工作比较忙,加班出差,因此更新慢了些。今天刚好有空,写一篇实例
详解吧。
本博前面的文章介绍了 Android 开发环境的搭建和模拟器的常用操作。本
次,将以 Android Sample 中经典的 SoftKeyboard 项目为例,详细解析 Android 上一
个小型项目的开发过程和注意事项。

从 SDK 版本以后,Android 就开放它的 IMF(Input Method
Framework),让我们能够开发自己的输入法。而开发输入法最好的参考就是
Android 自带的 Sample-SoftKeyboard,虽然这个例子仅包含英文和数字输入,但是
它本身还算完整和清楚,对我们开始 Android 开发实战有很大帮助。

一、IMF 简介
一个 IMF 结构中包含三个主要的部分:
input method manager:管理各部分的交互。它是一个客户端 API,存在于各
个应用程序的 context 中,用来沟通管理所有进程间交互的全局系统服务。
input method(IME):实现一个允许用户生成文本的独立交互模块。系统绑定
一个当前的输入法。使其创建和生成,决定输入法何时隐藏或者显示它的 UI。同
一时间只能有一个 IME 运行。
client application:通过输入法管理器控制输入焦点和 IME 的状态。一次只能
有一个客户端使用 IME。

1、InputManager
由 UI 控件(View,TextView,EditText 等)调用,用来操作输入法。比如,打
开,关闭,切换输入法等。
它是整个输入法框架(IMF)结构的核心 API,处理应用程序和当前输入法的
交互。可以通过 ()来获取一个 InputMethodManager 的实
例。
在开发过程中,最基础最重要的就是养成阅读 API 的习惯。优秀的程序员要
养成把自己关在小黑屋里,断绝与外界的联网和联系,仅仅靠自己电脑中的开发环
境和 API 文档,以及漂亮女仆送来的每天三顿饭,写出优秀的程序。这个在武侠
小说中叫闭关,在软件开发中叫 Clean Room,哈哈。
Android 的 API 文档在:%SDK_ROOM%/docs/reference/,
InputManager 类的位置:
%SDK_ROOM%/docs/reference/android/view/inputmethod/
由于,该类跟本次要讲的 Sample 关系不大,这里就不详细分析,请各位自行
阅读 API doc 吧。

2、InputMethodService
包括输入法内部逻辑,键盘布局,选词等,最终把选出的字符通过
commitText 提交出来。实现输入法的基础就是名为 InputMethodService 的类,比
如你要实现一个谷歌输入法,就是要 extends 本类。我们接下来要学习的
1
no Pain no Gain no Gavin 博客同步更新至:http://blog./deaboway http://blog./deaboway
SoftKeyboard Sample 也是 extends 本类。InputMethodService 类的位置在:
%SDK_ROOM%/docs/reference/android/inputmethodservice/

InputMethodService 是 InputMethod 的一个完整实现,你可以再在其基础上扩
展和定制。它的主要方法如下:
z onInitializeInterface() 顾名思义,它在初始化界面的时候被调用,而一般
是由于配置文件的更改导致该函数的执行
z onBinndInput() 它在另外的客户端和该输入法连接时调用
z onStartInput() 非常重要的一个回调,它在编辑框中用户已经开始输入的时
候调用。比如,当点击一个输入框,我们需要根据这个输入框的信息,设
置输入法的一些特性,这个在 Sample 中很有体会。
z onCreateInputView() 返回一个层次性的输入视图,而且只是在这个视图第

Android开发实例详解之IMF(Android SDK Sample—SoftKe... 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ffy51856fy
  • 文件大小0 KB
  • 时间2014-01-04
最近更新