Android 开发周报:Google IO 抢先看、Chrome For Android 开源

  • 郭亮

2015 年 5 月 26 日

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

新闻

  1. 《Google I/O 大会抢先看》:在 Google 每年召开的 I/O 大会上,我们都能从中了解到公司的新研发计划,新产品和老产品的新升级。最近的消息称谷歌将推出一项独立于 Google+ 的在线图片分享与存储服务,以及在最新的 Android 操作系统 Android M 新增指纹认证功能等等。近日 CNET 也对此次大会做了一些总结和预测。
  2. 《Chrome for Android 几乎完全开源》:Google 于 2008 年 9 月发布的 Chrome 浏览器现在已经是桌面浏览器市场的领军产品,全世界每 4 个浏览网页的人中就有 1 个在使用它。很多人可能不知道的是,Chrome 是基于开源的 Chromium 浏览器开发的。此前 Chrome for Android 一直没有开源,从上周末起,它的大部分代码终于也可以在 Chroium Project 的信息库中查看。由于某些媒体解码器和第三方插件不是由谷歌提供,因此此次开源不是完全开源。
  3. 《Geek 破解 Android 智能手表》:智能手表的尺寸局限性令其不能运行电脑或手机的各种操作系统,不过极客们倒不这么认为,他们纷纷想办法将各种系统刷进这块小巧的设备中。如前不久一名越狱高手成功破解了 Apple Watch 的操作系统,并植入了一个网络浏览器。以及一名 17 岁的极客将苹果 Macintosh II 的 System 6 系统运行在三星的 Gear Live 上。

教程

  1. 《Android 动画基础》:本文主要介绍了 Andorid 中的 Anim 动画和 Property 动画的基础知识,传统 View 动画 (Tween/Frame)、Property Animation、以及 View anim 与 property anim 的比较。本文几乎涉及到了动画的所有内容,是我们学习 Android 动画知识的优秀教程。
  2. 《Android 如何直播 RTMP 流》:目前市场有很多视频、音频相关的 App,但并不是每个 公司都会有流媒体方面的技术储备,但我们可以使用第三方的服务去解决该问题。RTMP 是一个基本的视频 / 音频直播流协议,不幸的是 Android 标准的 VideoView 不支持 RTMP 的播放。因此,如果想在 Android 上播放 RTMP 直播流,你必须使用支持 RTMP 协议的库。在本教程讲解了如何通过使用安卓的 Vitamio 库播放由 RTMP 协议传输的流媒体。
  3. 《移动端跨平台开发的各种技术》:从 Android、iOS 刚刚兴起的时候,很多人认为不久的将来手机开发可以通过 web 技术实现跨平台。到目前移动端跨平台技术不下几十种,效果并不理想,但这并没有阻止人们对跨平台开发技术的探索。前段时间 Facebook 开源的 React Native 再次让跨平台移动端开发这个话题火了起来。本文就对目前的移动端跨平台方案进行了详细的分析,并给出了建议。
  4. 《Android 不规则封闭区域填充 手指秒变油漆桶》:图像的填充有 2 种经典算法。一种是种子填充法。种子填充法理论上能够填充任意区域和图形,但是这种算法存在大量的反复入栈和大规模的递归,降低了填充效率。另一种是扫描线填充法。本文作者使用第二种算法实现了对不规则区域填充颜色,有兴趣的同学可以下载作者的 Demo 源码运行试玩。
  5. 《 EventBus 框架库代码解读》:如果你学习过设计模式,那么当想通知其他组件某些事情发生时你一定会使用观察者模式。好了,既然能想到这个设计模式,那么就来看一个屌爆天的 Android 开源框架 EventBus。主要功能是替代 Intent、Handler、BroadCast 在 Fragment、Activity、Service、线程之间传递消息。他的最牛逼优点是开销小,代码简洁,解耦代码。
  6. 《Android 触摸屏事件分发机制详解与源码分析》:很多同学认为 Android 自定义控件(View/ViewGroup)比较难,究其原因是不了解 Android 控件的触摸事件传递机制。作者从非常简单的实例入手到 View 源码,详细讲解了事件分发的机制。作者共写了三篇:View 篇、ViewGroup 篇、Activity 篇。
  7. 《从友盟微社区看 Android 第三方 SDK 架构实践》:开发 Android 第三方 SDK 说难不难,但说简单也不简单,要开发一个给很多人使用的第三方 SDK,如何在保证稳定性的同时,增强 SDK 的灵活性,让开发者能自由定制 UI 层、替换子系统,这是一个值得思考的问题。为了解决这个问题,开发第三方 SDK 必须要有良好的应用架构。本文就分享一下作者在开发友盟微社区 SDK 时在架构方面的一些想法。
  8. 《Code Review 最佳实践》:简单的说,Code Review 是开发者之间讨论修改代码来解决问题的过程。很多文章谈论了 Code Review 的诸多好处,包括知识共享,代码的质量,开发者的成长,却很少讨论审查什么、如何审查。本文总结了在 Code Review 中做的事情以及谈论了 Code Review 的最好方式。

开源项目

  1. ExRecyclerView:ExRecyclerView 是可以设置头 / 底部,Item 点击 / 长按监听的 recyclerView,可利用 ExStaggeredGridLayoutManager 给瀑布流设置头 / 底,利用 DividerGridItemDecoration 或 DividerItemDecoration 来添加分割线,还可以监听滑动到顶部、底部的事件及滑动距离。
  2. DatePicker:简单实用的 Android 日历选择器,日历中会显示农历以及农历节气。支持多选返回结果、主色调定制、农历隐藏等功能。开发者可以很简单的将该项目集成到自己的 App 中。
  3. JumpingBeans:JumpingBeans 实现了环聊里正在输入时的弹跳动画。我们可以将该组件用于异步加载时的等待状态,当然也可以定制更炫的功能,详细内容请看项目 Readme

感谢徐川对本文的审校。

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

移动Android语言 & 开发架构