写点什么

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:004346
用户头像

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

关注

评论

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

Dubbo框架学习笔记七

风翱

dubbo 12月日更

【架构实战营】模块七

衣谷

架构实战营

怎么活的超脱:把自己的生活看成一场戏

mtfelix

28天写作

20《重学JAVA》--集合(二)

杨鹏Geek

Java25周年 28天写作 12月日更

面试官:HashSet如何保证元素不重复?

王磊

【LeetCode】一年中的第几天Java题解

Albert

算法 LeetCode 12月日更

Python 自动化领域起点篇,Selenium WebDriver 学习第1篇

梦想橡皮擦

12月日更

Flutter开发小技巧【Flutter专题23】

坚果

flutter 28天写作 12月日更

NGINX从入门到实践-基础篇

小志Codings

nginx Python3

vivo:不做开发者的过客,变成IoT的归人

脑极体

元宇宙100讲-0x007

hackstoic

元宇宙

【CSS 学习总结】目录 - CSS 知识点梳理

Brave

CSS 12月日更

50 K8S之Contour控制器

穿过生命散发芬芳

k8s 28天写作 12月日更

什么是VLAN?如何配置?VLAN间路由又是怎样的?一文了解!

Ethereal

VLAN 网络技术

如何用Docker Compose部署项目?

秦怀杂货店

Docker springboot

DDD领域驱动设计实战(三)-深入理解实体

JavaEdge

12月日更

Istio的认证授权机制分析

xcbeyond

istio 认证授权 28天写作 12月日更

[Pulsar] Consumer消费

Zike Yang

Apache Pulsar 12月日更

开始了解DevSecOps 1

搬砖的周狮傅

DevSecOps

念叨了一年的游戏叙事书中文版终于出了!

博文视点Broadview

语音信号处理 4:语音信号在时域和频域的表示

轻口味

28天写作 12月日更

Kvrocks 在 RocksDB 上的优化实践

Kvrocks

Redis 协议

React进阶(十一):create-react-app脚手架关闭 eslint 提醒

No Silver Bullet

React 12月日更 creat-react-app

synchronized源码分析之锁的膨胀

Ayue、

synchronized 锁机制 锁升级

React进阶(十二):HOOK

No Silver Bullet

React Hooks 12月日更

dart系列之:手写Library,Library编写最佳实践

程序那些事

flutter dart 程序那些事 12月日更

花一点时间优化一次年迈的后台系统的检索体验

为自己带盐

28天写作 12月日更 ​jQuery

解决:Command ‘mongo‘ not found, but can be installed with

liuzhen007

28天写作 12月日更

【架构实战营】模块八

衣谷

架构实战营

如何实现Redis限流

喵叔

28天写作 12月日更

Android EventBus 集成问题小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

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