点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

Android 开发周报:Android7.0 截图公布、插件化原理解析

  • 2016-02-29
  • 本文字数:2841 字

    阅读完需:约 9 分钟

新闻

  1. 《安卓 7.0 首批截图公布:惊现汉堡菜单》:2 月 26 日消息,谷歌在开发者页面公布了首批 Android N(安卓 7.0)截图,从截图中能够了解到的一点是安卓 7.0 设置界面中会添加汉堡式菜单,但并不清楚是否汉堡菜单会贯穿全系统。当然,最终这个特性会不会出现在安卓 7.0 中也不能确定。另外还有消息称,安卓 7.0 将取消应用抽屉。
  2. 《微软正式宣布移植 Android 应用计划流产》:2 月 26 日上午,微软今天宣布将停止为开发者提供 Android 应用导入工具,意味着他们无法借助微软提供的官方工具轻易将 Android 应用导入 Windows 10。微软最早在去年的 Build 开发者大会上宣布了这个名为 Project Astoria 的项目,同时还发布了一项类似的计划,可以在 iOS 与 Windows 之间建立所谓的“桥”,而且可以帮助开发者将旧版 Windows 软件和 Web 软件迁移到新版 Windows 10 系统。
  3. 《2015 年 Android 恶意软件样本数量超 230 万》:据德国网络安全公司 G DATA 最新公布的一份调查报告显示,2015 年,Android 恶意软件样本数量达到了 2,333,777 个,形象的来描述就是差不多每隔 11 秒就会出现一个新的 Adnroid 恶意软件样本。该数值同比 2014 年增长了 50%。而在 2015 年第四季度,新出现的 Android 恶意软件文件数量达到 758,133 个,同比 14 年第四季度增长了 32%。

教程

  1. 《ReactNative For Android 项目实战总结》:本文由 QQ 空间终端开发团队出品。Android Qzone 6.1 版本在情侣空间涉水 React Native,以动态插件方式将情侣空间进行 React Natived 的改造。在情侣空间基础上,Android Qzone 6.2 版本以融合的方式将话题圈进行 React Native 改造。本文主要讲述话题圈的开发改造流程、相关数据对比及性能优化,本次改造 React Native 基于 15Release。
  2. 《Android:我为何要封装 DialogFragment?》:Dialog 在实际使用中会存在一些问题,比如在手机配置发生变化后(比如屏幕旋屏),无法恢复 Dialog 的状态。DialogFragment 是在 Android3.0 被引入的,从其名字可以很直观的看出它是一种基于 Fragment 的 Dialog,可以用来创建对话框,DialogFragment 是用来替代 Dialog 的。本文作者解释了为什么抛弃 Dialog 而使用 DialogFragment,并且详解了对 DialogFragment 的封装过程。
  3. 《Facebook 如何采集其 Android 应用性能数据》:Facebook 一直致力于不断提高 Android 应用的运行速度。虽然他们内部已经有类似 CTScan 这样的性能跟踪系统,但 Android 的碎片化使他们无法在实验室中测试每一种可能。因此,他们希望通过遥测技术从人们真实使用的 Android 手机中收集性能信息来补充测试数据。本文介绍了 Facebook 的插桩方法,他们在考察了 Android 内建的 Debug 以及另一些方法后,选择了字节码重写技术,避免了手工插桩的劳动,且性能损失降到最低。
  4. 《Android 开发必备知识:为什么说Kotlin 值得一试》 Kotlin 是一门与 Swift 类似的静态类型 JVM 语言,由 JetBrains 设计开发并开源。与 Java 相比,Kotlin 的语法更简洁、更具表达性,而且提供了更多的特性。用 Kotlin 替代 Java 开发你的程序,无论是 Android 还是 Server,你都能像之前写 Java 一样思考,同时又能享受到新一代编程语言的特性。其实经过一年多的发展,Kotlin 1.0 已经 release,feature 基本完善,api 也趋于稳定,或许你可以尝试使用 Kotlin 来开发 App 了。
  5. 《Android Support Library 23.2 介绍》:当我们说起 Android Support Library 时,必须清楚的认识到这不仅仅只是一个库,而是一个能对 API 向后兼容的,提供独特的功能而不需要最新平台(plathform)支持的 库的集合。23.2 版本在许多现有库的基础上增加一些新的支持以及功能。本文是对该库的一个简单介绍,有助于我们更加了解该库的新特性。
  6. 《最详细的 Toolbar 开发实践总结》:Toolbar 是在 Android 5.0 开始推出的一个 Material Design 风格的导航控件,Google 强烈推荐大家使用 Toolbar 来作为 Android 客户端的导航栏,以此来取代之前的 Actionbar。与 Actionbar 相比,Toolbar 明显要灵活的多。它不像 Actionbar 一样,一定要固定在 Activity 的顶部,而是可以放到界面的任意位置。除此之外,在设计 Toolbar 的时候,Google 也留给了开发者很多可定制修改的余地,这些可定制修改的属性在 API 文档中都有详细介绍。本文详细讲解了 Toolbar 的使用方法,能够帮助我们快速上手 Toolbar。
  7. 《在Android 应用中使用Clean 架构》 Clean 是一个开源的 Android 架构。写一个好的 App 是很复杂的,不仅要满足产品需求,还要健壮、好维护、好测试并且容易扩展和修改。这便是 The Clean Architecture 出现的原因。本文详细的介绍了 Clean 的使用方法,结合代码讲解了如何在 Android 应用中使用 Clean 架构。这里是英文原文。
  8. 《Android 插件化原理解析——Hook 机制之 Binder Hook》:Android 系统通过 Binder 机制给应用程序提供了一系列的系统服务,诸如 ActivityManagerService,ClipboardManager, AudioManager 等;这些广泛存在系统服务给应用程序提供了诸如任务管理,音频,视频等异常强大的功能。插件框架作为各个插件的管理者,为了使得插件能够无缝地使用这些系统服务,自然会对这些系统服务做出一定的改造 (Hook),使得插件的开发和使用更加方便,从而大大降低插件的开发和维护成本。我们把这种 Hook 系统服务的机制称之为 Binder Hook。本文对 Binder Hook 进行了详解,对于我们了解插件化原理大有帮助。这里是作者另外一篇介绍插件化原理的文章。
  9. 《开发一流的 Android SDK:Fabric SDK 的创建经验》:Twitter 的 Fabric 是知名的注重质量的 SDK,并已部署在数十亿的设备。来自 Twitter 的 Ty Smith,揭示了 Fabric 团队创建 Fabric 的各种原则,特别是在 Android 方面。通过深入参与技术决策团队,Ty 了解到很多信息,他展示了团队在创建这个 SDK 过程中学到的各种经验心得,关于稳定性、性能、SDK 体积控制、以及对于一些特殊情况的处理这些方面。无论你现在或将来想要建设一个 SDK,通过本文(文中附视频)你将收益很多关于设计 SDK 的伟大想法。

