写点什么

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

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

关注

评论

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

原生APP的性能优化

北京木奇移动技术有限公司

软件外包公司 原生APP开发 APP开发公司

一款体验故障定位的神器

乒乓狂魔

故障定位 AIOPS 可观测

工作中最常用的 8 种设计模式

不在线第一只蜗牛

设计模式

Fabric8 Kubernetes 教程——Replication、ConfigMap、Secret

FunTester

三分钟掌握音频提取 | 在 Rust 中优雅地处理视频音频

Yeauty

rust ffmpeg Video media audio

YashanDB计划管理

YashanDB

数据库 yashandb

Windows 10 version 22H2 中文版、英文版下载 (2025 年 3 月更新)

sysin

windows

企业分公司异地组网难题怎么解决?

Ogcloud

企业组网 异地组网

vivo 湖仓架构的性能提升之旅

StarRocks

SQL优化 presto 兼容性测试 StarRocks 物化视图

GIMP 3.0.0 (Linux, macOS, Windows) 正式版发布 - 免费开源图像编辑器

sysin

GIMP

混合APP上线时需要的问题

北京木奇移动技术有限公司

软件外包公司 APP开发公司

YashanDB备份

YashanDB

数据库 yashandb

PureBasic 6.20 (macOS, Linux, Windows) - 现代的 BASIC 编程语言及 IDE

sysin

PureBasic

Windows Server 2022 中文版、英文版下载 (2025 年 3 月更新)

sysin

windows

Windows Server 2025 中文版、英文版下载 (2025 年 3 月更新)

sysin

windows

YashanDB恢复

YashanDB

数据库 yashandb

Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)

sysin

windows

代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践

阿里云云效

阿里云 云原生 通义灵码

YashanDB SQL命令备份恢复

YashanDB

数据库 yashandb

使用外部事件检测接入 CDH 大数据管理平台告警

观测云

告警策略

原生APP和混合APP开发的对比

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践

阿里巴巴云原生

阿里云 云原生 通义灵码

时序数据库 IoTDB 常见问题 Q&A 第六期

Apache IoTDB

SvelteKit 最新中文文档教程(8)—— 部署 Node 服务端

冴羽

vue.js 前端 React Svelte SvelteKit

StarRocks 与主流 BI 工具兼容性盘点(Superset/帆软/QuickBI/Tableau)

镜舟科技

MySQL OLAP BI 分析型数据库 StarRocks

Windows 11 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)

sysin

windows

YashanDB yex_server沙箱进程管理

YashanDB

数据库 yashandb

YashanDB备份恢复

YashanDB

数据库 yashandb

原生APP开发的优势和特点

北京木奇移动技术有限公司

原生APP 软件外包公司 APP外包公司

昇腾支持150+企业上线DeepSeek模型及服务,昇腾人工智能伙伴峰会顺利召开

极客天地

Netty源码—Reactor线程模型二

不在线第一只蜗牛

Java 数据库 Linux

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