新闻
- 《安卓 7.0 首批截图公布:惊现汉堡菜单》:2 月 26 日消息,谷歌在开发者页面公布了首批 Android N(安卓 7.0)截图,从截图中能够了解到的一点是安卓 7.0 设置界面中会添加汉堡式菜单,但并不清楚是否汉堡菜单会贯穿全系统。当然,最终这个特性会不会出现在安卓 7.0 中也不能确定。另外还有消息称,安卓 7.0 将取消应用抽屉。
- 《微软正式宣布移植 Android 应用计划流产》:2 月 26 日上午,微软今天宣布将停止为开发者提供 Android 应用导入工具,意味着他们无法借助微软提供的官方工具轻易将 Android 应用导入 Windows 10。微软最早在去年的 Build 开发者大会上宣布了这个名为 Project Astoria 的项目,同时还发布了一项类似的计划,可以在 iOS 与 Windows 之间建立所谓的“桥”,而且可以帮助开发者将旧版 Windows 软件和 Web 软件迁移到新版 Windows 10 系统。
- 《2015 年 Android 恶意软件样本数量超 230 万》:据德国网络安全公司 G DATA 最新公布的一份调查报告显示,2015 年,Android 恶意软件样本数量达到了 2,333,777 个,形象的来描述就是差不多每隔 11 秒就会出现一个新的 Adnroid 恶意软件样本。该数值同比 2014 年增长了 50%。而在 2015 年第四季度,新出现的 Android 恶意软件文件数量达到 758,133 个,同比 14 年第四季度增长了 32%。
教程
- 《ReactNative For Android 项目实战总结》:本文由 QQ 空间终端开发团队出品。Android Qzone 6.1 版本在情侣空间涉水 React Native,以动态插件方式将情侣空间进行 React Natived 的改造。在情侣空间基础上,Android Qzone 6.2 版本以融合的方式将话题圈进行 React Native 改造。本文主要讲述话题圈的开发改造流程、相关数据对比及性能优化,本次改造 React Native 基于 15Release。
- 《Android:我为何要封装 DialogFragment?》:Dialog 在实际使用中会存在一些问题,比如在手机配置发生变化后(比如屏幕旋屏),无法恢复 Dialog 的状态。DialogFragment 是在 Android3.0 被引入的,从其名字可以很直观的看出它是一种基于 Fragment 的 Dialog,可以用来创建对话框,DialogFragment 是用来替代 Dialog 的。本文作者解释了为什么抛弃 Dialog 而使用 DialogFragment,并且详解了对 DialogFragment 的封装过程。
- 《Facebook 如何采集其 Android 应用性能数据》:Facebook 一直致力于不断提高 Android 应用的运行速度。虽然他们内部已经有类似 CTScan 这样的性能跟踪系统,但 Android 的碎片化使他们无法在实验室中测试每一种可能。因此,他们希望通过遥测技术从人们真实使用的 Android 手机中收集性能信息来补充测试数据。本文介绍了 Facebook 的插桩方法,他们在考察了 Android 内建的 Debug 以及另一些方法后,选择了字节码重写技术,避免了手工插桩的劳动,且性能损失降到最低。
- 《Android 开发必备知识:为什么说Kotlin 值得一试》: Kotlin 是一门与 Swift 类似的静态类型 JVM 语言,由 JetBrains 设计开发并开源。与 Java 相比,Kotlin 的语法更简洁、更具表达性,而且提供了更多的特性。用 Kotlin 替代 Java 开发你的程序,无论是 Android 还是 Server,你都能像之前写 Java 一样思考,同时又能享受到新一代编程语言的特性。其实经过一年多的发展,Kotlin 1.0 已经 release,feature 基本完善,api 也趋于稳定,或许你可以尝试使用 Kotlin 来开发 App 了。
- 《Android Support Library 23.2 介绍》:当我们说起 Android Support Library 时,必须清楚的认识到这不仅仅只是一个库,而是一个能对 API 向后兼容的,提供独特的功能而不需要最新平台(plathform)支持的 库的集合。23.2 版本在许多现有库的基础上增加一些新的支持以及功能。本文是对该库的一个简单介绍,有助于我们更加了解该库的新特性。
- 《最详细的 Toolbar 开发实践总结》:Toolbar 是在 Android 5.0 开始推出的一个 Material Design 风格的导航控件,Google 强烈推荐大家使用 Toolbar 来作为 Android 客户端的导航栏,以此来取代之前的 Actionbar。与 Actionbar 相比,Toolbar 明显要灵活的多。它不像 Actionbar 一样,一定要固定在 Activity 的顶部,而是可以放到界面的任意位置。除此之外,在设计 Toolbar 的时候,Google 也留给了开发者很多可定制修改的余地,这些可定制修改的属性在 API 文档中都有详细介绍。本文详细讲解了 Toolbar 的使用方法,能够帮助我们快速上手 Toolbar。
- 《在Android 应用中使用Clean 架构》: Clean 是一个开源的 Android 架构。写一个好的 App 是很复杂的,不仅要满足产品需求,还要健壮、好维护、好测试并且容易扩展和修改。这便是 The Clean Architecture 出现的原因。本文详细的介绍了 Clean 的使用方法,结合代码讲解了如何在 Android 应用中使用 Clean 架构。这里是英文原文。
- 《Android 插件化原理解析——Hook 机制之 Binder Hook》:Android 系统通过 Binder 机制给应用程序提供了一系列的系统服务,诸如 ActivityManagerService,ClipboardManager, AudioManager 等;这些广泛存在系统服务给应用程序提供了诸如任务管理,音频,视频等异常强大的功能。插件框架作为各个插件的管理者,为了使得插件能够无缝地使用这些系统服务,自然会对这些系统服务做出一定的改造 (Hook),使得插件的开发和使用更加方便,从而大大降低插件的开发和维护成本。我们把这种 Hook 系统服务的机制称之为 Binder Hook。本文对 Binder Hook 进行了详解,对于我们了解插件化原理大有帮助。这里是作者另外一篇介绍插件化原理的文章。
- 《开发一流的 Android SDK:Fabric SDK 的创建经验》:Twitter 的 Fabric 是知名的注重质量的 SDK,并已部署在数十亿的设备。来自 Twitter 的 Ty Smith,揭示了 Fabric 团队创建 Fabric 的各种原则,特别是在 Android 方面。通过深入参与技术决策团队,Ty 了解到很多信息,他展示了团队在创建这个 SDK 过程中学到的各种经验心得,关于稳定性、性能、SDK 体积控制、以及对于一些特殊情况的处理这些方面。无论你现在或将来想要建设一个 SDK,通过本文(文中附视频)你将收益很多关于设计 SDK 的伟大想法。
开源项目
- Douya :Douya 是一款开源的豆瓣客户端,项目采用了 Material Design 的设计风格。
- SwipeCardView :SwipeCardView 是一个带渐变层叠动画的左右滑动效果(类似于探探左右刷脸效果)。
- CoolAndroidAnim :一个酷炫的 android loading 效果,作者的想法来源于 nexus6.0 系统的开机动画,也是对于它的一个模仿:从四个小球的 不同的组合动画演变成 loading 字样的效果。
调查报告
- 《Google Play 榜单 APP 冷启动速度分析报告》:作者通过对 Google Play 商店中排名前 100 名 APP 的启动速度进行测量,得出了这份 Google Play 榜单 APP 冷启动速度分析报告。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论