当前位置:  编程技术>移动开发
本页文章导读:
    ▪IMF简介-一        IMF简介-1 Input Method Framework目录    IMF简介    相关代码位置    展开    IMF简介    相关代码位置    展开编辑本段IMF简介从SDK 1.5版本以后,Android就开放它的IMF(Input Method Framework).........
    ▪ 写在20110609:容易的MonKey测试        写在20110609:简单的MonKey测试 Monkey测试很形象,说的就是这个测试像猴子一样在你的应用程序上乱点,模拟的是用户点击的操作。瓶颈:解锁。Monkey测试步骤1.连接手机,保持手机已连接.........
    ▪ IMF简介-二       IMF简介-2 InputManager由UI控件(View,TextView,EditText等)调用,用来操作输入法。比如,打开,关闭,切换输入法等。它是整个输入法框架(IMF)结构的核心API,处理应用程序和当前输入法的交.........

[1]IMF简介-一
    来源: 互联网  发布时间: 2014-02-18
IMF简介-1
Input Method Framework

目录

    IMF简介
    相关代码位置
    展开

    IMF简介
    相关代码位置
    展开

编辑本段IMF简介
从SDK 1.5版本以后,Android就开放它的IMF(Input Method Framework),让我们能够开发自己的输入法。
一个IMF结构中包含三个主要的部分:
input method manager:管理各部分的交互。它是一个客户端API,存在于各个应用程序的context中,用来沟通管理所有进程间交互的全局系统服务。
input method(IME):实现一个允许用户生成文本的独立交互模块。系统绑定一个当前的输入法。使其创建和生成,决定输入法何时隐藏或者显示它的UI。同一时间只能有一个IME运行。
client application:通过输入法管理器控制输入焦点和IME的状态。一次只能有一个客户端使用IME。
InputManager
由UI控件(View,TextView,EditText等)调用,用来操作输入法。比如,打开,关闭,切换输入法等。
它是整个输入法框架(IMF)结构的核心API,处理应用程序和当前输入法的交互。可以通过Context.getSystemService()来获取一个InputMethodManager的实例。
在开发过程中,最基础最重要的就是养成阅读API的习惯。优秀的程序员要养成把自己关在小黑屋里,断绝与外界的联网和联系,仅仅靠自己电脑中的开发环境和API文档,以及漂亮女仆送来的每天三顿饭,写出优秀的程序。这个在武侠小说中叫闭关,在软件开发中叫Clean Room,哈哈。
Android的API文档在:%SDK_ROOM%/docs/reference/index.html,InputManager类的位置:%SDK_ROOM%/docs/reference/android/view/inputmethod/InputMethodManager.html

    
[2] 写在20110609:容易的MonKey测试
    来源: 互联网  发布时间: 2014-02-18
写在20110609:简单的MonKey测试
Monkey测试很形象,说的就是这个测试像猴子一样在你的应用程序上乱点,模拟的是用户点击的操作。瓶颈:解锁。
Monkey测试步骤
1.连接手机,保持手机已连接到电脑。
2.打开cmd。
3.执行adb shell
4.输入Monkey命令。package_name改成你自己要测的包名,其余的不需要改动。
  monkey -p package_name -s 23 --ignore-crashes --ignore-timeouts -v -v -v 100000> /data/local/tmp/log.txt 2>&1 &
5.Monkey测试结束后导出日志文件即可
  adb pull /data/local/tmp/ d:/
6.定位文件中相应的CRASH或Not Responding。

其中解释一下这个Monkey命令。
monkey -p package_name -s 23 --ignore-crashes --ignore-timeouts -v -v -v 100000> /data/local/tmp/log.txt 2>&1 &
1.-p后面接着的对应的包名,如果是整机测试,就不需要 -p package_name
2.-s后面是对应的种子数,好像就是操作步骤,根据她们测试的经验,一般种子数在23,同步她们测试的结果,一般种子的个数固定为23,和她们选择的操作步骤就是同步的。
3.--ignore-crashes --ignore-timeouts 这里是在monkey测试的过程中遇到carash或者timeout的情况时忽略掉,一般不设置时,出现crash或者timeout时,Monkey测试会终止。这里是防止Monkey测试终止。
4.-v 指的是Monkey测试时点击的深度,一个-v表示一层,-v -v -v这里就是点击的深度达到三层的意思。
5.100000 这里是指点击的次数,根据她们测试的经验,对于单个应用程序这个次数设置在100000次就可以了;如果是整机,一般设置在500000次。
6.> /data/local/tmp/log.txt 测试的log记录在手机上/data/local/tmp/ 下面的log.txt里面,这个名字可以自己写。
7.2>&1 固定的写法,这个也很重要,代表的意思是中间忽略的东东的日志一并输入到指定的文件中。
8.最后单独的一个"&" 是一旦Monkey测试开始了,之后可以拔掉数据线,不会影响Monkey测试。

    
[3] IMF简介-二
    来源: 互联网  发布时间: 2014-02-18
IMF简介-2
InputManager
由UI控件(View,TextView,EditText等)调用,用来操作输入法。比如,打开,关闭,切换输入法等。
它是整个输入法框架(IMF)结构的核心API,处理应用程序和当前输入法的交互。可以通过Context.getSystemService()来获取一个InputMethodManager的实例。
Android的API文档在:%SDK_ROOM%/docs/reference/index.html,InputManager类的位置:%SDK_ROOM%/docs/reference/android/view/inputmethod/InputMethodManager.html
InputMethodService
包括输入法内部逻辑,键盘布局,选词等,最终把选出的字符通过commitText提交出来。实现输入法的基础就是名为InputMethodService的类,比如你要实现一个谷歌输入法,就是要extends本类。我们接下来要学习的SoftKeyboard Sample也是extends本类。InputMethodService类的位置在:%SDK_ROOM%/docs/reference /android/inputmethodservice/InputMethodService.html
InputMethodService是InputMethod的一个完整实现,你可以再在其基础上扩展和定制。它的主要方法如下:
onInitializeInterface() 顾名思义,它在初始化界面的时候被调用,而一般是由于配置文件的更改导致该函数的执行
onBinndInput() 它在另外的客户端和该输入法连接时调用
onStartInput() 非常重要的一个回调,它在编辑框中用户已经开始输入的时候调用。比如,当点击一个输入框,我们需要根据这个输入框的信息,设置输入法的一些特性,这个在Sample中很有体会。
onCreateInputView() 返回一个层次性的输入视图,而且只是在这个视图第一次显示的时候被调用
onCreateCandidatesView() 同onCreateInputView(),只不过创建的是候选框的视图。
onCreateExtractTextView() 比较特殊,是在全屏模式下的一个视图。
onStartInputView() 在输入视图被显示并且在一个新的输入框中输入已经开始的时候调用。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3