获取设备VID
- 方法1:
system_profiler SPUSBDataType - 方法2:关于本机–>更多信息->概系统览->系统报告->usb->你所连接的device–>供应商ID(Vendor ID)
system_profiler SPUSBDataType我是在北京地坛医院做的胃镜(局部麻醉的普通胃镜)。之所以选了这个医院,主要是因为离住的地方近,很容易晕车的我可以直接步行过去,也不用起太早跑去医院;同时也是比较有名的三甲医院,感觉不会太差。
之所以做胃镜,主要是看到网上介绍的各种很吓人,尤其是胃癌早期没什么症状,很多人发现的时候都是晚期了。自己胃痛反反复复了一年,在之前很多年也有比较轻微的胃痛状况,所以还是检查一下比较放心。特别是有时候胃痛加重尤其是半夜胃痛睡不着,精神状况不佳,真有点怀疑自己是不是得了什么严重的病。
Charles是Mac系统中相对比较好用的抓包工具。用Charles抓包时,常会用MapLocal功能,把不同的接口映射到不同的本地Json文件,方便测试。我会把一些常用的接口Response数据放到一个文件夹里,有需要的时候随时可以重复利用。
但是Charles设置MapLocal总是会出现乱码,包括网上很多Charles教程中的截图也可以看到乱码,但是网上没有找到解决方案,没有人提出怎么解决这个问题。
Android实现沿Y轴的3D翻转动画,从一个View翻转到另一个View,可以使用ObjectAnimator结合View的rotation属性实现。
控件v1和v2在布局中的位置重合,可以使用FrameLayout同时包含两个View。在v1完成0~90度的翻转动画后,隐藏v1,同时展示v2,并让v2进行-90~0度的翻转动画,即可实现效果。
示例代码、思维导图可在此下载
https://github.com/jzj1993/AndroidAnimation
本文对Android中的常用动画技术进行了较为全面的总结,并给出了代码示例(Java代码实现和XML中实现)。由于内容较多,所以尽可能简洁表述,并重点指出其中不易理解、容易出错的内容。
本文提到的Android动画主要有三类:
写代码时,常用到Java中的枚举类型,枚举可以对常量进行限制,有效避免代码出错。但是在Android中,枚举类型的性能较差。
可以利用Android的IntDef、StringDef注解(Annotation),用int、String实现类似枚举的效果。
前面对单元测试进行了一些比较全的入门学习,都是通过Android Studio直接编译并自动运行测试的。
因为实际需要,希望在Android Studio中配置Robotium进行黑盒测试,之前知道原理,但一直没配置成功,网上也没找到相关的资料,所以自己进行了研究,终于成功了。在Android Studio中进行黑盒测试,需要用命令行编译、安装和运行TestRunner。
Gradle是一个非常好用的编译工具,特别是继承了maven的依赖项管理功能,需要的Library不需要像传统IDE一样手动下载复制到项目中,只需要简单的写一行gradle脚本,就能自动下载下来并编译。
但是有时候会出现各种不明情况的报错,最常见的一种原因就是依赖项版本冲突。
在较早版本的Android系统中,Instrumentation必须在系统权限下,才能操作整个手机;否则只能操作自身或与其签名一致的APP。而由于Instrumentation通常不能获取系统权限(需要系统签名,而系统签名文件在编译系统时已经被编译进去,不能获取到),于是基于Instrumentation的很多框架只能进行单个APP的测试,不能跨应用测试。
Robotium是一个很常用的自动化测试框架,既可以进行白盒测试,也可以进行黑盒测试。Robotium实质上是建立在Instrumentation上的一系列工具方法。
前面介绍的JUnit3测试和Android基本测试,都基于Instrumentation Test Runner,之后谷歌又推出了Android JUnit Test Runner。根据官方的资料,前者只支持JUnit3,而后者还可以支持JUnit4。
http://developer.android.com/intl/zh-cn/tools/testing-support-library/index.html
前面介绍了JUnit测试,JUnit测试只能测试纯Java代码,更多时候我们要测试和Android相关的代码,这时就要用到Android Instrumentation Test。
这里我们设置Test Artifact为Android Instrumentation Test,进行JUnit Test,测试代码会通过Android Test Runner在Android设备上运行。