Android 开发周报:Android 自动化测试、人脸识别技术解析

阅读数:2664 2015 年 5 月 20 日

话题:移动Android语言 & 开发架构

新闻

  1. 《谷歌 IO 大会月底召开 Android 6.0 传闻汇总》:谷歌开发者(Google I/O)大会确认将于 5 月 28 日在旧金山召开,现在距离大会开幕已经很近了。此次大会谷歌已经留下一些诱人的线索,告诉众人在大会 Android 操作系统的下一个版本 Android M 将正式登场。究竟“M”指的是哪个单词我们谁也不清楚,正如前一个版本“L”,需要正式版发布之后谷歌才会进一步推出。
  2. 《教你如何让 Android Wear 智能手表兼容 iOS 系统》:)也许未来 Android Wear 系统智能手表有可能官方兼容 iOS 系统,但是想要等到这一天,似乎还得有点耐心。因此如果你恰好是一位 iPhone 用户,同时又不太喜欢 Apple Watch,购买了一款 Android Wear 系统智能手表,那么现在已经有方法让你的智能手表连接 iPhone 跨平台使用了。
  3. 《谷歌给出 20 项 Google Play 说明》:对于开发者来说,大家都希望自己的应用能在 Google Play 上获得更多的曝光,所以 Google 近日就分别提供了 10 种可以提高应用在 Google Play 上获得更多曝光的做法,以及 10 种 Google Play 不喜欢的禁忌行为。

教程

  1. 《LeakCanary:让内存泄露无所遁形》:近日 Square 开源了一个内存泄露自动探测神器——LeakCanary,它是一个 Android 和 Java 的内存泄露检测库,可以大幅度减少开发中遇到的 OOM 问题,对于开发者来说,无疑是个福音,开发者可以使用一个 RefWatcher 观察引用什么时候应该被 GC,单然也可以进行多种自定义配置。
  2. 《Material Design 的适配》随着 Material Design 的普及,很多开发人员都会面临 App 的 Material 适配。如果你是从 AppCompat v7 升级到 v21(或更高版本),你必然面临和以前不一样的使用方式,了解新的方式也是必须的。本文介绍了如何让你的程序适配 Material Design 风格,作者目前已经更新了两篇文章。
  3. 《检测 Android 应用的启动与关闭》:在开发安卓程序的时候,我们不免需要去检测应用什么时候在前台运行,用户什么时候离开。当用户第一次启动的时候去检测还是不难,但如果是重新打开或关闭就不简单了。虽然我们可以通过 Android 提供的生命周期方法去进行检测,但很多情况下并不能完美解决我们的需要。这篇文章展示了一个用来解决上述问题的技巧。
  4. 《Android 开发神器——Jsoup》:Jsoup 是 Android 应用开发中著名的第三方类库,其主要应用于操作 html 文件,获取用户需要的数据。该技术主要通过获取 URL 地址、HTML 格式的文本内容进行解析 。同时它还提供了一套非常完善的 API 接口规范,让开发人员只需在程序中调用相应的接口即可。尤其是 Jsoup 功能强大的选择器,能够让用户方便的通过访问节点名称或者 HTML 元素中的 id 即可轻松获取数据。该文主要通过讲解 Jsoup 在 Android 应用开发中所占的优势,以及如何解析百度新闻网为契机,进而介绍 Jsoup 的使用方法。 项目地址在这里
  5. 《提升 Gradle 性能》:Android Studio 应该是最优秀的 Android 开发工具,但该工具也有一些让我们无法忍受的痛点,编译时间过长应该是痛点之首。本文给出了一些提升 Gradle 性能的建议,相信对使用 Android Studio 的同学会有帮助。
  6. 《解放双手——Android 自动化测试》:每个软件在发布之前都会进行大量的测试,软件测试,从而判断软件是否符合设计要求或是否有 Bug。可以说测试决定着软件的质量。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,可以节约人力成本,并且可以发现一些很难手工测出来的 Bug。当然,自动化也可以用于开发调试,去完成一些繁琐的操作步骤。
  7. 《Android 人脸识别——How Old 测测你的年龄和性别》:这段时间微软的 HowOldRobot 测试年龄的网站非常火。开发的同学应该都知道这款软件主要就是使用了人脸识别的技术,所以我们可以利用第三方人脸识别的 SDK 去开发一款同样的应用。本文实现了一款完整的人脸识别 App,并且提供了源码。
  8. 《Android FoldingLayout 折叠布局 原理及实现》FoldingLaout是 Github 上的一个开源项目,实现了 View 折叠效果。本文作者分析了 FoldingLayout 的基本原理,如何你不是高手,可以通过本文了解如何去分析一款优秀的开源项目。

开源项目

  1. StickerView:该项目是国内开发者 Sam 提交的开源项目,实现了图片贴纸效果,提供旋转、移动、缩放等功能。这里是对该项目的介绍。
  2. Ninja:Ninja 是一款能够在后台打开网页的开源项目。我们的 App 中经常会有一些网页链接,用户有时候想让链接能够在后台运行,在阅读完当前页的内容后再去看网页的内容,Ninja 就是为该功能而生,完美实现了后台加载网页的功能。
  3. Awesome-MaterialDesign:该项目收集了大量 Material Design 风格的资源类库,使用这些类库可以在 5.0 以下的系统中很好的实现 Material Design 效果。

工具

  1. Appetize.io:一个可以让你的 App(Android 和 iOS)直接运行在网页上的工具,很强大的感觉,大家可以试试。

感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。