Android 开发周报:Android 5.1 将增加远程控制功能

  • 郭亮

2014 年 12 月 3 日

话题:移动AndroidChromeiOS语言 & 开发文化 & 方法

新闻

  1. 《首批 Android Auto API 已开放》:Google 对传统汽车的渗透又向前迈进一步。该公司近日开放了首批 Android Auto API,这意味着第三方 Android 开发者已能够针对汽车场景打造 App。开发者无需在意不同汽车型号之间的区别,因为 Android Auto 提供了统一的 API 并制定了 UX 标准。
  2. 《2014 年 12 月 Android 2.3 及以下版本仅占 9.6%》:根据谷歌最新公布的 Android 系统版本分布图显示全球超过 90% 的 Android 用户都已经使用 4.0.3 以上版本,至于最新版本 Lollipop 在上线一周后系统的占比不足 0.1%,所以并未上榜。 Android 2.2 版本 Froyo 此前的版本基本上已经“灭绝”,而 Froyo 也将会在未来进一步稀释,目前占比最大的是 Jelly Bean 系统,达到了 47.7%,其次是 KitKat 系统,为 33.9%。
  3. 《Chrome OS 支持第二批 Android 应用》:在 9 月初,Google 为 Chrome OS 带来首批 4 款 Android 应用后,现在第二批也来了。在这一批中,Google 总共带来了包括旅行类的 Couchsurfing 和 Packpoint、书籍借阅服务 Overdrive、食谱分享服务 Cookpad、教育类的 AnkiDroid、房屋出租类的 Packpoint 等 7 款新的 Android 应用。借助 Google 在 Chrome OS 上构建的 Android Runtime,这些应用都可以正常运行在 Chrome OS 上。不过如果你使用的是 Chrome 浏览器,在访问时会显示“不兼容”的警告。
  4. 《Android 5.1 早已开发完成,将增远程控制》:虽然现在 Android 5.0 Lollipop 还未开始大范围推送,但是谷歌似乎早就准备好 Android 5.1 了。根据国外媒体的最新报道,近日谷歌在荷兰召开了一次面向开发者的小型发布会,在本次发布会上谷歌提到了不少有关 Android Lollipop MR1 的内容,而 Android Lollipop MR1 或许将是 Android 系统的下一次大幅更新,也就是 Android 5.1。

教程

  1. 《国内外 App UI 对比》:该文章非常独特,作者是微信团队的一名产品经理, 但比较特殊的是他是一名来自旧金山的老外同学。作者通过笔记记录了中国 App 与美国 App 在 UI 以及功能上的区别,作者是以美国人的思维方式来思考中国的产品,相信通过阅读本文,能够让开发者了解国内与海外市场的不同之处,从而更有利于做出不同用户体验的 App。
  2. 《巧用 Drawable 实现 Android UI 元素间距效果》:在 Android 开发中,为了将 UI 和业务逻辑分隔,我们会使用 XML 来定义 UI。这种做法对于比较固定的 UI 很有效果,但当这些 UI 元素需要根据业务逻辑来确定隐藏或者显示的状态时,这种做法就有点困难了。这篇文章就根据这种情况提出了一些 Android 开发技巧来应对动态的网格 UI。
  3. 《Android Studio 开发技巧集锦一》:工欲善其事,必先利其器。对与一名开发者来说,IDE 就是武器,了解 IDE 的所有特性、常用快捷键往往能使我们事半功倍。Android Studio 对于大部分开者来说比较陌生,相信作者在文章中提到的快捷键,一定会大大提供开发效率。这里是另外一篇相关文章—Android Studio 开发技巧集锦二
  4. 《使用 Gradle 构建 android 项目》:Gradle 是以 Groovy 为基础,面向 Java 应用,基于 DSL 语法的自动化构建工具,是 Google 引入,替换 Ant 和 Maven 的新工具,其依赖兼容 Maven 和 Ivy。使用 gradle 的目的是: 更容易重用资源和代码 ; 可以更容易创建不同的版本的程序,多个类型的 Apk 包;更容易配置,扩展 ; 更好的 IDE 集成 ; 详细学习作者的这两篇教程,能够快速的掌握 Gradle 的基础知识。
  5. 《你的 Android 应用完全不需要那么多的权限》:Android 系统的权限从用户的角度来看有时候的确有点让人摸不着头脑。有时候可能你只需要做一些简单的事情(对联系人的信息进行编辑),却申请了远超你应用所需的权限(比如访问所有联系人信息的权限)。其实很多情况下,App 并不一定需要申请额外的权限,文章中给出了正确的解决方案。
  6. 《以 Fragment 为载体可自动布局的 CardView》:Android5.0 的 Material Desgi 新增了一个新的控件——CardView,作者模仿 CardView 写了一个 Library 兼容 5.0 之前的版本,并且支持自动布局。
  7. 《What’s Your Intent?》:Intent 是 Android 中最常用,但也是最容易被我们忽视的。Intent 不仅可以实现 App 的内部通信,并且还提供了与不同 App 间通信的功能,并且互相之间不需要彼此了解。文章深度分析了 Intent 的相关特性,对于 Android 开发者了解程序间通信很有帮助。
  8. 《Material Design 风格的 Instagram》:Material Design 现在应该是最火的话题了,但在生产环境下使用 Material Design 还是非常少,作者准备写一个关于 Material Design App 的系列,目的就是手把手带大家实现一款 Material Design 风格的 Instagram,目前已经更新了两篇文章,并且代码在 GitHub 上开源。

开源项目

  1. J2ObjC:J2ObjC 是谷歌出品的一个开源的命令行工具,允许开发者将 Java 代码转换成适用于 iOS 平台的 Objective-C 代码。这意味着,开发者编写的 Java 代码可以成为 iOS 应用程序的一部分,且无需对生成的文件进行编辑。 该项目的目标是,使开发者基于 Java 编写的非 UI 代码(如数据访问、应用程序逻辑等),可以在 Web 应用(使用 GWT 开发)、Android 应用和 iOS 应用之间共享。 这里是一篇使用教程。但本人认为这类翻译软件不适合用于生产环境。
  2. 老版本的陌陌源码:一个老版本的陌陌源码,大部分为静态页面,可以直接拿来用。
  3. pienoon:pienoon 是运行在 Nexus Player(一款 Android TV 设备)上的开源游戏,并且支持多个人同时玩。该项目是谷歌官方开源的游戏,能够很好的帮助开发者学习、开发 Android TV 上的游戏。
  4. Ultra Pull To Refresh:功能比 SwipeRefreshLayout 还要强大的下拉刷新组件,继承于 ViewGroup,可以包含任何 View。使用起来非常简单,设计良好。如果你想定制自己的 UI 样式也非常简单,就像给 ListView 加一个 Header View 那么简单。还可以实现最近 iOS 上非常火的StoreHouse 风格。

感谢郭蕾对本文的审校。

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

移动AndroidChromeiOS语言 & 开发文化 & 方法