Android 开发周报:Google 收购 Android 十周年、Android 最新技术解析

  • 郭亮

2015 年 7 月 14 日

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

新闻

  1. 《谷歌推出第二版开发者预览版 Android M》:谷歌在今年五月份的谷歌 I/O 开发者大会上首次对外公布了全新的 Android M 操作系统,近日该公司按照计划发布了 Android M 的第二版开发者预览版。据谷歌介绍称,这一版本的系统主要进行了一些 Bug 修复、安全升级以及 API 接口改善方面的工作。而且,正式版本的 Android M 将具备更加完善的应用权限系统。
  2. 《Google 收购 Android 十周年》:近日和安迪·鲁宾一起开发 Android 的搭档,也是现在的 Google Ventures 合伙人 Rich Miner 发了一条推文说:距 Google 收购 Android 已经 10 年了,原来的 Android 团队成员们,周年快乐!往事一回首,十年就过去了。由于 Google 当年是悄悄地做了这笔收购交易,所以外界其实没有多数人知道 Google 收购 Android 的具体时间点。
  3. 《友盟 2015 年 Q1 移动互联网报告:新型服务在移动端发力》:友盟于近日发布了 2015 年第一季度中国移动互联网趋势报告,综合友盟平台覆盖的 10.3 亿活跃设备数据,友盟数据分析师解读了当下 TOP10 设备品牌变化、平台份额变化及各细分类别 App 增速,并对金融理财、车联网等热门垂直领域的用户画像进行了分析。

教程

  1. 《Android 最佳实践》:互联网行业发展可谓日新月异,无论是产品还是技术,每天都会有大量的创新出现,移动互联网更是这样。最好的技能是学习,作为一名技术人,及时更新自己的知识,才能跟得上行业脚步,才不会被淘汰。本文来自 Github 的一个开源项目,该项目会及时更新一些 Android 开发的最佳技术方案、实用工具等。
  2. 《Android ViewDragHelper 完全解析》:在自定义 ViewGroup 中,很多效果都包含用户手指去拖动其内部的某个 View,比如侧滑菜单。针对具体的需求去写好 onInterceptTouchEvent 和 onTouchEvent 这两个方法不是一件容易的事,需要自己去处理多手指操作、加速度检测等等。好在官方的 v4 支持包中提供了 ViewDragHelper 这样一个类,它可以帮助我们编写自定义 ViewGroup。本文重点介绍了 ViewDragHelper 的使用,并且实现了一个类似 DrawerLayout 的自定义 ViewGroup。
  3. 《Android 使用自定义字体的一些探究》:根据产品的需要,我们经常需要自定义字体。Android 中不仅可以自定义 Native 组件中的字体,还可以定制 WebView 页面中的字体。本文作者总结了一些字体设置的常用知识,值得没有接触过字体自定义的同学收藏。
  4. 《Android 开发有哪些新技术出现?》:有人在知乎上提问Android 开发有哪些技术出现,本文作者比较全面的回答了该问题,并且获得了 300+ 的赞。阅读文章,看看文中提到的这些新技术你了解多少。
  5. 《拖拽 RecyclerView》:目前有大量介绍 RecyclerView 实现拖拽、滑动消失效果的教程、库、以及示例代码。但是大部分的代码仍旧使用旧的 API 或 Roman Nurik 开发的 SwipeToDismiss 库中的处理方式。其实现在有更新更好的方式可以实现该效果,Android Support Library 已经包含了拖拽、滑动消失的方案,开发者只需简单的调用 API,就可以把新特性添加到 RecyclerView 中。
  6. 《Android 安全输入设计与思考》: 随着移动支付的快速普及,如何保障用户信息安全这个问题变得越来越重要。特别是在支付、金融、个人信息敏感的系统中,用户的重要个人信息,如支付密码、身份证号等需要优先考虑进行安全保护。本文对市面上的 Android 安全键盘进行了总结,详细分析了为什么采用安全键盘,怎么样实现安全键盘等问题,以及各个产品线使用的安全键盘有何优劣点。
  7. 《Android Studio 使用技巧系列教程(三)》:国外的开发者在 Google+ 上的分享了一系列关于 Android Studio 使用技巧的文章,本文是对于其中一篇的翻译。Android Studio 的功能强大,快捷键也很多,本文主要是汇总了一些常用的快捷键,包括 Mac OS、Windows 以及 Linux。这里是作者的其它文章。

  8. 《浅谈 Android 开放网络端口的安全风险》:Android 应用通常使用 PF_UNIX、PF_INET、PF_NETLINK 等不同 domain 的 socket 来进行本地 IPC 或者远程网络通信,这些暴露的 socket 代表了潜在的本地或远程攻击面,历史上也出现过不少利用 socket 进行拒绝服务、root 提权或者远程命令执行的案例。特别是 PF_INET 类型的网络 socket,可以通过网络与 Android 应用通信,由于缺乏对网络调用者身份或者本地调用者 pid、permission 等细粒度的安全检查机制,在实现不当的情况下,可以突破 Android 的沙箱限制。本文作者带着传统服务器渗透寻找开放 socket 端口的思路,对漏洞的发现、案例及影响进行了归纳。

开源项目

  1. AisenWeiBo:AisenWeiBo 是一款新浪微博的第三方客户端,UI 遵循 Material Design。
  2. alfi:alfi 是一个快速查找 Android 第三方 Gradle 引用地址的的工具,类似于 iOS 开发工具 cocoapods 的 search 命令。
  3. AnimatedCircleLoadingView:该项目实现了一个有限(或无限)加载动画效果。该项目的效果来源于android-watch-loading-animation设计图。AnimatedCircleLoadingView 可以显示加载进度、成功或失败状态等。
  4. AndroidRubberIndicator:该项目是一个效果很赞的指示器组件。

感谢徐川对本文的审校。

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

移动GoogleAndroid语言 & 开发架构