上一页 1 2 3 4 5 6 7 ··· 12 下一页
  2019年2月28日
摘要: 第 7 章 错误处理 错误处理很重要,但如果它搞乱了代码逻辑,就是错误的做法。 7.1 使用异常而非返回码 返回错误码,会搞乱调用者的代码。调用者必须在调用之后即可检查错误。遇到错误时,最好抛出一个异常。调用代码很整洁,其逻辑不会被错误处理搞乱。 7.2 先写 Try-Catch-Finally 语 阅读全文
posted @ 2019-02-28 15:26 zhangmiao14 阅读(496) 评论(0) 推荐(0) 编辑
  2019年2月25日
摘要: Android单元测试之四:仪器化测试 仪器化测试 在某些情况下,虽然可以通过模拟的手段来隔离 Android 依赖,但代价很大,这种情况下可以考虑仪器化的单元测试,有助于减少编写和维护模拟代码所需的工作量。 仪器化测试是在真机或模拟器上运行的测试,它们可以利用 Android framework 阅读全文
posted @ 2019-02-25 15:02 zhangmiao14 阅读(924) 评论(0) 推荐(0) 编辑
摘要: Android单元测试之三:使用模拟框架模拟依赖 基本描述 如果是一些工具类方法的测试,如计算两数之和的方法,本地 JVM 虚拟机就能提供足够的运行环境,但如果要测试的单元依赖了 Android 框架,比如用到了 Android 中的 Context 类的一些方法,本地 JVM 将无法提供这样的环境 阅读全文
posted @ 2019-02-25 15:01 zhangmiao14 阅读(506) 评论(0) 推荐(0) 编辑
摘要: Android单元测试之二:本地测试 本地测试 本地测试( Local tests):只在本地机器 JVM 上运行,以最小化执行时间,这种单元测试不依赖于 Android 框架,或者即使有依赖,也很方便使用模拟框架来模拟依赖,以达到隔离 Android 依赖的目的,模拟框架如 google 推荐的 阅读全文
posted @ 2019-02-25 15:00 zhangmiao14 阅读(587) 评论(0) 推荐(0) 编辑
摘要: Android单元测试之一:基本概念 简单介绍 单元测试是应用程序测试策略中的基本测试,通过对代码进行单元测试,一方面可以轻松地验证单个单元的逻辑是否正确,另一方面在每次构建之后运行单元测试,可以快读捕获和修复因代码更改(重构、优化等)带来的回归问题。 为什么要进行单元测试? 提高稳定性,能够明确地 阅读全文
posted @ 2019-02-25 14:57 zhangmiao14 阅读(246) 评论(0) 推荐(0) 编辑
  2019年2月21日
摘要: Animator 动画第一次播放正常,之后播放都不正常的问题解决 问题描述 第一次点击图片动画播放正常,在点击文字之后,图片没有显示出来,点击空白,播放动画,显示文字。 写了一个卡片翻转的动画,代码如下: activity_main.xml <?xml version="1.0" encoding= 阅读全文
posted @ 2019-02-21 11:43 zhangmiao14 阅读(854) 评论(0) 推荐(0) 编辑
  2019年2月14日
摘要: 第 6 章 对象和数据结构 将变量设置为私有(private)有一个理由:我们不想其他人依赖这些变量。 6.1 数据抽象 隐藏实现并非只是在变量之间放上一个函数层那么简单。隐藏实现关乎抽象!类并不简单地用取值器和赋值器将其变量推向外间,而是暴露抽象接口,以便用户无需了解数据的实现就能操作数据本体。 阅读全文
posted @ 2019-02-14 15:34 zhangmiao14 阅读(764) 评论(0) 推荐(0) 编辑
  2019年1月27日
摘要: 第 5 章 格式 你应该保持良好的代码格式。你应该选用一套管理代码格式的简单规则,然后贯彻这些规则。如果你在团队中工作,则团队应该一致同意采用一套简单的格式规则,所有成员都要遵从。使用能帮你应用这些格式规则的自动化工具会很有帮助。 5.1 格式的目的 代码格式很重要。代码格式不可忽略,必须严肃对待。 阅读全文
posted @ 2019-01-27 09:18 zhangmiao14 阅读(351) 评论(0) 推荐(0) 编辑
  2019年1月18日
摘要: Android 实现卡片翻转的动画(翻牌动画) 需求描述 点击卡片,卡片翻转过来显示内容。 点击左边的卡片,将卡片翻转显示右边的图片结果。 功能实现 因为要翻转所以使用动画来完成翻转的动画。动画分为两部分,一部分是左边的布局以中心垂直线从左向右旋转,旋转 180 度之后隐藏,另一部分是右边的布局以中 阅读全文
posted @ 2019-01-18 08:57 zhangmiao14 阅读(6465) 评论(0) 推荐(0) 编辑
  2019年1月17日
摘要: You need to use a Theme.AppCompat theme (or descendant) with this activity 问题解决 问题代码 void initCommitDialog(String message) { mCommitDialog = new Alert 阅读全文
posted @ 2019-01-17 15:32 zhangmiao14 阅读(4267) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 12 下一页