Android
文章平均质量分 81
xiaodanpeng
这个作者很懒,什么都没留下…
展开
-
Espresso和UIAutomator - 完美的结合
Espresso是个功能强大、执行速度很快的Android自动化测试框架,但是它有一个重要的局限-你只可以在被测App的Context中操作。意味着下列App自动化测试需求无法实现:应用的推送消息同步联系人从另一个应用程序进入被测App因为你要处理移动设备的其他应用程序,比如通知栏、联系人等。事实上,UIAutomator 2.0发布后可以实现上述功能。如Android Dev转载 2016-07-20 09:56:20 · 2271 阅读 · 0 评论 -
Android ListView常用用法
ListView是比较常用的控件,但一直都觉得创建ListView步骤有点繁琐,故在此总结一下,方便查阅。程序效果是实现一个ListView,ListView里面有标题,内容和图片,并加入点击和长按响应。 首先在xml里面定义一个ListView Xml代码 xml version="1.0" encoding="utf-8"?>转载 2013-07-16 16:41:46 · 583 阅读 · 0 评论 -
Android自定义控件超链接文本LinkTextView的实现
Android自定义控件LinkTextView的实现@author:郑海波 http://blog.csdn.net/nuptboyzhb/相关博客:http://blog.csdn.net/nuptboyzhb/article/details/7880916功能:设计一个TextView,当点击该TextView时,会打开相应的链接。如图: LinkTextView类的转载 2013-07-10 16:28:22 · 1780 阅读 · 0 评论 -
android各种控件的事件监听及举例
原帖地址:http://www.iteye.com/topic/1060815#下面是各种常用控件的事件监听的使用①EditText(编辑框)的事件监听---OnKeyListener②RadioGroup、RadioButton(单选按钮)的事件监听---OnCheckedChangeListener③CheckBox(多选按钮)的事件监听---OnCheckedChangeLi转载 2013-07-10 16:29:53 · 914 阅读 · 0 评论 -
Android Monkey源码解析
这两天在读Android Monkey的源代码.代码不多,放出分享.我现说一下,Monkey是干什么的:简单的说就是,模拟用户的touch screen和keyboard的输入.其实这个功能就已经很恐怖了. Google自己说的下面:// Only bind this to local host. This means that you can only// talk to th转载 2013-06-23 10:04:46 · 8197 阅读 · 2 评论 -
Android SDK 源代码编译
1. 环境Ubuntu 10.04 32-bitsudo apt-get install git-coresudo apt-get install curlsudo apt-get install zlib -dev 变为 sudo apt-get install zlib1g -devsudo apt-get install bisonsudo apt-g转载 2013-05-23 09:51:54 · 731 阅读 · 0 评论 -
Android 中input event的分析
文章将分析Android 的Input Event 子系统的来龙去脉。 Android 系统里面有很多小工具,运行这些工具,我们对它们有一个感性的认识,进而阅读和分析这些小工具源代码,再顺藤摸瓜,就可以把整个子系统的来龙去脉弄清楚。 1.运行toolbox的getevent 工具。 # getevent -helpgetevent -helpUsage: getev转载 2013-03-27 10:29:00 · 727 阅读 · 0 评论 -
对APK进行重签名
1. 生成Android APK包签名证书1). 在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2). 运行下面的命令keytool –genkey –alias android123.keystore –keyalg RSA –validity 20000 –keystore andro转载 2013-03-20 15:36:24 · 729 阅读 · 0 评论 -
Android 文件操作大全
android的文件操作要有权限:view plaincopy to clipboardprint? SD卡下的文件操作:1、判断SD卡是否插入view plaincopy to clipboardprint?Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOU转载 2013-03-19 19:10:10 · 666 阅读 · 0 评论 -
Android针对不同的手机屏幕大小设计图片资源与编码(转载)
一些术语Screen Size 屏幕尺寸:实际的物理尺寸,以屏幕的对角线为准(包括通知栏?)将所有的实际尺寸分为四个广义的尺寸:small(小),normal(正常),large(大),extralarge(特大)Density 屏幕密度:屏幕的屋里面积内的像素数量,通常指dpi(每英寸点数)small的屏幕密度比normal或large在一个给定的物理面积内具有较少的像素转载 2013-03-18 15:15:04 · 886 阅读 · 0 评论 -
Android monkey test 脚本的编写
Android 的 monkey test 工具提供了 -f scriptfile 参数,可以指定 test 脚本,然而翻遍了 Android 的网站也没有找到这个脚本的文档,最终只在 monkey 的源码 MonkeySourceScript.java 中找到了一小段注释,里面给了一个不到 10 行例子: /** * monkey event queue. It takes a sc转载 2013-03-14 16:30:29 · 1207 阅读 · 0 评论 -
Android2.3触摸屏功能详解
手机设备上常用触摸屏进行用户操作,非常方便快捷,而且正好有个项目上用到这个设备,所以就花时间研究了一下。好了,还是老规则:大体了解概念先,细节线索找代码:InputReader.cpp 中有针对单点触摸SingleTouchInputMapper及多点触摸MultiTouchInputMapper的处理代码,这两个类都继承自TouchInputMapper,由syncTouch处理最终的触摸屏转载 2013-03-12 17:54:45 · 693 阅读 · 0 评论 -
Linux & Android 多点触摸协议
为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH、ABS_X、ABS_Y、SYNC。而多点触摸信息则是以ABS_MT承载并按一定顺序发送,如ABS_MT_POSITION_X、ABS_MT_转载 2013-03-12 17:43:37 · 672 阅读 · 0 评论 -
android文件关联之mime type
android手机中经常看到用xx播放,用xxx浏览器,分享到xxx等.这种菜单实现关键代码:[html] view plaincopy activity android:name="com.ifeisu.browser.window.IFeiSuActivity" android:laun转载 2013-03-04 16:43:44 · 891 阅读 · 0 评论 -
Android之Handler与线程
在我们默认的利用post方法将线程添加到handler消息队列中时,其实此时并不是调用了线程的start方法,而是直接调用了线程的run方法,那么也就是说,他并没有在新线程中运行,为了证实这一结论,用一个简单的小程序来看一下:[html] view plaincopypackage cn.android.handler; import android.app.Ac转载 2013-07-18 16:21:25 · 559 阅读 · 0 评论 -
Android之Handler在新线程中处理消息
在上一篇博客中介绍了利用post方法将线程添加到handler消息队列其实是和主线程在同一线程中运行的,如果这一线程是一个耗时操作的话主线程会等这个线程的run方法运行之后才会继续进行下面的操作,而此时主线程可以理解为处于假死状态,用户可能会理解为挂掉了,这样的情况肯定是万万不能出现的,那么怎么解决这一问题呢。第一种方法就是不调用handler的post方法,而是像我们原来在java中实现多线转载 2013-07-18 16:22:30 · 556 阅读 · 0 评论 -
Android 中Message,MessageQueue,Looper,Handler详解+实例
一、几个关键概念1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一个默认的Looper对象,而Looper对象的创建,将自转载 2013-07-18 16:22:58 · 654 阅读 · 0 评论 -
Android优秀开源APP
(Conversations)基于XMPP的应用(new)(Bitocle)可以在手机上查看自己github上的项目(new)(Amphitheatre)Android TV应用,数据来源于TMDb,没看运行效果,但感觉有JakeWharton参与的项目都是很棒的 (Antox)聊天的(OpenK转载 2014-08-29 10:15:56 · 988 阅读 · 0 评论 -
UiAutomator之UiCollection UiScrollable UiWatcher
直接吧API全部分析完算了UiScrollable1 快速滚动2 获取列表子元素3 获取与设置最大滚动次数常量值4 滑动区域校准常量设置与获取5 向前与向后滚动6 滚动到某个对象7 设置滚动方向继承关系UiObjectUiCollectionUiScrollable基本格式UiScrollable 对象名 = new UiScroll转载 2014-08-28 15:42:18 · 2117 阅读 · 0 评论 -
[Android]单元测试实例
转自:http://yuanzhifei89.iteye.com/blog/1122104 作者:yuanzhifei 测试相关资源 让开发自动化: 用 Eclipse 插件提高代码质量http://www.ibm.com/developerworks/cn/java/j-ap01117/index.html代码测试覆盖率介绍:http://www.cnblogs.com转载 2014-08-28 09:51:20 · 820 阅读 · 0 评论 -
android am start 启动某个apk
看需要启动的apk目录下的AndroidManifest.xmlam start -a action android:name="android.intent.action.VIEW" -d 输入的数据 -n package="com.android.gallery"/activity android:name="com.android.camera.MovieView也就是 am -a转载 2014-04-15 08:40:36 · 2062 阅读 · 0 评论 -
android ListView详解
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。 列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器 用来把数据映射到ListView上的中介。3.数据 具体的将被映射的字符串,图片,或者基本组件。根据列表转载 2014-02-12 09:52:08 · 613 阅读 · 0 评论 -
【Android自动化测试之Robotium】02. Robotium之用例分析
如果大家配置好了Robotium的测试环境,那么开始吧(这里只介绍有源码的情况,没有源码也是可以做的)被测应用下载:http://download.csdn.net/detail/wirelessqa/4487252测试代码 (只贴出MainActivity和GridView,用例很简单就不多作注释了)大家可以对照着Athrun的用例来看看两个框架的区别转载 2013-09-02 14:35:41 · 1621 阅读 · 2 评论 -
Uiautomator Api浅析
从android sdk api 16开始,Android SDK开始支持两个做功能UI测试的新工具。uiautomatorviewer,一个用以扫描以及分析Android应用程序的UI部件的工具。以及uiautomator ,一个提供API用以自定义UI测试的Java库。要应用上面两个工具,除了需要android sdk api 16以上的前提条件外,还要求Android SDKTo转载 2013-08-16 17:01:19 · 2816 阅读 · 0 评论 -
android CTS命令
概念在cts环境中包含5个大的概念plan 一个测试计划,包含很多测试包package 一个测试包,包含很多测试项test 一个测试项,测试中的最小单位session 当你对一部手机测试一个plan时,会创建一个会话,当中断或异常时,可以重新连接,并选择之前的session继续测试未完成的项device 测试手机命令说转载 2013-07-26 10:41:44 · 1751 阅读 · 0 评论 -
Android Activity和Intent机制学习笔记
ActivityAndroid中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态)。对于Activity,关转载 2013-07-23 15:18:11 · 464 阅读 · 0 评论 -
Android XML解析
在Android平台上可以使用Simple API for XML(SAX) 、 Document Object Model(DOM)和Android附带的pull解析器解析XML文件。 下面是本例子要解析的XML文件: 文件名称:itcast.xml 李明 30 李向梅 25 例子定义了一个javabean用于存放上转载 2013-07-23 15:16:41 · 418 阅读 · 0 评论 -
Java telnet连接的实现
建立PC与设备的连接,之后发送命令Runtime.getRuntime().exec("adb forward tcp:1080 tcp:1080");Runtime.getRuntime().exec("adb shell monkey --port 1080");Socket socket = new Socket();socket.connect(new InetSocket转载 2013-07-21 15:07:08 · 1825 阅读 · 0 评论 -
Android中的Handler总结
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操转载 2013-07-17 16:16:25 · 494 阅读 · 0 评论 -
Android 开发之多线程处理、Handler 详解
Android开发过程中为什么要多线程我们创建的Service、Activity以及Broadcast均是一个主线程处理,这里我们可以理解为UI线程。但是在操作一些耗时操作时,比如I/O读写的大文件读写,数据库操作以及网络下载需要很长时间,为了不阻塞用户界面,出现ANR的响应提示窗口,这个时候我们可以考虑使用Thread线程来解决。 Android中使用Thread线程会遇到哪些问题转载 2013-07-19 10:00:34 · 543 阅读 · 0 评论 -
android布局属性详解
RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 and转载 2013-01-14 14:25:25 · 326 阅读 · 0 评论 -
android 模块编译,mm 命令
如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最后等待很长时间。使用模块编译,那只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!具体步骤: 1)打开~/.baserc文件,加入source ~/I850/build/envsetup.sh. 加入你自己该文件所在的路径,这样就免去了每次启动新的终端执行mm命令转载 2013-01-12 17:37:30 · 476 阅读 · 0 评论 -
android 学习基础篇---开发环境的搭建
1.环境安装准备 知识扫盲1》jak 1.5 或者jdk 1.6 java开发的编译环境2》eclipse 3.4 java开发的IDE3》Android sdk 3.0 android的编译器 (Software Development Kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合转载 2012-12-15 14:57:05 · 318 阅读 · 0 评论 -
MonkeyImage函数
A monkeyrunner class to hold an image of the device or emulator's screen. The image is copied from the screen buffer during a screenshot. This object's methods allow you to convert the image into vari转载 2012-12-27 10:36:43 · 687 阅读 · 0 评论 -
MonkeyDevice函数
A monkeyrunner class that represents a device or emulator accessible by the workstation runningmonkeyrunner.This class is used to control an Android device or emulator. The methods send UI events, r转载 2012-12-27 10:35:20 · 721 阅读 · 0 评论 -
monkeyrunner
The monkeyrunner tool provides an API for writing programs that control an Android device or emulator from outside of Android code. With monkeyrunner, you can write a Python program that installs an A转载 2012-12-27 10:27:12 · 546 阅读 · 0 评论 -
Android学习笔记--处理UI事件
Handling UI Events在Android里, 有不只一种方式可以截获用户与你的应用程序交互的事件. 在你的界面上处理事件时,你需要捕获用户与某个View实例交互时所产生的事件.View类支持这种做法.在你布局时需要使用的很多View类型里,你应该注意到一些对处理UI事件很有用的公有回调方法. 当特定操作发生在一些指定对象的时候,Android系统的frmaework程序就会转载 2012-12-26 13:42:06 · 516 阅读 · 0 评论 -
如何用Monkey运行example_script.txt做好自动化测试
如何用Monkey运行example_script.txt做好自动化测试 目录一、在虚拟机上运行monkey.21、在pc(Linux)上运行模拟器,两种方法...22、进入adbshell模式,如下:...23、运行monkey工具开启专用端口...24、在pc端开启转发端口...25、使用telnet工具连接android.36、一次性输入ex转载 2012-12-26 10:53:07 · 1003 阅读 · 0 评论 -
Android自动化测试初探(二): Hierarchyviewer 捕获Element的实现原理
Android SDK tools下的工具hierarchyviewer可以展现Device上的Element的层次分布和自身属性,其核心函数之一就是LoadScene,研究后发现其实现方法是向Device的4939端口通过socket的方式发送了一个DUMP的命令,Device会自动处理该命令并将所有Screen上的Element层次结构和属性一并发回,实现代码如下:转载 2012-12-23 15:00:47 · 561 阅读 · 0 评论 -
Android自动化测试初探(一): 捕获Activity上的Element
第一部分:前言 Android系统下应用程序的测试现在应该还算是个新的领域,网上关于这方面的资料很多都是基于白盒测试的,一般都是基于JUnit框架和Android SDK中android.test等命名空间下的内容进行,但是有一个前提,那就是必须要有应用程序的源代码以提供测试接入点,但是这在很多软件公司中是不现实的。很多测试工程师做的工作是完全黑盒,基本接触不到源代码,白盒测试大部分转载 2012-12-23 15:00:10 · 790 阅读 · 0 评论