对InputMethodService类的学习笔记

InputMethodService继承自AbstractInputMethodService,AbstractInputMethodService继承自Service。

首先了解一下InputMethod接口是什么,看了源代码中的注释后,总结如下。InputMethod接口表示一个输入方式,它能够产生key事件、text,比如数字,邮箱地址,CJK字符,其它语言字符等。它可以处理很多输入事件,并且把text发送给指定的application;InputMethod的方法createSession返回一个SessionCallback,SessionCallback可以被客户端使用,让客户端通过它和输入法交互。

分析一下AbstractInputMethodService。它是一个abstract类,继承自Service,并且implements KeyEvent.Callback。AbstractInputMethodService类中有私有成员mInputMethod,它属于InputMethod接口。抽象内部类AbstractInputMethodImpl实现了InputMethod,而mInputMethod引用了这个类的对象。

时间: 2024-10-05 21:20:29

对InputMethodService类的学习笔记的相关文章

初探C++类模版学习笔记

类模板 实现:在定义类的时候给它一个或多个参数,这个些参数表示不同的数据类型.                              -->抽象的类. 在调用类模板时, 指定参数, 由编译系统根据参数提供的数据类型自动产生相应的模板类                   -->具体的类. 类模板的定义 C++的类模板的写法如下: template <类型参数表> //类型参数表的写法就是:class 类型参数1, class 类型参数2, - class 类模板名 { 成员函数

初步C++类模板学习笔记

类模板 实现:在上课时间的定义给它的一个或多个参数,这些参数代表了不同的数据类型.                              -->抽象的类. 在调用类模板时, 指定參数, 由编译系统依据參数提供的数据类型自己主动产生对应的模板类                   -->详细的类. 类模板的定义 C++的类模板的写法例如以下: template <类型參数表> //类型參数表的写法就是:class 类型參数1, class 类型參数2, - class 类模板名

《C++ Primer Plus》14.4 类模板 学习笔记

14.4.1 定义类模板下面以第10章的Stack类为基础来建立模板.原来的类声明如下:typedef unsigned long Item; class Stack{private:    enum {MAX = 10};    // constant specific to class    Item items[MAX];    // holds stack items    int top;            // index for top stack itempublic:   

C++类的学习笔记

在C++中类 #include<iostream.h> class humn{ public: void get_hight(){ cout<<hight; } void get_weight(); void set_hight(int x){ hight = x; } void set_weight(int y); private: int hight; int weight; }; void humn::get_weight(){ cout<<weight; } v

实例化类对象 学习笔记

package com.ctgu.java.exer; import java.util.Scanner; public class TestPerson { public static void main(String[] args){ Person p1 = new Person(); p1.info(); p1.name = "lovejia"; p1.age = 21; p1.sex = true; p1.setName("lovejia"); p1.inf

openCV学习笔记(6):Mat类/数据结构详解(1)

Mat类不仅可以用于图像存储,同时也是一个通用的矩阵类,可以用来创建和操作多维矩阵,以后将会更新将Mat作为矩阵类的学习笔记.本文重点在于重新学习Mat类的结构,主要是重要成员变量和构造函数. 一.Mat类 Mat类中关键属性如下所示: //Mat类 class CV_EXPORTS Mat { public: //一系列函数 /* 包括几位字段: -Mat的标识 -连续性标志 -深度(位深) -通道数 */ int flags; //矩阵的维数,取值> = 2 int dims ; //矩阵的

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

java学习笔记8--接口总结

接着前面的学习: java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note8.html,转载请注明源地址. 生活中的接口: 什么是接口? 一个Java接口是一些方法特

java学习笔记14--多线程编程基础1

本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为一个进程,例如:用字处理软件编辑文稿时,同时打开mp3播放程序听音乐,这两个独立的程序在同时运行,称为两个进程 进程要占用相当一部分处理器时间和内存资源 进程具有独立的内存空间 通信很不方便,编程模型比较复杂 多线程 一个程序中多段代码同时并发执行,称为多线程,线程比进程开销小,协作和数据交换容易