生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

Android 开发周报:Google Play 提供试用功能、MVP 架构设计

  • 2016-03-23
  • 本文字数:2327 字

    阅读完需:约 8 分钟

新闻

  1. 《Android N 内部名称曝光:纽约芝士蛋糕》:谷歌已经放出了 Android N 的第一个开发者预览版,最终名称应该为安卓 7.0,根据惯例谷歌每次都会为新系统取一个甜点的代号,这次的甜点是以 N 打头。而现在最新的消息是,Android N 的内部名称也已曝光,为 New York Cheesecake。
  2. 《安卓又现新漏洞:2.75 亿部设备受影响》:以色列软件研究公司 NorthBit 今日发布报告称,由于 Android 系统的媒体服务器和多媒体库 Stagefright 中存在安全漏洞,上亿部 Android 设备可能会遭到黑客攻击。这并非 Stagefright 首次被发现存在安全漏洞,早在去年 10 月时,就有媒体报道称超过 10 亿部 Android 设备可能会因为 Stagefright 中的一个安全漏洞而被入侵。
  3. 《Google Play 提供应用试用功能》:最初,当你在应用商店搜索一个应用时,只能看到相关的文字介绍和几张应用截图。为了让用户在下载前更好地了解一款应用,2014 年,Google 和苹果应用商店先后推出了视频预览功能,允许开发者在介绍页面放一段 15 到 30 秒的视频,来更好地展示自己的应用。现在,Google 决定更进一步,除了截图和视频,用户可以在下载一款应用前,直接试用 10 分钟。

教程

  1. 《Android MVP 架构中的 Presentation 层应该怎么设计》:本文作者发现,当人们从遗留代码库迁移到 MVP 架构时,会面临部分代码不知道放到 Presentation 层还是 UI 层的问题,甚至作者之前的项目还有人评论说:他不知道某段代码是否属于业务代码。如果连这都不能分清的话,今后在分离代码职责的时候一定会犯错误。本文通过介绍作者对 Presentation 层的设计,来理清这些问题。
  2. 《Android 安全攻防战,反编译与混淆技术完全解析(下)》:Apk 如果没有采取一定的安全处理,很容易反编译。这样就有可能泄漏核心技术,因此一款安全性高的程序最起码要做到的一件事就是:对代码进行混淆。混淆代码并不是让代码无法被反编译,而是将代码中的类、方法、变量等信息进行重命名,把它们改成一些毫无意义的名字。混淆代码可以在不影响程序正常运行的前提下让破解者很头疼,从而大大提升了程序的安全性。本文详细讲解了 Apk 的混淆技术。
  3. 《不要写死!天猫 App 的动态化配置中心实践》:不要写死,一个永恒的话题,这个话题会一直持续下去。而动态性这件事,是移动设备 App 当下最热门的话题。在 PC 时代,我们的系统经历了 C/S 到 B/S 的转换,终于实现了最大程度的动态化。而在无线时代,移动设备有他独特的属性,B/S 模式无法满足无线时代的业务需求,至少当下是这样。那么 Native 动态化这条路,就还需要我们坚定的走下去,这条路的尽头可能是另一个 B/S 模式,也可能我们找到了完美的 Dynamic Wireless C/S 模式。本文详细讲解了手机天猫在配置动态化上的心路历程。
  4. 《dagger2 让你爱不释手 - 基础依赖注入框架篇》:使用依赖注入带来的好处非常明显,比如依赖的注入和配置独立于组件之外。因为对象是在一个独立、不耦合的地方初始化,所以当注入抽象方法的时候,我们只需要修改对象的实现方法,而不用大改代码库。依赖也可以注入到一个组件中:我们可以注入这些依赖的模拟实现,这样使得测试更加简单。dagger2 是一款知名的依赖注入库,本文是一篇介绍 dagger2 基础的文章,有助于我们快速上手 dagger2。
  5. 《Butter Knife 源码解析》:ButterKnife 是一个专注于 Android 系统的 View 注入框架,可以让开发人员从繁琐、臃肿的代码中解脱出来,并且实现这些只需要几行代码。ButterKnife 能够提供的注解类型太多了,本文以解析 @Bind 注解为例,为我们介绍了 Butter Knife 的实现原理。
  6. 《大型项目 Gradle 的常用库和版本管理》:随着 Android 开发的成熟,模块越来越多,引入库也随之增加, 需要统一管理这些库和版本号。 根据自己的开发经验, 本文介绍使用 Gradle 参数配置实现库的规范管理。
  7. 《一种快速毛玻璃虚化效果实现》:在 iOS 设备上我们随处可见毛玻璃效果,恰到好处的虚化效果能很好的改善用户体验,能让 App 显得更加优雅。但目前在 Android 上很少见到毛玻璃效果,作者认为一个重要的原因是性能问题,虚化一张图片所需要的时间会因设备而异,如果为了虚化使得用户需要刻意等待,那么就是弊大于利。而本文为我们介绍了一种快速、高效的毛玻璃实现方法。
  8. 《天猫 App A/B 测试实践》:对于目前 Native 这种开发环境下,每一个产品决策会变得异常谨慎,因为一个错误的决策要持续整个版本周期才可能被修复。所以具备快速验证和及时修正这两个能力就显得非常重要,打造这样的能力需要一个完整的解决方案。天猫的团队认为这个方案是一个以 A/B 测试为核心,结合周边多个系统能力,共同组成的一个试错平台。在这个平台上,团队中不管是业务方还是工程师,都可以快速应变,不畏惧出错,变得灵动起来。本文为我们解析了天猫团队的 A/B 测试实践。
  9. 《Android 界面性能调优手册》:界面是 Android 应用中直接影响用户体验最关键的部分。如果代码实现得不好,界面容易发生卡顿且导致应用占用大量内存。本文是一篇界面性能优化的高质量文章,作者结合自己的实践经验,讲解了渲染知识、检测及调试技巧等。并且给出了实用的界面优化建议。

