Android开发周报:Android自动化测试、人脸识别技术解析
摘要:谷歌近日提供了10种能够提高App在Google Play上获得更多曝光机会的建议;Square开源了一个内存泄露自动探测神器——LeakCanary;Android自动化测试方案全解析。
新闻
- 《谷歌IO大会月底召开 Android 6.0传闻汇总》 :谷歌开发者(Google I/O)大会确认将于5月28日在旧金山召开,现在距离大会开幕已经很近了。此次大会谷歌已经留下一些诱人的线索,告诉众人在大会Android操作系统的下一个版本Android M将正式登场。究竟“M”指的是哪个单词我们谁也不清楚,正如前一个版本“L”,需要正式版发布之后谷歌才会进一步推出。
- 《教你如何让Android Wear智能手表兼容iOS系统》 :)也许未来Android Wear系统智能手表有可能官方兼容iOS系统,但是想要等到这一天,似乎还得有点耐心。因此如果你恰好是一位iPhone用户,同时又不太喜欢Apple Watch,购买了一款Android Wear系统智能手表,那么现在已经有方法让你的智能手表连接iPhone跨平台使用了。
- 《谷歌给出20项Google Play说明》 :对于开发者来说,大家都希望自己的应用能在Google Play上获得更多的曝光,所以Google近日就分别提供了10种可以提高应用在Google Play上获得更多曝光的做法,以及10种Google Play不喜欢的禁忌行为。
教程
- 《LeakCanary:让内存泄露无所遁形》 :近日Square开源了一个内存泄露自动探测神器——LeakCanary,它是一个Android和Java的内存泄露检测库,可以大幅度减少开发中遇到的OOM问题,对于开发者来说,无疑是个福音,开发者可以使用一个RefWatcher观察引用什么时候应该被GC,单然也可以进行多种自定义配置。
- 《Material Design的适配》 随着Material Design的普及,很多开发人员都会面临App的Material适配。如果你是从AppCompat v7升级到v21(或更高版本),你必然面临和以前不一样的使用方式,了解新的方式也是必须的。本文介绍了如何让你的程序适配Material Design风格,作者目前已经更新了两篇文章。
- 《检测Android应用的启动与关闭》 :在开发安卓程序的时候,我们不免需要去检测应用什么时候在前台运行,用户什么时候离开。当用户第一次启动的时候去检测还是不难,但如果是重新打开或关闭就不简单了。虽然我们可以通过Android提供的生命周期方法去进行检测,但很多情况下并不能完美解决我们的需要。这篇文章展示了一个用来解决上述问题的技巧。
- 《Android开发神器——Jsoup》 :Jsoup 是Android应用开发中著名的第三方类库,其主要应用于操作html文件,获取用户需要的数据。该技术主要通过获取URL 地址、HTML 格式的文本内容进行解析 。同时它还提供了一套非常完善的API接口规范,让开发人员只需在程序中调用相应的接口即可。尤其是Jsoup功能强大的选择器,能够让用户方便的通过访问节点名称或者HTML元素中的id即可轻松获取数据。该文主要通过讲解Jsoup在Android应用开发中所占的优势,以及如何解析百度新闻网为契机,进而介绍Jsoup的使用方法。 项目地址在 这里 。
- 《提升Gradle性能》 :Android Studio应该是最优秀的Android开发工具,但该工具也有一些让我们无法忍受的痛点,编译时间过长应该是痛点之首。本文给出了一些提升Gradle性能的建议,相信对使用Android Studio的同学会有帮助。
- 《解放双手——Android自动化测试》 :每个软件在发布之前都会进行大量的测试,软件测试,从而判断软件是否符合设计要求或是否有Bug。可以说测试决定着软件的质量。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,可以节约人力成本,并且可以发现一些很难手工测出来的Bug。当然,自动化也可以用于开发调试,去完成一些繁琐的操作步骤。
- 《Android人脸识别——How Old测测你的年龄和性别》 :这段时间微软的HowOldRobot测试年龄的网站非常火。开发的同学应该都知道这款软件主要就是使用了人脸识别的技术,所以我们可以利用第三方人脸识别的SDK去开发一款同样的应用。本文实现了一款完整的人脸识别App,并且提供了源码。
- 《Android FoldingLayout 折叠布局 原理及实现》 : FoldingLaout 是Github上的一个开源项目,实现了View折叠效果。本文作者分析了FoldingLayout的基本原理,如何你不是高手,可以通过本文了解如何去分析一款优秀的开源项目。
开源项目
- StickerView :该项目是国内开发者Sam提交的开源项目,实现了图片贴纸效果,提供旋转、移动、缩放等功能。 这里 是对该项目的介绍。
- Ninja :Ninja是一款能够在后台打开网页的开源项目。我们的App中经常会有一些网页链接,用户有时候想让链接能够在后台运行,在阅读完当前页的内容后再去看网页的内容,Ninja就是为该功能而生,完美实现了后台加载网页的功能。
- Awesome-MaterialDesign :该项目收集了大量Material Design风格的资源类库,使用这些类库可以在5.0以下的系统中很好的实现Material Design效果。
工具
- Appetize.io :一个可以让你的App(Android和iOS)直接运行在网页上的工具,很强大的感觉,大家可以试试。
正文到此结束