开源项目

  1. Douya :Douya 是一款开源的豆瓣客户端,项目采用了 Material Design 的设计风格。
  2. SwipeCardView :SwipeCardView 是一个带渐变层叠动画的左右滑动效果(类似于探探左右刷脸效果)。
  3. CoolAndroidAnim :一个酷炫的 android loading 效果,作者的想法来源于 nexus6.0 系统的开机动画,也是对于它的一个模仿:从四个小球的 不同的组合动画演变成 loading 字样的效果。

调查报告

  1. 《Google Play 榜单 APP 冷启动速度分析报告》:作者通过对 Google Play 商店中排名前 100 名 APP 的启动速度进行测量,得出了这份 Google Play 榜单 APP 冷启动速度分析报告。

感谢徐川对本文的审校。

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

2016-02-29 18:006330
用户头像

发布了 121 篇内容, 共 39.8 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

产品经理,项目经理,FTO

laofo

DevOps cicd 敏捷开发 研发效能 持续交付

python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(优化版)

虫无涯

Python 单元测试 自动化测试 unittest 测试框架

春季3月 · CSM认证周末班【提前报名特惠】“全球金牌课程”CST导师亲授

ShineScrum捷行

ScrumMaster CSM

2023年:我成了半个外包

知了一笑

Java 架构

基于selenium的UI自动化实践

虫无涯

Python 自动化测试 selenium

Jmeter安装配置详细教程

虫无涯

Jmeter 性能测试 接口测试

Flink CDC+Kafka 加速业务实时化

Apache Flink

大数据 flink 实时计算

2023 最新 Java 中高级1000道面试题目汇总解答

架构师之道

java面试

一文读透react精髓

xiaofeng

前端 React

fastposter v2.12.0 ChatGPT都推荐的海报生成器

物有本末

fastposter 海报生成器 海报生成

Selenium启动IE11常见问题解决方法

虫无涯

自动化测试 selenium IE

一文详解 Netty 组件

京东科技开发者

Java 架构 Netty nio 企业号 2 月 PK 榜

开发一款wordpress插件并发布到官方插件库完全指南,小白也可以

咖啡教室

Pycharm+PyQt5+Python3.5开发环境配置(详细教程)

虫无涯

Python pycharm 环境安装 PyQt PyQt5

BSN-DDC基础网络详解(三):注册门户账号和业务开通(2)

BSN研习社

BSN-DDC

字节前端二面高频vue面试题整理

yyds2026

Vue 前端

那些高级前端是如何回答面试题的

Geek_02d948

JavaScript 前端

CDR2023新功能抢先看

茶色酒

cdr2023

手把手教你为基于Netty的IM生成自签名SSL/TLS证书

JackJiang

送走跌宕起伏的2022,迎接拨云睹日的2023

三掌柜

2023年关于身份安全的4 个预测

HummerCloud

JS词法环境和执行上下文

hellocoder2029

JavaScript 前端

中移链结合CA证书实现节点准入控制

BSN研习社

Corel VideoStudio会声会影2023中文语言版本

茶色酒

会声会影2023

秒懂算法 | 基于朴素贝叶斯算法的垃圾信息的识别

TiAmo

机器学习 算法 过滤算法

集度汽车 Flink on native k8s 的应用与实践

Apache Flink

大数据 flink 实时计算

Vue模板是怎样编译的

yyds2026

Vue 前端

使用一个文件集中管理你的 Nuget 依赖版本号

newbe36524

C# Docker Kubernetes

Node.js实现大文件断点续传

coder2028

JavaScript 前端

前端一面必会面试题(边面边更)

coder2028

JavaScript 前端

春季3月 · CSPO认证周末班【提前报名特惠】“价值交付课程” | 全国招生

ShineScrum捷行

产品经理 PO Product Owner 产品负责人 产品愿景

Android开发周报:Android7.0截图公布、插件化原理解析_移动_郭亮_InfoQ精选文章