摘要: 了解一个功能的是如何实现的最好方法就是阅读其实现代码. 最近发展很多人都在Robotium,尤其是最近的4.0版本支持web app,功能越来越强大.看了一些别人的test case觉得和uiAutomator很相似,通过解析xml获取element位置,然后执行click.还有一个就是让我有点眼馋的就是支持多test case执行.不过看着好像还有些问题,比如执行到第二个case的时候会出现错误导致中断测试.那uiautomator可以执行多个测试用例吗,答案是可以的.通过阅读代码,发现uiautomator解析指令的时候支持多个-c XXXX,之前一直以为只能单case执行.查看官方... 阅读全文
posted @ 2013-03-25 16:44 Nigel-Wen 阅读(5645) 评论(2) 推荐(0) 编辑
摘要: 一. 基于分辨的使用情况之前接触的手机系统无论是feature phone的MTK(包括RDA),MSTAR,展讯,还是smart phone的华为海思K3 Windows Mobile6.5采用的都是基于分辨率的UI展示,所以源码集成了不同分辨率的图片包.对于不同的手机分辨率,需要使用相应的分辨率bin档文件.也就是说bin档中只包含一套图片包,这样的好处自然是节省空间,因为常见的flash空间也就nor:256Mb(没错,是小写的b),nand:1G+512如果烧录错误的bin档,而flash又是没有超出空间限制,那么机器启动后会出现两种不同情况:1.只在屏幕左上角显示,出现黑色的空白显示 阅读全文
posted @ 2013-03-24 21:44 Nigel-Wen 阅读(7989) 评论(0) 推荐(0) 编辑
摘要: 最近在研究Android上面的一个测试工具,觉得挺有趣的.这个工具提供了一个查看activity布局的工具和一个类库.使用方法:假设手机上面安装了手机QQ2012,要测试手机添加好友的功能,你只需要编程编写测试用例.jar文件放到手机系统中,执行adb shell uiautomator runtest XXX.jar aaa包bbb类#ccc方法即可看到测试用例执行.使用感想:1.android系统版本要求太高,至少需要4.1版本2.算是一个缺陷吧,uiautomator推荐的定位ui组件方法是根据contenDescription进行定位,可是如果contentDescription里面的 阅读全文
posted @ 2013-03-23 17:24 Nigel-Wen 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 1.随着Mstar被Mtk收购,这个晨星从欧洲买过来的手机系统算是走到尽头了,尽管其开放程度不及展讯,Mtk.但是里面的很多系统机制依然可以在Android中看到窗口消息机制使用C语言实现的面向对象思想窗口元素布局与应用程序分离widget我们也有"数据库"Service(待续,以上我会再独立写成文章,算是对以前工作的一点总结)2.做一个Android应用不难,关键是要有好的灵感 阅读全文
posted @ 2013-03-23 16:25 Nigel-Wen 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 以MMI_FRM_INT_CLAM_OPEN 中断为例,MMI层注册中断处理的流程void mmi_camera_lauch(void); void mmi_camera_app_screen(void); static void mmi_camera_entry_app_screen_internal(void); static void mmi_camera_init_framework(void);通过mmi_frm_block_interrupt_event_handler函数将MMI_FRM_INT_CLAM这组中断注册到mmi_camera_clam_close_event_hdl 阅读全文
posted @ 2011-06-20 13:29 Nigel-Wen 阅读(940) 评论(0) 推荐(0) 编辑
摘要: 1.Custom_srv_prof_defs.h 在srv_prof_aud_tone_enum枚举中增加项;2.Custom_user_profiles_defs.h 修改MAX_RING_TONE_ID3.Nvram_common_config.c NVRAM_PROFILES_DEFAULT[],4.ProfilesSrv.res增加 <STRING id="STR_ID_SRV_PROF_TONE_11"/> 增加 <AUDIO id="AUD_ID_PROF_TONE11" flag="MULTIBIN"& 阅读全文
posted @ 2011-06-16 13:16 Nigel-Wen 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 第一章 快速入门1. 每个C++程序都包含一个或多个函数,而且必须有一个命名为main。函数由执行函数功能的语句序列组成; a) Type b)ClassName c)(Parament)d){}2. main函数是唯一被操作系统显式调用的函数; (不是很清楚这个翻译想表达什么意思,Main是函数入口?)3. main函数的形参个数是有限的,返回值必须是int4. 函数体是函数定义的最后部分,是以花括号开始并以花括号结束的语句块;5. 注释不会增加可执行程序的大小,编译器会忽略所有注释;6. 我们注释的风格是在注释的每一行以星号开始,指明整个范围是多行注释的一部分;7. 我们倾向于吧确定函数边 阅读全文
posted @ 2011-06-15 11:29 Nigel-Wen 阅读(381) 评论(0) 推荐(0) 编辑
摘要: * DESCRIPTION* This function implements registration of external interrupts** CALLS** PARAMETERS* eintno - External interrupt vector number(外部中断号)* Dbounce_En - Debounce control enable(判断当前是否可用)* ACT_Polarity - Interrupt polarity(设置高电平触发还是低电平触发)* reg_hisr - Registered hisr(响应函数)* auto_umask - A flag 阅读全文
posted @ 2011-03-31 10:21 Nigel-Wen 阅读(3750) 评论(0) 推荐(0) 编辑
摘要: 简而言之: Big endian machine: It thinks the first byte it reads is the biggest. Little endian machine: It thinks the first byte it reads is the littlest. 举个例子,从内存地址0x0000开始有以下数据 0x00000x12 0x00010x34 0x00020xab 0x00030xcd 如果我们去读取一个地址为0x0000的四个字节变量,若字节序为big-endian,则读出 结果为0x1234abcd;若字节序位little-endian,则读出 阅读全文
posted @ 2011-03-30 10:41 Nigel-Wen 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 首先说说,什么叫对齐。如果一个数据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐;半字对齐的特征是bit0=0,其他位为任意 值。字对齐的特征是bit1=0,bit0=1,其他位为任意值。如果一个数据是以能被4 整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。举例说明四字节对齐: 对内存进行操作时,被访问的地址必须为4的倍数。如果分配到的地址的地址不是4的倍数时,CPU实际访问的地址还是按照字对齐的方式来操作。也就是自动屏蔽bit1和bit0. 用ADS的ARM C Complier下Optimization Level可能引起问题,其中的一个问题就是字节对齐的 阅读全文
posted @ 2011-03-30 10:15 Nigel-Wen 阅读(651) 评论(0) 推荐(0) 编辑