Android 开发周报:Google 正式推出 Android 5.1 系统

  • 郭亮

2015 年 3 月 12 日

话题:GoogleAndroid语言 & 开发架构

新闻

  1. 《Google 发布 Android 5.1 源代码与 Nexus 设备工厂镜像》:谷歌本周发布了 Android 5.1 操作系统,并宣布面向世界上所有的兼容设备正式推送 Android 5.1。新版本并没有大刀阔斧的更新,但包括了设备防盗保护、多 SIM 卡的支持、以及 HD Voice 高清语音等重要特性。同时谷歌发布了 Nexus 设备的 Android 5.1 工厂镜像并在 AOSP 公开了相应的 5.1 源代码。
  2. 《Android 4.0 上的 Chrome 浏览器将永久冻结》:Google 的软件工程师 Aurimas Lutikas 在 Chromium Blog 上宣布,Android 4.0 上的 Chrome 浏览器将停止更新。他指出在 Android 4.0 面世之后,总共有 24 版次的 Chrome 更新和三代 Android 推出,因为为较旧版本的手机开发新功能难度大一些,而且会耗用开发新功能的时间,所以他们决定将 ICS 的 Chrome 冻结在第 42 版,自此不更新了。
  3. 《谷歌开发虚拟现实版 Android 挑战 FB》:3 月 8 日消息,据国外媒体报道,谷歌希望 Android 成为虚拟现实设备操作系统。两名知情人士透露,Facebook 斥资 20 亿美元(约合人民币 123 亿元)收购虚拟现实技术厂商 Oculus VR 后,谷歌就组建了一个工程师团队,开发在虚拟现实设备上运行的 Android 版本。

教程

  1. 《Android 最佳性能实践——高性能编码优化》:本篇文章讨论了一些编码优化的技巧,但都属于一些“微优化”,也就是说在性能方面是看不出有什么显著的提升,因为使用合适的算法与数据结构将永远是你优化程序性能的最主要手段。本文的主要目的是让大家把这些技巧当作一种好的编码规范,在平时写代码时就可以潜移默化地使用这些编码规范,不仅能够在微观层面提升程序性能,也可以让我们的代码变得更加专业。
  2. 《Scroller 相关类使用大揭秘》:界面滚动是目前比较流行的一种效果,包括谷歌自家应用在内的大量 App 都使用了滚动动画。当你了解了 Scroller 的工作原理后,实现一些酷的效果是一件非常 Easy 的事情。文章中介绍了 Android UI 框架下实现滚动效果的一些关键类(比如 Scroller 和 OverScroller)、关键方法的使用及原理。
  3. 《Android 模拟火花粒子的滑动喷射效果》:粒子效果是游戏引擎的必备功能之一,并且在游戏中实现这样的一个效果也仅需要一两行代码。当然,我们也可以使用 Android 提供的接口实现自定义的粒子效果。Android 中的 Surfaceview 使用了双缓冲机制,是在一个新起的单独线程中进行绘制,所以很适合绘制这种需要不停变换的画面。作者便利用 SurfaceView 组件实现了滑动粒子效果。
  4. 《Android 模块化编程之引用本地 aar》:随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。aar 和 jar 类似,区别就是一个 Android Library 项目导出的 jar 文件不能包含资源文件,所以这就有很大的限制,在 gradle 之前我们要引用带资源文件的 Android Library 必须要把整个 library 导入进来进行引用,但是有了 gradle 之后,Android Library 项目可以直接导出成 aar,然后其他项目像引用 jar 的方式直接方便的引用。
  5. 《如何检测一个 APP:从解密到批量获取他人信息》:在挖掘 Android App 的 web 端漏洞时,遇到一些看起来安全性做的比较好的应用会对 http 请求也会加密,这篇文章作者就提供了一个基本的解决思路:反编译获取加密方式、解密、添加 logcat 直接输出加密的内容。开发者可以参考作者的破解方法,然后修复在开发过程中没有重视的一些漏洞。
  6. 《深入理解 Android 之 Java Security(第一部分)》:如果你没有开发过金融、银行、电子支付等方面的应用,那么对文章中介绍的知识一定会很陌生。比如 Message Digest(消息摘要)、Digital Signature(数字签名)、KeyStore、CA(Certificate Authority)等。上述内容都属于 Java 世界中一个早已存在的知识模块,那就是 JavaSecurity。Android 在 Java Seurity 之外,拓展了一个 android.security 包,此包中就提供了 KeyChain。

    本文介绍了 Java Security 相关的基础知识,以及 Android 平台上与之相关的使用场景。
  7. 《深入浅出 RxJava(二:操作符)》RxJava正在 Android 开发者中变的越来越流行,唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现 RxJava 真是太棒了。文章翻译自国外介绍 RxJava 的系列文章,介绍了 RxJava 的基础、操作符。原文地址

开源项目

  1. SpringIndicator:该项目实现了水滴效果的滑动切换页面功能,水滴的实现类似于 Path2.0 的下拉刷新时水滴落下的效果。
  2. MaterialDrawer:MateriaDrawer 的目的是提供最简单的 navigation drawer 实现。作者希望该项目能够非常方便、快捷的集成到第三方 App 中。MaterialDrawer 提供多种定制风格,并且提供了账号切换功能。开发者可以下载Demo预览效果。
  3. hugo:hugo 是通过注解直接打印 Log 的开源项目。在开发过程中,我们经常需要打印与方法的调用、参数、返回值相关的 log,这些都需要一行一行的去输出。有了 hugo,只需要加一个注解(DebugLog)就可以自动打印 log,并且当应用为 Release 状态时,log 会自动关闭。hugo 是值得每个开发者收藏的开发利器。

感谢郭蕾对本文的审校。

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

GoogleAndroid语言 & 开发架构