开源项目

  1. BottomBar :这是一具 Material Design 风格的底部切换控件。
  2. NodeFlow :NodeFlow 提供了一个简单的方法来可视化多级内容,能够完美显示项目中的分类 / 子类。
  3. RxJavaApp :RxJavaApp 是一个用于学习 RxJava 操作符的完整项目,该项目有助于开发者快速上手 RxJava。
  4. CoCoin :CoCoin 是一款多视图记账 APP,功能比较全面,涉及到报表绘制、界面自定义等多个知识点。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-03-23 19:004222
用户头像

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

关注

评论

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

(2-1/26) 滑雪的准备

mtfelix

300天创作

MySQL架构设计

JavaEdge

2月月更

Netflix是如何做决策的? | 1. Netflix的决策制定

俞凡

数据分析 netflix 大厂实践 2月月更

Spotify系统架构

俞凡

架构 大厂实践 2月月更 spotify

聊聊API安全的重要性及治理思路

陈俊

安全 API 应用架构

【拥有新时代的通信协议,引领云原生迈向更高的舞台】解密Dubbo3从微服务升华到云原生 | 社区征文

洛神灬殇

云原生 Cloud Native Dubbo3 新春征文 2月月更

ReactNative进阶(四十八):Mobile App 适配性优化实战

No Silver Bullet

适配 ReactNative 2月月更

精度丢失问题

编程三昧

2月月更

以太坊剖析 - 区块(Block)

起航

区块链 以太坊

【技术】谈ServiceMesh落地的三大难题:选型、过渡、多集群

极光一号。

云原生 servicemesh 服务网格 应用交付

微服务架构实践原则

俞凡

架构 微服务

WebRTC 如何在安卓系统上采集视频数据 | 社区征文

liuzhen007

音视频 新春征文 2月月更

再解 JavaScript 原型 与原型链

编程三昧

JavaScript 前端 原型 原型链 2月月更

ReactNative进阶(五十):IOS 系统 Crash 日志分析实战

No Silver Bullet

ios React Native 2月月更

ReactNative进阶(五十一): 常见样式梳理

No Silver Bullet

CSS ReactNative 2月月更

JVM进阶(一):初识 JAVA 栈

No Silver Bullet

Java JVM 2月月更

《卡片笔记写作法》读书笔记 - 重新认知思考和写作

懒时小窝

读书感悟 读书总结

【以太坊剖析】以太坊虚拟机(EVM)之基本定义

起航

区块链 以太坊 EVM 以太坊虚拟机

ReactNative进阶(四十五):渐变组件 react-native-linear-gradient

No Silver Bullet

React Native 2月月更

怎样设计一个广告系统

俞凡

架构 大厂实践 2月月更

使用 React、Solidity 和 Web3.js 构建真实世界的 dApp

devpoint

dapp React Solidity Web3.0 2月月更

也谈一下Web3.0-01

wood

300天创作 Web3.0

以太坊剖析 - 交易收据(TransactionReceipt)

起航

区块链 以太坊

ReactNative进阶(四十七):移动端调试利器 vConsole

No Silver Bullet

ReactNative 2月月更 vconsole

以太坊剖析 - 区块头部(BlockHeader)

起航

区块链 以太坊

微信朋友圈高性能复杂度分析

唐尤华

架构实战营

浅析 Python 中的 Collections 模块

宇宙之一粟

Python 2月月更

Firefox 登录后无法同步书签

TroyLiu

firefox 工具 浏览器 数据同步 书签

以太坊剖析 - 交易执行(TransactionExecutor)

起航

区块链 以太坊

原型与原型链

编程三昧

JavaScript 前端 1月月更

JDK9响应式流使用详解

蜜糖的代码注释

Java Java9 2月月更 响应式流

Android开发周报:Google Play提供试用功能、MVP架构设计_移动_郭亮_InfoQ精选文章